Merge branch 'MK3' into PFW-943
This commit is contained in:
commit
6e2793566c
|
|
@ -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.0"
|
||||
#define FW_COMMIT_NR 2684
|
||||
#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;
|
||||
|
|
@ -376,6 +373,10 @@ extern char dir_names[3][9];
|
|||
extern int8_t lcd_change_fil_state;
|
||||
// save/restore printing
|
||||
extern bool saved_printing;
|
||||
extern uint8_t saved_printing_type;
|
||||
#define PRINTING_TYPE_SD 0
|
||||
#define PRINTING_TYPE_USB 1
|
||||
#define PRINTING_TYPE_NONE 2
|
||||
|
||||
//save/restore printing in case that mmu is not responding
|
||||
extern bool mmu_print_saved;
|
||||
|
|
@ -391,8 +392,6 @@ extern uint16_t print_time_remaining_silent;
|
|||
extern uint16_t mcode_in_progress;
|
||||
extern uint16_t gcode_in_progress;
|
||||
|
||||
extern bool wizard_active; //autoload temporarily disabled during wizard
|
||||
|
||||
extern LongTimer safetyTimer;
|
||||
|
||||
#define PRINT_PERCENT_DONE_INIT 0xff
|
||||
|
|
@ -425,8 +424,6 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
|||
void bed_check(float x_dimension, float y_dimension, int x_points_num, int y_points_num, float shift_x, float shift_y);
|
||||
#endif //HEATBED_ANALYSIS
|
||||
float temp_comp_interpolation(float temperature);
|
||||
void temp_compensation_apply();
|
||||
void temp_compensation_start();
|
||||
void show_fw_version_warnings();
|
||||
uint8_t check_printer_version();
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -142,10 +142,6 @@
|
|||
//Macro for print fan speed
|
||||
#define FAN_PULSE_WIDTH_LIMIT ((fanSpeed > 100) ? 3 : 4) //time in ms
|
||||
|
||||
#define PRINTING_TYPE_SD 0
|
||||
#define PRINTING_TYPE_USB 1
|
||||
#define PRINTING_TYPE_NONE 2
|
||||
|
||||
//filament types
|
||||
#define FILAMENT_DEFAULT 0
|
||||
#define FILAMENT_FLEX 1
|
||||
|
|
@ -323,8 +319,6 @@ uint16_t print_time_remaining_normal = PRINT_TIME_REMAINING_INIT; //estimated re
|
|||
uint8_t print_percent_done_silent = PRINT_PERCENT_DONE_INIT;
|
||||
uint16_t print_time_remaining_silent = PRINT_TIME_REMAINING_INIT; //estimated remaining print time in minutes
|
||||
|
||||
bool wizard_active = false; //autoload temporarily disabled during wizard
|
||||
|
||||
//===========================================================================
|
||||
//=============================Private Variables=============================
|
||||
//===========================================================================
|
||||
|
|
@ -365,7 +359,6 @@ bool Stopped=false;
|
|||
Servo servos[NUM_SERVOS];
|
||||
#endif
|
||||
|
||||
bool CooldownNoWait = true;
|
||||
bool target_direction;
|
||||
|
||||
//Insert variables if CHDK is defined
|
||||
|
|
@ -378,7 +371,7 @@ boolean chdkActive = false;
|
|||
//! @{
|
||||
bool saved_printing = false; //!< Print is paused and saved in RAM
|
||||
static uint32_t saved_sdpos = 0; //!< SD card position, or line number in case of USB printing
|
||||
static uint8_t saved_printing_type = PRINTING_TYPE_SD;
|
||||
uint8_t saved_printing_type = PRINTING_TYPE_SD;
|
||||
static float saved_pos[4] = { 0, 0, 0, 0 };
|
||||
//! Feedrate hopefully derived from an active block of the planner at the time the print has been canceled, in mm/min.
|
||||
static float saved_feedrate2 = 0;
|
||||
|
|
@ -400,6 +393,9 @@ static bool setTargetedHotend(int code, uint8_t &extruder);
|
|||
static void print_time_remaining_init();
|
||||
static void wait_for_heater(long codenum, uint8_t extruder);
|
||||
static void gcode_G28(bool home_x_axis, bool home_y_axis, bool home_z_axis);
|
||||
static void temp_compensation_start();
|
||||
static void temp_compensation_apply();
|
||||
|
||||
|
||||
uint16_t gcode_in_progress = 0;
|
||||
uint16_t mcode_in_progress = 0;
|
||||
|
|
@ -623,7 +619,7 @@ void crashdet_cancel()
|
|||
if (saved_printing_type == PRINTING_TYPE_SD) {
|
||||
lcd_print_stop();
|
||||
}else if(saved_printing_type == PRINTING_TYPE_USB){
|
||||
SERIAL_ECHOLNPGM("// action:cancel"); //for Octoprint: works the same as clicking "Abort" button in Octoprint GUI
|
||||
SERIAL_ECHOLNRPGM(MSG_OCTOPRINT_CANCEL); //for Octoprint: works the same as clicking "Abort" button in Octoprint GUI
|
||||
SERIAL_PROTOCOLLNRPGM(MSG_OK);
|
||||
}
|
||||
}
|
||||
|
|
@ -1238,6 +1234,21 @@ void setup()
|
|||
plan_init(); // Initialize planner;
|
||||
|
||||
factory_reset();
|
||||
if (eeprom_read_dword((uint32_t*)(EEPROM_TOP - 4)) == 0x0ffffffff &&
|
||||
eeprom_read_dword((uint32_t*)(EEPROM_TOP - 8)) == 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_update_byte((uint8_t*)EEPROM_SILENT, SILENT_MODE_OFF);
|
||||
#ifdef TMC2130
|
||||
tmc2130_mode = TMC2130_MODE_NORMAL;
|
||||
#endif //TMC2130
|
||||
eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); //run wizard
|
||||
}
|
||||
|
||||
lcd_encoder_diff=0;
|
||||
|
||||
#ifdef TMC2130
|
||||
|
|
@ -1349,20 +1360,6 @@ void setup()
|
|||
// Enable Toshiba FlashAir SD card / WiFi enahanced card.
|
||||
card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1);
|
||||
|
||||
if (eeprom_read_dword((uint32_t*)(EEPROM_TOP - 4)) == 0x0ffffffff &&
|
||||
eeprom_read_dword((uint32_t*)(EEPROM_TOP - 8)) == 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.
|
||||
#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
|
||||
}
|
||||
|
||||
// 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();
|
||||
|
|
@ -1527,7 +1524,7 @@ void setup()
|
|||
calibration_status() == CALIBRATION_STATUS_UNKNOWN ||
|
||||
calibration_status() == CALIBRATION_STATUS_XYZ_CALIBRATION) {
|
||||
// Reset the babystepping values, so the printer will not move the Z axis up when the babystepping is enabled.
|
||||
eeprom_update_word((uint16_t*)EEPROM_BABYSTEP_Z, 0);
|
||||
eeprom_update_word(reinterpret_cast<uint16_t *>(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0);
|
||||
// Show the message.
|
||||
lcd_show_fullscreen_message_and_wait_P(_T(MSG_FOLLOW_CALIBRATION_FLOW));
|
||||
}
|
||||
|
|
@ -1751,12 +1748,25 @@ void loop()
|
|||
{
|
||||
is_usb_printing = false;
|
||||
}
|
||||
if (isPrintPaused && saved_printing_type == PRINTING_TYPE_USB) //keep believing that usb is being printed. Prevents accessing dangerous menus while pausing.
|
||||
{
|
||||
is_usb_printing = true;
|
||||
}
|
||||
|
||||
#ifdef FANCHECK
|
||||
if (fan_check_error && isPrintPaused)
|
||||
{
|
||||
KEEPALIVE_STATE(PAUSED_FOR_USER);
|
||||
host_keepalive(); //prevent timeouts since usb processing is disabled until print is resumed. This is for a crude way of pausing a print on all hosts.
|
||||
}
|
||||
#endif
|
||||
|
||||
if (prusa_sd_card_upload)
|
||||
{
|
||||
//we read byte-by byte
|
||||
serial_read_stream();
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
get_command();
|
||||
|
|
@ -2094,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()
|
||||
{
|
||||
|
|
@ -2423,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) {
|
||||
|
|
@ -2471,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
|
||||
|
|
@ -2584,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()");
|
||||
|
|
@ -2694,6 +2746,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon
|
|||
previous_millis_cmd = _millis();
|
||||
endstops_hit_on_purpose();
|
||||
#ifndef MESH_BED_LEVELING
|
||||
//-// Oct 2019 :: this part of code is (from) now probably un-compilable
|
||||
// If MESH_BED_LEVELING is not active, then it is the original Prusa i3.
|
||||
// Offer the user to load the baby step value, which has been adjusted at the previous print session.
|
||||
if(card.sdprinting && eeprom_read_word((uint16_t *)EEPROM_BABYSTEP_Z))
|
||||
|
|
@ -2886,7 +2939,7 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level)
|
|||
{
|
||||
// Reset the baby step value and the baby step applied flag.
|
||||
calibration_status_store(CALIBRATION_STATUS_XYZ_CALIBRATION);
|
||||
eeprom_update_word((uint16_t*)EEPROM_BABYSTEP_Z, 0);
|
||||
eeprom_update_word(reinterpret_cast<uint16_t *>(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0);
|
||||
// Complete XYZ calibration.
|
||||
uint8_t point_too_far_mask = 0;
|
||||
BedSkewOffsetDetectionResultType result = find_bed_offset_and_skew(verbosity_level, point_too_far_mask);
|
||||
|
|
@ -3129,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"));
|
||||
|
|
@ -3166,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
|
||||
|
||||
|
|
@ -3450,22 +3494,16 @@ extern uint8_t st_backlash_y;
|
|||
|
||||
void process_commands()
|
||||
{
|
||||
#ifdef FANCHECK
|
||||
if (fan_check_error){
|
||||
if( fan_check_error == EFCE_DETECTED ){
|
||||
fan_check_error = EFCE_REPORTED;
|
||||
|
||||
if(is_usb_printing){
|
||||
SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSE);
|
||||
}
|
||||
else{
|
||||
lcd_pause_print();
|
||||
}
|
||||
|
||||
} // otherwise it has already been reported, so just ignore further processing
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef FANCHECK
|
||||
if(fan_check_error){
|
||||
if(fan_check_error == EFCE_DETECTED){
|
||||
fan_check_error = EFCE_REPORTED;
|
||||
// SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED);
|
||||
lcd_pause_print();
|
||||
} // otherwise it has already been reported, so just ignore further processing
|
||||
return; //ignore usb stream. It is reenabled by selecting resume from the lcd.
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!buflen) return; //empty command
|
||||
#ifdef FILAMENT_RUNOUT_SUPPORT
|
||||
|
|
@ -3736,7 +3774,7 @@ void process_commands()
|
|||
lang_reset();
|
||||
|
||||
} else if(code_seen("Lz")) { // PRUSA Lz
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_Z,0);
|
||||
eeprom_update_word(reinterpret_cast<uint16_t *>(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0);
|
||||
|
||||
} else if(code_seen("Beat")) { // PRUSA Beat
|
||||
// Kick farm link timer
|
||||
|
|
@ -4620,7 +4658,9 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|||
case_G80:
|
||||
{
|
||||
mesh_bed_leveling_flag = true;
|
||||
static bool run = false;
|
||||
#ifndef PINDA_THERMISTOR
|
||||
static bool run = false; // thermistor-less PINDA temperature compensation is running
|
||||
#endif // ndef PINDA_THERMISTOR
|
||||
|
||||
#ifdef SUPPORT_VERBOSITY
|
||||
int8_t verbosity_level = 0;
|
||||
|
|
@ -4668,13 +4708,9 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|||
}
|
||||
bool magnet_elimination = (eeprom_read_byte((uint8_t*)EEPROM_MBL_MAGNET_ELIMINATION) > 0);
|
||||
|
||||
bool temp_comp_start = true;
|
||||
#ifdef PINDA_THERMISTOR
|
||||
temp_comp_start = false;
|
||||
#endif //PINDA_THERMISTOR
|
||||
|
||||
if (temp_comp_start)
|
||||
if (run == false && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) {
|
||||
#ifndef PINDA_THERMISTOR
|
||||
if (run == false && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50)
|
||||
{
|
||||
if (lcd_commands_type != LcdCommands::StopPrint) {
|
||||
temp_compensation_start();
|
||||
run = true;
|
||||
|
|
@ -4686,7 +4722,8 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|||
}
|
||||
break;
|
||||
}
|
||||
run = false;
|
||||
run = false;
|
||||
#endif //PINDA_THERMISTOR
|
||||
if (lcd_commands_type == LcdCommands::StopPrint) {
|
||||
mesh_bed_leveling_flag = false;
|
||||
break;
|
||||
|
|
@ -4903,12 +4940,9 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|||
clean_up_after_endstop_move(l_feedmultiply);
|
||||
// SERIAL_ECHOLNPGM("clean up finished ");
|
||||
|
||||
bool apply_temp_comp = true;
|
||||
#ifdef PINDA_THERMISTOR
|
||||
apply_temp_comp = false;
|
||||
#endif
|
||||
if (apply_temp_comp)
|
||||
#ifndef PINDA_THERMISTOR
|
||||
if(temp_cal_active == true && calibration_status_pinda() == true) temp_compensation_apply(); //apply PINDA temperature compensation
|
||||
#endif
|
||||
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;
|
||||
|
|
@ -5507,7 +5541,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
|
|||
|
||||
// Reset the baby step value and the baby step applied flag.
|
||||
calibration_status_store(CALIBRATION_STATUS_ASSEMBLED);
|
||||
eeprom_update_word((uint16_t*)EEPROM_BABYSTEP_Z, 0);
|
||||
eeprom_update_word(reinterpret_cast<uint16_t *>(&(EEPROM_Sheets_base->s[(eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)))].z_offset)),0);
|
||||
|
||||
// Reset the skew and offset in both RAM and EEPROM.
|
||||
reset_bed_offset_and_skew();
|
||||
|
|
@ -6005,6 +6039,14 @@ Sigma_Exit:
|
|||
}
|
||||
|
||||
//! ### M109 - Wait for extruder temperature
|
||||
//! Parameters (not mandatory):
|
||||
//! * S \<temp\> set extruder temperature
|
||||
//! * R \<temp\> set extruder temperature
|
||||
//!
|
||||
//! Parameters S and R are treated identically.
|
||||
//! Command always waits for both cool down and heat up.
|
||||
//! If no parameters are supplied waits for previously
|
||||
//! set extruder temperature.
|
||||
// -------------------------------------------------
|
||||
case 109:
|
||||
{
|
||||
|
|
@ -6021,10 +6063,8 @@ Sigma_Exit:
|
|||
#endif
|
||||
if (code_seen('S')) {
|
||||
setTargetHotendSafe(code_value(), extruder);
|
||||
CooldownNoWait = true;
|
||||
} else if (code_seen('R')) {
|
||||
setTargetHotendSafe(code_value(), extruder);
|
||||
CooldownNoWait = false;
|
||||
}
|
||||
#ifdef AUTOTEMP
|
||||
if (code_seen('S')) autotemp_min=code_value();
|
||||
|
|
@ -6058,9 +6098,15 @@ Sigma_Exit:
|
|||
break;
|
||||
|
||||
//! ### M190 - Wait for bed temperature
|
||||
// ---------------------------------------
|
||||
//! Parameters (not mandatory):
|
||||
//! * S \<temp\> set extruder temperature and wait for heating
|
||||
//! * R \<temp\> set extruder temperature and wait for heating or cooling
|
||||
//!
|
||||
//! If no parameter is supplied, waits for heating or cooling to previously set temperature.
|
||||
case 190:
|
||||
#if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
|
||||
{
|
||||
bool CooldownNoWait = false;
|
||||
LCD_MESSAGERPGM(_T(MSG_BED_HEATING));
|
||||
heating_status = 3;
|
||||
if (farm_mode) { prusa_statistics(1); };
|
||||
|
|
@ -6072,7 +6118,6 @@ Sigma_Exit:
|
|||
else if (code_seen('R'))
|
||||
{
|
||||
setTargetBed(code_value());
|
||||
CooldownNoWait = false;
|
||||
}
|
||||
codenum = _millis();
|
||||
|
||||
|
|
@ -6106,6 +6151,7 @@ Sigma_Exit:
|
|||
heating_status = 4;
|
||||
|
||||
previous_millis_cmd = _millis();
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
|
@ -7444,11 +7490,12 @@ Sigma_Exit:
|
|||
break;
|
||||
#endif
|
||||
|
||||
//! ### M907 - Set digital trimpot motor current using axis codes
|
||||
//! ### M907 - Set digital trimpot motor current in mA using axis codes
|
||||
// ---------------------------------------------------------------
|
||||
case 907:
|
||||
{
|
||||
#ifdef TMC2130
|
||||
//! See tmc2130_cur2val() for translation to 0 .. 63 range
|
||||
for (int i = 0; i < NUM_AXIS; i++)
|
||||
if(code_seen(axis_codes[i]))
|
||||
{
|
||||
|
|
@ -7594,27 +7641,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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8484,7 +8537,7 @@ bool bInhibitFlag;
|
|||
#endif // IR_SENSOR
|
||||
if ((mcode_in_progress != 600) && (eFilamentAction != FilamentAction::AutoLoad) && (!bInhibitFlag)) //M600 not in progress, preHeat @ autoLoad menu not active, Support::ExtruderInfo/SensorInfo menu not active
|
||||
{
|
||||
if (!moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal) && !wizard_active)
|
||||
if (!moves_planned() && !IS_SD_PRINTING && !is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal) && ! eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE))
|
||||
{
|
||||
if (fsensor_check_autoload())
|
||||
{
|
||||
|
|
@ -8515,7 +8568,7 @@ if(0)
|
|||
}
|
||||
else
|
||||
{
|
||||
menu_submenu(mFilamentMenu);
|
||||
menu_submenu(lcd_generic_preheat_menu);
|
||||
lcd_timeoutToStatus.start();
|
||||
}
|
||||
}
|
||||
|
|
@ -8850,6 +8903,8 @@ void delay_keep_alive(unsigned int ms)
|
|||
}
|
||||
|
||||
static void wait_for_heater(long codenum, uint8_t extruder) {
|
||||
if (!degTargetHotend(extruder))
|
||||
return;
|
||||
|
||||
#ifdef TEMP_RESIDENCY_TIME
|
||||
long residencyStart;
|
||||
|
|
@ -9345,7 +9400,8 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
|||
}
|
||||
#endif //HEATBED_ANALYSIS
|
||||
|
||||
void temp_compensation_start() {
|
||||
#ifndef PINDA_THERMISTOR
|
||||
static void temp_compensation_start() {
|
||||
|
||||
custom_message_type = CustomMsg::TempCompPreheat;
|
||||
custom_message_state = PINDA_HEAT_T + 1;
|
||||
|
|
@ -9372,7 +9428,7 @@ void temp_compensation_start() {
|
|||
custom_message_state = 0;
|
||||
}
|
||||
|
||||
void temp_compensation_apply() {
|
||||
static void temp_compensation_apply() {
|
||||
int i_add;
|
||||
int z_shift = 0;
|
||||
float z_shift_mm;
|
||||
|
|
@ -9395,6 +9451,7 @@ void temp_compensation_apply() {
|
|||
//we have no temp compensation data
|
||||
}
|
||||
}
|
||||
#endif //ndef PINDA_THERMISTOR
|
||||
|
||||
float temp_comp_interpolation(float inp_temperature) {
|
||||
|
||||
|
|
@ -9491,10 +9548,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() {
|
||||
|
|
@ -10154,7 +10210,8 @@ void restore_print_from_ram_and_continue(float e_move)
|
|||
|
||||
#ifdef FANCHECK
|
||||
// Do not allow resume printing if fans are still not ok
|
||||
if( fan_check_error != EFCE_OK )return;
|
||||
if ((fan_check_error != EFCE_OK) && (fan_check_error != EFCE_FIXED)) return;
|
||||
if (fan_check_error == EFCE_FIXED) fan_check_error = EFCE_OK; //reenable serial stream processing if printing from usb
|
||||
#endif
|
||||
|
||||
// for (int axis = X_AXIS; axis <= E_AXIS; axis++)
|
||||
|
|
@ -10208,6 +10265,7 @@ void restore_print_from_ram_and_continue(float e_move)
|
|||
}
|
||||
SERIAL_PROTOCOLLNRPGM(MSG_OK); //dummy response because of octoprint is waiting for this
|
||||
lcd_setstatuspgm(_T(WELCOME_MSG));
|
||||
saved_printing_type = PRINTING_TYPE_NONE;
|
||||
saved_printing = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -203,6 +203,7 @@ void CardReader::initsd()
|
|||
}
|
||||
workDir=root;
|
||||
curDir=&root;
|
||||
workDirDepth = 0;
|
||||
|
||||
#ifdef SDCARD_SORT_ALPHA
|
||||
presort();
|
||||
|
|
@ -762,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.
|
||||
|
|
@ -783,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;
|
||||
|
|
@ -810,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
|
||||
|
|
@ -836,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
|
||||
|
||||
|
|
@ -892,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.
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ void eeprom_init()
|
|||
if (eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT) == 0xffff) eeprom_update_word((uint16_t *)EEPROM_MMU_LOAD_FAIL_TOT, 0);
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL) == 0xff) eeprom_update_byte((uint8_t *)EEPROM_MMU_FAIL, 0);
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL) == 0xff) eeprom_update_byte((uint8_t *)EEPROM_MMU_LOAD_FAIL, 0);
|
||||
if (eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)) == 0xff)
|
||||
if (eeprom_read_byte(&(EEPROM_Sheets_base->active_sheet)) == EEPROM_EMPTY_VALUE)
|
||||
{
|
||||
eeprom_update_byte(&(EEPROM_Sheets_base->active_sheet), 0);
|
||||
// When upgrading from version older version (before multiple sheets were implemented in v3.8.0)
|
||||
|
|
|
|||
|
|
@ -3,9 +3,12 @@
|
|||
|
||||
#include <stdint.h>
|
||||
|
||||
#define MAX_SHEETS 8
|
||||
#define MAX_SHEET_NAME_LENGTH 7
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char name[7]; //!< Can be null terminated, doesn't need to be null terminated
|
||||
char name[MAX_SHEET_NAME_LENGTH]; //!< Can be null terminated, doesn't need to be null terminated
|
||||
int16_t z_offset; //!< Z_BABYSTEP_MIN .. Z_BABYSTEP_MAX = Z_BABYSTEP_MIN*2/1000 [mm] .. Z_BABYSTEP_MAX*2/1000 [mm]
|
||||
uint8_t bed_temp; //!< 0 .. 254 [°C]
|
||||
uint8_t pinda_temp; //!< 0 .. 254 [°C]
|
||||
|
|
@ -13,7 +16,7 @@ typedef struct
|
|||
|
||||
typedef struct
|
||||
{
|
||||
Sheet s[8];
|
||||
Sheet s[MAX_SHEETS];
|
||||
uint8_t active_sheet;
|
||||
} Sheets;
|
||||
// sizeof(Sheets). Do not change it unless EEPROM_Sheets_base is last item in EEPROM.
|
||||
|
|
@ -25,6 +28,7 @@ static_assert(sizeof(Sheets) == EEPROM_SHEETS_SIZEOF, "Sizeof(Sheets) is not EEP
|
|||
#endif
|
||||
|
||||
#define EEPROM_EMPTY_VALUE 0xFF
|
||||
#define EEPROM_EMPTY_VALUE16 0xFFFF
|
||||
// The total size of the EEPROM is
|
||||
// 4096 for the Atmega2560
|
||||
#define EEPROM_TOP 4096
|
||||
|
|
|
|||
|
|
@ -10,32 +10,28 @@
|
|||
#include "mmu.h"
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
//! @brief Preheat
|
||||
void lay1cal_preheat()
|
||||
//! @brief Wait for preheat
|
||||
void lay1cal_wait_preheat()
|
||||
{
|
||||
static const char cmd_preheat_0[] PROGMEM = "M107";
|
||||
static const char cmd_preheat_1[] PROGMEM = "M104 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP);
|
||||
static const char cmd_preheat_2[] PROGMEM = "M140 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP);
|
||||
static const char cmd_preheat_3[] PROGMEM = "M190 S" STRINGIFY(PLA_PREHEAT_HPB_TEMP);
|
||||
static const char cmd_preheat_4[] PROGMEM = "M109 S" STRINGIFY(PLA_PREHEAT_HOTEND_TEMP);
|
||||
static const char cmd_preheat_5[] PROGMEM = "G28";
|
||||
static const char cmd_preheat_6[] PROGMEM = "G92 E0.0";
|
||||
static const char cmd_preheat_1[] PROGMEM = "M190";
|
||||
static const char cmd_preheat_2[] PROGMEM = "M109";
|
||||
static const char cmd_preheat_4[] PROGMEM = "G28";
|
||||
static const char cmd_preheat_5[] PROGMEM = "G92 E0.0";
|
||||
|
||||
static const char * const preheat_cmd[] PROGMEM =
|
||||
const char * const preheat_cmd[] =
|
||||
{
|
||||
cmd_preheat_0,
|
||||
cmd_preheat_1,
|
||||
cmd_preheat_2,
|
||||
cmd_preheat_3,
|
||||
_T(MSG_M117_V2_CALIBRATION),
|
||||
cmd_preheat_4,
|
||||
cmd_preheat_5, //call MSG_M117_V2_CALIBRATION before
|
||||
cmd_preheat_6,
|
||||
cmd_preheat_5,
|
||||
};
|
||||
|
||||
for (uint8_t i = 0; i < (sizeof(preheat_cmd)/sizeof(preheat_cmd[0])); ++i)
|
||||
{
|
||||
if (5 == i) enquecommand_P(_T(MSG_M117_V2_CALIBRATION));
|
||||
enquecommand_P(static_cast<char*>(pgm_read_ptr(&preheat_cmd[i])));
|
||||
enquecommand_P(preheat_cmd[i]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
#define FIRMWARE_FIRST_LAY_CAL_H_
|
||||
#include <stdint.h>
|
||||
|
||||
void lay1cal_preheat();
|
||||
void lay1cal_wait_preheat();
|
||||
void lay1cal_load_filament(char *cmd_buffer, uint8_t filament);
|
||||
void lay1cal_intro_line();
|
||||
void lay1cal_before_meander();
|
||||
|
|
|
|||
|
|
@ -761,8 +761,7 @@ void lcd_buttons_update(void)
|
|||
//else if (menu_menu == lcd_move_z) lcd_quick_feedback();
|
||||
//lcd_button_pressed is set back to false via lcd_quick_feedback function
|
||||
}
|
||||
else
|
||||
lcd_long_press_active = 0;
|
||||
lcd_long_press_active = 0;
|
||||
}
|
||||
|
||||
lcd_buttons = newbutton;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
extern int32_t lcd_encoder;
|
||||
|
||||
#define MENU_DEPTH_MAX 6
|
||||
#define MENU_DEPTH_MAX 7
|
||||
|
||||
static menu_record_t menu_stack[MENU_DEPTH_MAX];
|
||||
|
||||
|
|
@ -184,6 +184,22 @@ static void menu_draw_item_puts_P(char type_char, const char* str)
|
|||
lcd_printf_P(PSTR("%c%-18.18S%c"), menu_selection_mark(), str, type_char);
|
||||
}
|
||||
|
||||
static void menu_draw_toggle_puts_P(const char* str, const char* toggle, const uint8_t settings)
|
||||
{
|
||||
//settings:
|
||||
//xxxxxcba
|
||||
//a = selection mark. If it's set(1), then '>' will be used as the first character on the line. Else leave blank
|
||||
//b = toggle string is from progmem
|
||||
//c = do not set cursor at all. Must be handled externally.
|
||||
char lineStr[LCD_WIDTH + 1];
|
||||
const char eol = (toggle == NULL)?LCD_STR_ARROW_RIGHT[0]:' ';
|
||||
if (toggle == NULL) toggle = _T(MSG_NA);
|
||||
sprintf_P(lineStr, PSTR("%c%-18.18S"), (settings & 0x01)?'>':' ', str);
|
||||
sprintf_P(lineStr + LCD_WIDTH - ((settings & 0x02)?strlen_P(toggle):strlen(toggle)) - 3, (settings & 0x02)?PSTR("[%S]%c"):PSTR("[%s]%c"), toggle, eol);
|
||||
if (!(settings & 0x04)) lcd_set_cursor(0, menu_row);
|
||||
fputs(lineStr, lcdout);
|
||||
}
|
||||
|
||||
//! @brief Format sheet name
|
||||
//!
|
||||
//! @param[in] sheet_E Sheet in EEPROM
|
||||
|
|
@ -375,6 +391,33 @@ uint8_t menu_item_function_P(const char* str, char number, void (*func)(uint8_t)
|
|||
return 0;
|
||||
}
|
||||
|
||||
uint8_t menu_item_toggle_P(const char* str, const char* toggle, menu_func_t func, const uint8_t settings)
|
||||
{
|
||||
if (menu_item == menu_line)
|
||||
{
|
||||
if (lcd_draw_update) menu_draw_toggle_puts_P(str, toggle, settings | (menu_selection_mark()=='>'));
|
||||
if (menu_clicked && (lcd_encoder == menu_item))
|
||||
{
|
||||
if (toggle == NULL) // print N/A warning message
|
||||
{
|
||||
menu_submenu(func);
|
||||
return menu_item_ret();
|
||||
}
|
||||
else // do the actual toggling
|
||||
{
|
||||
menu_clicked = false;
|
||||
lcd_consume_click();
|
||||
lcd_update_enabled = 0;
|
||||
if (func) func();
|
||||
lcd_update_enabled = 1;
|
||||
return menu_item_ret();
|
||||
}
|
||||
}
|
||||
}
|
||||
menu_item++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t menu_item_gcode_P(const char* str, const char* str_gcode)
|
||||
{
|
||||
if (menu_item == menu_line)
|
||||
|
|
@ -390,17 +433,12 @@ uint8_t menu_item_gcode_P(const char* str, const char* str_gcode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
const char menu_20x_space[] PROGMEM = " ";
|
||||
|
||||
const char menu_fmt_int3[] PROGMEM = "%c%.15S:%s%3d";
|
||||
|
||||
const char menu_fmt_float31[] PROGMEM = "%-12.12S%+8.1f";
|
||||
|
||||
const char menu_fmt_float13[] PROGMEM = "%c%-13.13S%+5.3f";
|
||||
|
||||
const char menu_fmt_float13off[] PROGMEM = "%c%-13.13S%6.6s";
|
||||
|
||||
template<typename T>
|
||||
static void menu_draw_P(char chr, const char* str, int16_t val);
|
||||
|
||||
|
|
@ -409,8 +447,8 @@ void menu_draw_P<int16_t*>(char chr, const char* str, int16_t val)
|
|||
{
|
||||
int text_len = strlen_P(str);
|
||||
if (text_len > 15) text_len = 15;
|
||||
char spaces[21];
|
||||
strcpy_P(spaces, menu_20x_space);
|
||||
char spaces[LCD_WIDTH + 1] = {0};
|
||||
memset(spaces,' ', LCD_WIDTH);
|
||||
if (val <= -100) spaces[15 - text_len - 1] = 0;
|
||||
else spaces[15 - text_len] = 0;
|
||||
lcd_printf_P(menu_fmt_int3, chr, str, spaces, val);
|
||||
|
|
@ -423,7 +461,7 @@ void menu_draw_P<uint8_t*>(char chr, const char* str, int16_t val)
|
|||
float factor = 1.0f + static_cast<float>(val) / 1000.0f;
|
||||
if (val <= _md->minEditValue)
|
||||
{
|
||||
lcd_printf_P(menu_fmt_float13off, chr, str, " [off]");
|
||||
menu_draw_toggle_puts_P(str, _T(MSG_OFF), 0x04 | 0x02 | (chr=='>'));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -118,6 +118,10 @@ extern uint8_t menu_item_function_P(const char* str, menu_func_t func);
|
|||
#define MENU_ITEM_FUNCTION_NR_P(str, number, func, fn_par) do { if (menu_item_function_P(str, number, func, fn_par)) return; } while (0)
|
||||
extern uint8_t menu_item_function_P(const char* str, char number, void (*func)(uint8_t), uint8_t fn_par);
|
||||
|
||||
#define MENU_ITEM_TOGGLE_P(str, toggle, func) do { if (menu_item_toggle_P(str, toggle, func, 0x02)) return; } while (0)
|
||||
#define MENU_ITEM_TOGGLE(str, toggle, func) do { if (menu_item_toggle_P(str, toggle, func, 0x00)) return; } while (0)
|
||||
extern uint8_t menu_item_toggle_P(const char* str, const char* toggle, menu_func_t func, const uint8_t settings);
|
||||
|
||||
#define MENU_ITEM_GCODE_P(str, str_gcode) do { if (menu_item_gcode_P(str, str_gcode)) return; } while (0)
|
||||
extern uint8_t menu_item_gcode_P(const char* str, const char* str_gcode);
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
|
||||
//internationalized messages
|
||||
const char MSG_AUTO_HOME[] PROGMEM_I1 = ISTR("Auto home"); ////
|
||||
const char MSG_AUTO_MODE_ON[] PROGMEM_I1 = ISTR("Mode [auto power]"); ////
|
||||
const char MSG_BABYSTEP_Z[] PROGMEM_I1 = ISTR("Live adjust Z"); //// c=18
|
||||
const char MSG_BABYSTEP_Z_NOT_SET[] PROGMEM_I1 = ISTR("Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."); ////c=20 r=12
|
||||
const char MSG_BED[] PROGMEM_I1 = ISTR("Bed"); ////
|
||||
|
|
@ -22,9 +21,7 @@ const char MSG_CARD_MENU[] PROGMEM_I1 = ISTR("Print from SD"); ////
|
|||
const char MSG_CONFIRM_NOZZLE_CLEAN[] PROGMEM_I1 = ISTR("Please clean the nozzle for calibration. Click when done."); ////c=20 r=8
|
||||
const char MSG_COOLDOWN[] PROGMEM_I1 = ISTR("Cooldown"); ////
|
||||
const char MSG_CRASH_DETECTED[] PROGMEM_I1 = ISTR("Crash detected."); ////c=20 r=1
|
||||
const char MSG_CRASHDETECT_NA[] PROGMEM_I1 = ISTR("Crash det. [N/A]"); ////
|
||||
const char MSG_CRASHDETECT_OFF[] PROGMEM_I1 = ISTR("Crash det. [off]"); ////
|
||||
const char MSG_CRASHDETECT_ON[] PROGMEM_I1 = ISTR("Crash det. [on]"); ////
|
||||
const char MSG_CRASHDETECT[] PROGMEM_I1 = ISTR("Crash det."); ////
|
||||
const char MSG_ERROR[] PROGMEM_I1 = ISTR("ERROR:"); ////
|
||||
const char MSG_EXTRUDER[] PROGMEM_I1 = ISTR("Extruder"); ////c=17 r=1
|
||||
const char MSG_FILAMENT[] PROGMEM_I1 = ISTR("Filament"); ////c=17 r=1
|
||||
|
|
@ -40,9 +37,8 @@ const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2[] PROGMEM_I1 = ISTR(" of 4"); ////
|
|||
const char MSG_FINISHING_MOVEMENTS[] PROGMEM_I1 = ISTR("Finishing movements"); ////c=20 r=1
|
||||
const char MSG_FOLLOW_CALIBRATION_FLOW[] PROGMEM_I1 = ISTR("Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."); ////c=20 r=8
|
||||
const char MSG_FOLLOW_Z_CALIBRATION_FLOW[] PROGMEM_I1 = ISTR("There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."); ////c=20 r=8
|
||||
const char MSG_FSENS_AUTOLOAD_NA[] PROGMEM_I1 = ISTR("F. autoload [N/A]"); ////c=17 r=1
|
||||
const char MSG_FSENSOR_OFF[] PROGMEM_I1 = ISTR("Fil. sensor [off]"); ////
|
||||
const char MSG_FSENSOR_ON[] PROGMEM_I1 = ISTR("Fil. sensor [on]"); ////
|
||||
const char MSG_FSENSOR_AUTOLOAD[] PROGMEM_I1 = ISTR("F. autoload"); ////c=17 r=1
|
||||
const char MSG_FSENSOR[] PROGMEM_I1 = ISTR("Fil. sensor"); ////
|
||||
const char MSG_HEATING[] PROGMEM_I1 = ISTR("Heating"); ////
|
||||
const char MSG_HEATING_COMPLETE[] PROGMEM_I1 = ISTR("Heating done."); ////c=20
|
||||
const char MSG_HOMEYZ[] PROGMEM_I1 = ISTR("Calibrate Z"); ////
|
||||
|
|
@ -85,14 +81,16 @@ const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor");
|
|||
const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////
|
||||
const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////
|
||||
const char MSG_HW_SETUP[] PROGMEM_I1 = ISTR("HW Setup"); ////
|
||||
const char MSG_SILENT_MODE_OFF[] PROGMEM_I1 = ISTR("Mode [high power]"); ////
|
||||
const char MSG_SILENT_MODE_ON[] PROGMEM_I1 = ISTR("Mode [silent]"); ////
|
||||
const char MSG_STEALTH_MODE_OFF[] PROGMEM_I1 = ISTR("Mode [Normal]"); ////
|
||||
const char MSG_STEALTH_MODE_ON[] PROGMEM_I1 = ISTR("Mode [Stealth]"); ////
|
||||
const char MSG_MODE[] PROGMEM_I1 = ISTR("Mode"); ////
|
||||
const char MSG_HIGH_POWER[] PROGMEM_I1 = ISTR("High power"); ////
|
||||
const char MSG_AUTO_POWER[] PROGMEM_I1 = ISTR("Auto power"); ////
|
||||
const char MSG_SILENT[] PROGMEM_I1 = ISTR("Silent"); ////
|
||||
const char MSG_NORMAL[] PROGMEM_I1 = ISTR("Normal"); ////
|
||||
const char MSG_STEALTH[] PROGMEM_I1 = ISTR("Stealth"); ////
|
||||
const char MSG_STEEL_SHEET_CHECK[] PROGMEM_I1 = ISTR("Is steel sheet on heatbed?"); ////c=20 r=2
|
||||
const char MSG_STOP_PRINT[] PROGMEM_I1 = ISTR("Stop print"); ////
|
||||
const char MSG_STOPPED[] PROGMEM_I1 = ISTR("STOPPED. "); ////
|
||||
const char MSG_TEMP_CALIBRATION[] PROGMEM_I1 = ISTR("Temp. cal. "); ////c=20 r=1
|
||||
const char MSG_TEMP_CALIBRATION[] PROGMEM_I1 = ISTR("Temp. cal."); ////c=12 r=1
|
||||
const char MSG_TEMP_CALIBRATION_DONE[] PROGMEM_I1 = ISTR("Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."); ////c=20 r=12
|
||||
const char MSG_UNLOAD_FILAMENT[] PROGMEM_I1 = ISTR("Unload filament"); ////c=17
|
||||
const char MSG_UNLOADING_FILAMENT[] PROGMEM_I1 = ISTR("Unloading filament"); ////c=20 r=1
|
||||
|
|
@ -104,13 +102,38 @@ const char MSG_WIZARD_QUIT[] PROGMEM_I1 = ISTR("You can always resume the Wizard
|
|||
const char MSG_YES[] PROGMEM_I1 = ISTR("Yes"); ////
|
||||
const char MSG_V2_CALIBRATION[] PROGMEM_I1 = ISTR("First layer cal."); ////c=17 r=1
|
||||
const char WELCOME_MSG[] PROGMEM_I1 = ISTR(CUSTOM_MENDEL_NAME " OK."); ////c=20
|
||||
const char MSG_OFF[] PROGMEM_I1 = ISTR("Off"); ////
|
||||
const char MSG_ON[] PROGMEM_I1 = ISTR("On"); ////
|
||||
const char MSG_NA[] PROGMEM_I1 = ISTR("N/A"); ////
|
||||
const char MSG_AUTO_DEPLETE[] PROGMEM_I1 = ISTR("SpoolJoin"); ////
|
||||
const char MSG_CUTTER[] PROGMEM_I1 = ISTR("Cutter"); ////
|
||||
const char MSG_NONE[] PROGMEM_I1 = ISTR("None"); ////
|
||||
const char MSG_WARN[] PROGMEM_I1 = ISTR("Warn"); ////
|
||||
const char MSG_STRICT[] PROGMEM_I1 = ISTR("Strict"); ////
|
||||
const char MSG_MODEL[] PROGMEM_I1 = ISTR("Model"); ////
|
||||
const char MSG_FIRMWARE[] PROGMEM_I1 = ISTR("Firmware"); ////
|
||||
const char MSG_GCODE[] PROGMEM_I1 = ISTR("Gcode"); ////
|
||||
const char MSG_NOZZLE_DIAMETER[] PROGMEM_I1 = ISTR("Nozzle d."); ////
|
||||
const char MSG_MMU_MODE[] PROGMEM_I1 = ISTR("MMU Mode"); ////
|
||||
const char MSG_SD_CARD[] PROGMEM_I1 = ISTR("SD card"); ////
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_I1 = ISTR("FlashAir"); ////
|
||||
const char MSG_SORT[] PROGMEM_I1 = ISTR("Sort"); ////
|
||||
const char MSG_SORT_TIME[] PROGMEM_I1 = ISTR("Time"); ////
|
||||
const char MSG_SORT_ALPHA[] PROGMEM_I1 = ISTR("Alphabet"); ////
|
||||
const char MSG_RPI_PORT[] PROGMEM_I1 = ISTR("RPi port"); ////
|
||||
const char MSG_SOUND[] PROGMEM_I1 = ISTR("Sound"); ////
|
||||
const char MSG_SOUND_LOUD[] PROGMEM_I1 = ISTR("Loud"); ////
|
||||
const char MSG_SOUND_ONCE[] PROGMEM_I1 = ISTR("Once"); ////
|
||||
const char MSG_SOUND_BLIND[] PROGMEM_I1 = ISTR("Assist"); ////
|
||||
const char MSG_MESH[] PROGMEM_I1 = ISTR("Mesh"); ////
|
||||
const char MSG_Z_PROBE_NR[] PROGMEM_I1 = ISTR("Z-probe nr."); ////
|
||||
const char MSG_MAGNETS_COMP[] PROGMEM_I1 = ISTR("Magnets comp."); ////
|
||||
|
||||
//not internationalized messages
|
||||
const char MSG_SD_WORKDIR_FAIL[] PROGMEM_N1 = "workDir open failed"; ////
|
||||
const char MSG_BROWNOUT_RESET[] PROGMEM_N1 = " Brown out Reset"; ////
|
||||
const char MSG_EXTERNAL_RESET[] PROGMEM_N1 = " External Reset"; ////
|
||||
const char MSG_FILE_SAVED[] PROGMEM_N1 = "Done saving file."; ////
|
||||
const char MSG_OFF[] PROGMEM_N1 = "Off"; ////
|
||||
const char MSG_ON[] PROGMEM_N1 = "On "; ////
|
||||
const char MSG_POSITION_UNKNOWN[] PROGMEM_N1 = "Home X/Y before Z"; ////
|
||||
const char MSG_SOFTWARE_RESET[] PROGMEM_N1 = " Software Reset"; ////
|
||||
const char MSG_UNKNOWN_COMMAND[] PROGMEM_N1 = "Unknown command: \""; ////
|
||||
|
|
@ -129,4 +152,8 @@ const char MSG_ENDSTOP_OPEN[] PROGMEM_N1 = "open"; ////
|
|||
const char MSG_POWERUP[] PROGMEM_N1 = "PowerUp"; ////
|
||||
const char MSG_ERR_STOPPED[] PROGMEM_N1 = "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"; ////
|
||||
const char MSG_ENDSTOP_HIT[] PROGMEM_N1 = "TRIGGERED"; ////
|
||||
const char MSG_OCTOPRINT_PAUSE[] PROGMEM_N1 = "// action:pause"; ////
|
||||
const char MSG_OCTOPRINT_PAUSED[] PROGMEM_N1 = "// action:paused"; ////
|
||||
const char MSG_OCTOPRINT_RESUMED[] PROGMEM_N1 = "// action:resumed"; ////
|
||||
const char MSG_OCTOPRINT_CANCEL[] PROGMEM_N1 = "// action:cancel"; ////
|
||||
const char MSG_FANCHECK_EXTRUDER[] PROGMEM_N1 = "Err: EXTR. FAN ERROR"; ////c=20
|
||||
const char MSG_FANCHECK_PRINT[] PROGMEM_N1 = "Err: PRINT FAN ERROR"; ////c=20
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ extern "C" {
|
|||
// LCD Menu Messages
|
||||
//internationalized messages
|
||||
extern const char MSG_AUTO_HOME[];
|
||||
extern const char MSG_AUTO_MODE_ON[];
|
||||
extern const char MSG_BABYSTEP_Z[];
|
||||
extern const char MSG_BABYSTEP_Z_NOT_SET[];
|
||||
extern const char MSG_BED[];
|
||||
|
|
@ -23,9 +22,7 @@ extern const char MSG_CARD_MENU[];
|
|||
extern const char MSG_CONFIRM_NOZZLE_CLEAN[];
|
||||
extern const char MSG_COOLDOWN[];
|
||||
extern const char MSG_CRASH_DETECTED[];
|
||||
extern const char MSG_CRASHDETECT_NA[];
|
||||
extern const char MSG_CRASHDETECT_OFF[];
|
||||
extern const char MSG_CRASHDETECT_ON[];
|
||||
extern const char MSG_CRASHDETECT[];
|
||||
extern const char MSG_ERROR[];
|
||||
extern const char MSG_EXTRUDER[];
|
||||
extern const char MSG_FILAMENT[];
|
||||
|
|
@ -41,9 +38,8 @@ extern const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2[];
|
|||
extern const char MSG_FINISHING_MOVEMENTS[];
|
||||
extern const char MSG_FOLLOW_CALIBRATION_FLOW[];
|
||||
extern const char MSG_FOLLOW_Z_CALIBRATION_FLOW[];
|
||||
extern const char MSG_FSENS_AUTOLOAD_NA[];
|
||||
extern const char MSG_FSENSOR_OFF[];
|
||||
extern const char MSG_FSENSOR_ON[];
|
||||
extern const char MSG_FSENSOR_AUTOLOAD[];
|
||||
extern const char MSG_FSENSOR[];
|
||||
extern const char MSG_HEATING[];
|
||||
extern const char MSG_HEATING_COMPLETE[];
|
||||
extern const char MSG_HOMEYZ[];
|
||||
|
|
@ -85,10 +81,12 @@ extern const char MSG_SELFTEST_FILAMENT_SENSOR[];
|
|||
extern const char MSG_SELFTEST_WIRINGERROR[];
|
||||
extern const char MSG_SETTINGS[];
|
||||
extern const char MSG_HW_SETUP[];
|
||||
extern const char MSG_SILENT_MODE_OFF[];
|
||||
extern const char MSG_SILENT_MODE_ON[];
|
||||
extern const char MSG_STEALTH_MODE_OFF[];
|
||||
extern const char MSG_STEALTH_MODE_ON[];
|
||||
extern const char MSG_MODE[];
|
||||
extern const char MSG_HIGH_POWER[];
|
||||
extern const char MSG_AUTO_POWER[];
|
||||
extern const char MSG_SILENT[];
|
||||
extern const char MSG_NORMAL[];
|
||||
extern const char MSG_STEALTH[];
|
||||
extern const char MSG_STEEL_SHEET_CHECK[];
|
||||
extern const char MSG_STOP_PRINT[];
|
||||
extern const char MSG_STOPPED[];
|
||||
|
|
@ -104,12 +102,37 @@ extern const char MSG_WIZARD_QUIT[];
|
|||
extern const char MSG_YES[];
|
||||
extern const char MSG_V2_CALIBRATION[];
|
||||
extern const char WELCOME_MSG[];
|
||||
extern const char MSG_OFF[];
|
||||
extern const char MSG_ON[];
|
||||
extern const char MSG_NA[];
|
||||
extern const char MSG_AUTO_DEPLETE[];
|
||||
extern const char MSG_CUTTER[];
|
||||
extern const char MSG_NONE[];
|
||||
extern const char MSG_WARN[];
|
||||
extern const char MSG_STRICT[];
|
||||
extern const char MSG_MODEL[];
|
||||
extern const char MSG_FIRMWARE[];
|
||||
extern const char MSG_GCODE[];
|
||||
extern const char MSG_NOZZLE_DIAMETER[];
|
||||
extern const char MSG_MMU_MODE[];
|
||||
extern const char MSG_SD_CARD[];
|
||||
extern const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[];
|
||||
extern const char MSG_SORT[];
|
||||
extern const char MSG_SORT_TIME[];
|
||||
extern const char MSG_SORT_ALPHA[];
|
||||
extern const char MSG_RPI_PORT[];
|
||||
extern const char MSG_SOUND[];
|
||||
extern const char MSG_SOUND_LOUD[];
|
||||
extern const char MSG_SOUND_ONCE[];
|
||||
extern const char MSG_SOUND_BLIND[];
|
||||
extern const char MSG_MESH[];
|
||||
extern const char MSG_Z_PROBE_NR[];
|
||||
extern const char MSG_MAGNETS_COMP[];
|
||||
|
||||
//not internationalized messages
|
||||
extern const char MSG_BROWNOUT_RESET[];
|
||||
extern const char MSG_EXTERNAL_RESET[];
|
||||
extern const char MSG_FILE_SAVED[];
|
||||
extern const char MSG_OFF[];
|
||||
extern const char MSG_ON[];
|
||||
extern const char MSG_POSITION_UNKNOWN[];
|
||||
extern const char MSG_SOFTWARE_RESET[];
|
||||
extern const char MSG_UNKNOWN_COMMAND[];
|
||||
|
|
@ -130,7 +153,11 @@ extern const char MSG_ERR_STOPPED[];
|
|||
extern const char MSG_ENDSTOP_HIT[];
|
||||
extern const char MSG_EJECT_FILAMENT[];
|
||||
extern const char MSG_CUT_FILAMENT[];
|
||||
extern const char MSG_OCTOPRINT_PAUSE[];
|
||||
extern const char MSG_OCTOPRINT_PAUSED[];
|
||||
extern const char MSG_OCTOPRINT_RESUMED[];
|
||||
extern const char MSG_OCTOPRINT_CANCEL[];
|
||||
extern const char MSG_FANCHECK_EXTRUDER[];
|
||||
extern const char MSG_FANCHECK_PRINT[];
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ uint8_t mmu_extruder = MMU_FILAMENT_UNKNOWN;
|
|||
uint8_t tmp_extruder = MMU_FILAMENT_UNKNOWN;
|
||||
|
||||
int8_t mmu_finda = -1;
|
||||
uint32_t mmu_last_finda_response = 0;
|
||||
|
||||
int16_t mmu_version = -1;
|
||||
|
||||
|
|
@ -264,6 +265,7 @@ void mmu_loop(void)
|
|||
if (mmu_rx_ok() > 0)
|
||||
{
|
||||
fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer
|
||||
mmu_last_finda_response = _millis();
|
||||
FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda);
|
||||
puts_P(PSTR("MMU - ENABLED"));
|
||||
mmu_enabled = true;
|
||||
|
|
@ -376,6 +378,7 @@ void mmu_loop(void)
|
|||
if (mmu_rx_ok() > 0)
|
||||
{
|
||||
fscanf_P(uart2io, PSTR("%hhu"), &mmu_finda); //scan finda from buffer
|
||||
mmu_last_finda_response = _millis();
|
||||
FDEBUG_PRINTF_P(PSTR("MMU => '%dok'\n"), mmu_finda);
|
||||
//printf_P(PSTR("Eact: %d\n"), int(e_active()));
|
||||
if (!mmu_finda && CHECK_FSENSOR && fsensor_enabled) {
|
||||
|
|
@ -1074,27 +1077,6 @@ void mmu_filament_ramming()
|
|||
}
|
||||
}
|
||||
|
||||
//-//
|
||||
void extr_unload_()
|
||||
{
|
||||
//if(bFilamentAction)
|
||||
if(0)
|
||||
{
|
||||
bFilamentAction=false;
|
||||
extr_unload();
|
||||
}
|
||||
else {
|
||||
eFilamentAction=FilamentAction::MmuUnLoad;
|
||||
bFilamentFirstRun=false;
|
||||
if(target_temperature[0]>=EXTRUDE_MINTEMP)
|
||||
{
|
||||
bFilamentPreheatState=true;
|
||||
mFilamentItem(target_temperature[0],target_temperature_bed);
|
||||
}
|
||||
// else menu_submenu(mFilamentMenu);
|
||||
else mFilamentMenu();
|
||||
}
|
||||
}
|
||||
|
||||
//! @brief show which filament is currently unloaded
|
||||
void extr_unload_view()
|
||||
|
|
@ -1376,7 +1358,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();
|
||||
|
|
@ -1577,19 +1559,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);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ extern uint8_t mmu_extruder;
|
|||
extern uint8_t tmp_extruder;
|
||||
|
||||
extern int8_t mmu_finda;
|
||||
extern uint32_t mmu_last_finda_response;
|
||||
extern bool ir_sensor_detected;
|
||||
|
||||
extern int16_t mmu_version;
|
||||
|
|
@ -105,8 +106,7 @@ extern int get_ext_nr();
|
|||
extern void display_loading();
|
||||
extern void extr_adj(uint8_t extruder);
|
||||
extern void extr_unload();
|
||||
//-//
|
||||
extern void extr_unload_();
|
||||
|
||||
extern void extr_adj_0();
|
||||
extern void extr_adj_1();
|
||||
extern void extr_adj_2();
|
||||
|
|
|
|||
|
|
@ -3,12 +3,6 @@
|
|||
#define SOUND_H
|
||||
|
||||
|
||||
#define MSG_SOUND_MODE_LOUD "Sound [loud]"
|
||||
#define MSG_SOUND_MODE_ONCE "Sound [once]"
|
||||
#define MSG_SOUND_MODE_SILENT "Sound [silent]"
|
||||
#define MSG_SOUND_MODE_BLIND "Sound [assist]"
|
||||
|
||||
|
||||
#define e_SOUND_MODE_NULL 0xFF
|
||||
typedef enum
|
||||
{e_SOUND_MODE_LOUD,e_SOUND_MODE_ONCE,e_SOUND_MODE_SILENT,e_SOUND_MODE_BLIND} eSOUND_MODE;
|
||||
|
|
|
|||
|
|
@ -1561,11 +1561,10 @@ void EEPROM_read_st(int pos, uint8_t* value, uint8_t size)
|
|||
|
||||
|
||||
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) SilentMode = 0; //set power to High Power (MK2.5) or Normal Power (MK3, unused)
|
||||
SilentModeMenu = SilentMode;
|
||||
#ifdef MOTOR_CURRENT_PWM_XY_PIN
|
||||
pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT);
|
||||
pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT);
|
||||
pinMode(MOTOR_CURRENT_PWM_E_PIN, OUTPUT);
|
||||
|
|
@ -1587,7 +1586,7 @@ void st_current_init() //Initialize Digipot Motor Current
|
|||
st_current_set(2, motor_current_setting[2]);
|
||||
//Set timer5 to 31khz so the PWM of the motor power is as constant as possible. (removes a buzzing noise)
|
||||
TCCR5B = (TCCR5B & ~(_BV(CS50) | _BV(CS51) | _BV(CS52))) | _BV(CS50);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -509,14 +509,17 @@ void checkFanSpeed()
|
|||
// drop the fan_check_error flag when both fans are ok
|
||||
if( fan_speed_errors[0] == 0 && fan_speed_errors[1] == 0 && fan_check_error == EFCE_REPORTED){
|
||||
// we may even send some info to the LCD from here
|
||||
fan_check_error = EFCE_OK;
|
||||
fan_check_error = EFCE_FIXED;
|
||||
}
|
||||
|
||||
if ((fan_speed_errors[0] > max_extruder_fan_errors) && fans_check_enabled) {
|
||||
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
|
||||
}
|
||||
if ((fan_speed_errors[1] > max_print_fan_errors) && fans_check_enabled) {
|
||||
if ((fan_speed_errors[1] > max_print_fan_errors) && fans_check_enabled && (fan_check_error == EFCE_OK)) {
|
||||
fan_speed_errors[1] = 0;
|
||||
fanSpeedError(1); //print fan
|
||||
}
|
||||
|
|
@ -535,31 +538,31 @@ static void fanSpeedErrorBeep(const char *serialMsg, const char *lcdMsg){
|
|||
}
|
||||
|
||||
void fanSpeedError(unsigned char _fan) {
|
||||
if (get_message_level() != 0 && isPrintPaused) return;
|
||||
//to ensure that target temp. is not set to zero in case taht we are resuming print
|
||||
if (get_message_level() != 0 && isPrintPaused) return;
|
||||
//to ensure that target temp. is not set to zero in case that we are resuming print
|
||||
if (card.sdprinting || is_usb_printing) {
|
||||
if (heating_status != 0) {
|
||||
lcd_print_stop();
|
||||
}
|
||||
else {
|
||||
fan_check_error = EFCE_DETECTED;
|
||||
fan_check_error = EFCE_DETECTED; //plans error for next processed command
|
||||
}
|
||||
}
|
||||
else {
|
||||
SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSE); //for octoprint
|
||||
setTargetHotend0(0);
|
||||
heating_status = 0;
|
||||
fan_check_error = EFCE_REPORTED;
|
||||
// SERIAL_PROTOCOLLNRPGM(MSG_OCTOPRINT_PAUSED); //Why pause octoprint? is_usb_printing would be true in that case, so there is no need for this.
|
||||
setTargetHotend0(0);
|
||||
heating_status = 0;
|
||||
fan_check_error = EFCE_REPORTED;
|
||||
}
|
||||
switch (_fan) {
|
||||
case 0: // extracting the same code from case 0 and case 1 into a function saves 72B
|
||||
fanSpeedErrorBeep(PSTR("Extruder fan speed is lower than expected"), PSTR("Err: EXTR. FAN ERROR") );
|
||||
fanSpeedErrorBeep(PSTR("Extruder fan speed is lower than expected"), MSG_FANCHECK_EXTRUDER);
|
||||
break;
|
||||
case 1:
|
||||
fanSpeedErrorBeep(PSTR("Print fan speed is lower than expected"), PSTR("Err: PRINT FAN ERROR") );
|
||||
fanSpeedErrorBeep(PSTR("Print fan speed is lower than expected"), MSG_FANCHECK_PRINT);
|
||||
break;
|
||||
}
|
||||
SERIAL_PROTOCOLLNRPGM(MSG_OK);
|
||||
// SERIAL_PROTOCOLLNRPGM(MSG_OK); //This ok messes things up with octoprint.
|
||||
}
|
||||
#endif //(defined(TACH_0) && TACH_0 >-1) || (defined(TACH_1) && TACH_1 > -1)
|
||||
|
||||
|
|
@ -1571,7 +1574,9 @@ extern "C" {
|
|||
void adc_ready(void) //callback from adc when sampling finished
|
||||
{
|
||||
current_temperature_raw[0] = adc_values[ADC_PIN_IDX(TEMP_0_PIN)]; //heater
|
||||
#ifdef PINDA_THERMISTOR
|
||||
current_temperature_raw_pinda_fast = adc_values[ADC_PIN_IDX(TEMP_PINDA_PIN)];
|
||||
#endif //PINDA_THERMISTOR
|
||||
current_temperature_bed_raw = adc_values[ADC_PIN_IDX(TEMP_BED_PIN)];
|
||||
#ifdef VOLT_PWR_PIN
|
||||
current_voltage_raw_pwr = adc_values[ADC_PIN_IDX(VOLT_PWR_PIN)];
|
||||
|
|
|
|||
|
|
@ -246,6 +246,7 @@ void checkExtruderAutoFans();
|
|||
|
||||
enum {
|
||||
EFCE_OK = 0, //!< normal operation, both fans are ok
|
||||
EFCE_FIXED, //!< previous fan error was fixed
|
||||
EFCE_DETECTED, //!< fan error detected, but not reported yet
|
||||
EFCE_REPORTED //!< fan error detected and reported to LCD and serial
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
//! @file
|
||||
|
||||
#include "Marlin.h"
|
||||
|
||||
#ifdef TMC2130
|
||||
|
|
@ -425,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
|
||||
|
|
@ -598,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;
|
||||
}
|
||||
|
||||
|
|
@ -1009,6 +1011,79 @@ bool tmc2130_home_calibrate(uint8_t axis)
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
//! @brief Translate current to tmc2130 vsense and IHOLD or IRUN
|
||||
//! @param cur current in mA
|
||||
//! @return 0 .. 63
|
||||
//! @n most significant bit is CHOPCONF vsense bit (sense resistor voltage based current scaling)
|
||||
//! @n rest is to be used in IRUN or IHOLD register
|
||||
//!
|
||||
//! | mA | trinamic register | note |
|
||||
//! | --- | --- | --- |
|
||||
//! | 0 | 0 | doesn't mean current off, lowest current is 1/32 current with vsense low range |
|
||||
//! | 30 | 1 | |
|
||||
//! | 40 | 2 | |
|
||||
//! | 60 | 3 | |
|
||||
//! | 90 | 4 | |
|
||||
//! | 100 | 5 | |
|
||||
//! | 120 | 6 | |
|
||||
//! | 130 | 7 | |
|
||||
//! | 150 | 8 | |
|
||||
//! | 180 | 9 | |
|
||||
//! | 190 | 10 | |
|
||||
//! | 210 | 11 | |
|
||||
//! | 230 | 12 | |
|
||||
//! | 240 | 13 | |
|
||||
//! | 250 | 13 | |
|
||||
//! | 260 | 14 | |
|
||||
//! | 280 | 15 | |
|
||||
//! | 300 | 16 | |
|
||||
//! | 320 | 17 | |
|
||||
//! | 340 | 18 | |
|
||||
//! | 350 | 19 | |
|
||||
//! | 370 | 20 | |
|
||||
//! | 390 | 21 | |
|
||||
//! | 410 | 22 | |
|
||||
//! | 430 | 23 | |
|
||||
//! | 450 | 24 | |
|
||||
//! | 460 | 25 | |
|
||||
//! | 480 | 26 | |
|
||||
//! | 500 | 27 | |
|
||||
//! | 520 | 28 | |
|
||||
//! | 535 | 29 | |
|
||||
//! | N/D | 30 | extruder default |
|
||||
//! | 540 | 33 | |
|
||||
//! | 560 | 34 | |
|
||||
//! | 580 | 35 | |
|
||||
//! | 590 | 36 | farm mode extruder default |
|
||||
//! | 610 | 37 | |
|
||||
//! | 630 | 38 | |
|
||||
//! | 640 | 39 | |
|
||||
//! | 660 | 40 | |
|
||||
//! | 670 | 41 | |
|
||||
//! | 690 | 42 | |
|
||||
//! | 710 | 43 | |
|
||||
//! | 720 | 44 | |
|
||||
//! | 730 | 45 | |
|
||||
//! | 760 | 46 | |
|
||||
//! | 770 | 47 | |
|
||||
//! | 790 | 48 | |
|
||||
//! | 810 | 49 | |
|
||||
//! | 820 | 50 | |
|
||||
//! | 840 | 51 | |
|
||||
//! | 850 | 52 | |
|
||||
//! | 870 | 53 | |
|
||||
//! | 890 | 54 | |
|
||||
//! | 900 | 55 | |
|
||||
//! | 920 | 56 | |
|
||||
//! | 940 | 57 | |
|
||||
//! | 950 | 58 | |
|
||||
//! | 970 | 59 | |
|
||||
//! | 980 | 60 | |
|
||||
//! | 1000 | 61 | |
|
||||
//! | 1020 | 62 | |
|
||||
//! | 1029 | 63 | |
|
||||
|
||||
uint8_t tmc2130_cur2val(float cur)
|
||||
{
|
||||
if (cur < 0) cur = 0; //limit min
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -49,6 +49,7 @@ unsigned char lcd_choose_color();
|
|||
void lcd_load_filament_color_check();
|
||||
//void lcd_mylang();
|
||||
|
||||
extern void lcd_belttest();
|
||||
extern bool lcd_selftest();
|
||||
|
||||
void lcd_menu_statistics();
|
||||
|
|
@ -170,6 +171,7 @@ enum class FilamentAction : uint_least8_t
|
|||
MmuEject,
|
||||
MmuCut,
|
||||
Preheat,
|
||||
Lay1Cal,
|
||||
};
|
||||
|
||||
extern FilamentAction eFilamentAction;
|
||||
|
|
@ -178,7 +180,7 @@ extern bool bFilamentPreheatState;
|
|||
extern bool bFilamentAction;
|
||||
void mFilamentItem(uint16_t nTemp,uint16_t nTempBed);
|
||||
void mFilamentItemForce();
|
||||
void mFilamentMenu();
|
||||
void lcd_generic_preheat_menu();
|
||||
void unload_filament();
|
||||
|
||||
void stack_error();
|
||||
|
|
@ -198,7 +200,9 @@ void lcd_wait_for_cool_down();
|
|||
void lcd_extr_cal_reset();
|
||||
|
||||
void lcd_temp_cal_show_result(bool result);
|
||||
#ifdef PINDA_THERMISTOR
|
||||
bool lcd_wait_for_pinda(float temp);
|
||||
#endif //PINDA_THERMISTOR
|
||||
|
||||
|
||||
void bowden_menu();
|
||||
|
|
@ -224,18 +228,19 @@ bool lcd_autoDepleteEnabled();
|
|||
//! @brief Wizard state
|
||||
enum class WizState : uint8_t
|
||||
{
|
||||
Run, //!< run wizard? Entry point.
|
||||
Run, //!< run wizard? Main entry point.
|
||||
Restore, //!< restore calibration status
|
||||
Selftest,
|
||||
Selftest, //!< self test
|
||||
Xyz, //!< xyz calibration
|
||||
Z, //!< z calibration
|
||||
IsFil, //!< Is filament loaded? Entry point for 1st layer calibration
|
||||
IsFil, //!< Is filament loaded? First step of 1st layer calibration
|
||||
PreheatPla, //!< waiting for preheat nozzle for PLA
|
||||
Preheat, //!< Preheat for any material
|
||||
Unload, //!< Unload filament
|
||||
LoadFil, //!< Load filament
|
||||
LoadFilCold, //!< Load filament for MMU
|
||||
LoadFilHot, //!< Load filament without MMU
|
||||
IsPla, //!< Is PLA filament?
|
||||
Lay1Cal, //!< First layer calibration
|
||||
Lay1CalCold, //!< First layer calibration, temperature not selected yet
|
||||
Lay1CalHot, //!< First layer calibration, temperature already selected
|
||||
RepeatLay1Cal, //!< Repeat first layer calibration?
|
||||
Finish, //!< Deactivate wizard
|
||||
};
|
||||
|
|
|
|||
|
|
@ -341,13 +341,17 @@ if(oCheckMode==ClCheckMode::_Undef)
|
|||
eeprom_update_byte((uint8_t*)EEPROM_CHECK_MODE,(uint8_t)oCheckMode);
|
||||
}
|
||||
if(farm_mode)
|
||||
{
|
||||
oCheckMode=ClCheckMode::_Strict;
|
||||
if(eeprom_read_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM)==EEPROM_EMPTY_VALUE16)
|
||||
eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,EEPROM_NOZZLE_DIAMETER_uM_DEFAULT);
|
||||
}
|
||||
oNozzleDiameter=(ClNozzleDiameter)eeprom_read_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER);
|
||||
if((oNozzleDiameter==ClNozzleDiameter::_Diameter_Undef)&& !farm_mode)
|
||||
{
|
||||
oNozzleDiameter=ClNozzleDiameter::_Diameter_400;
|
||||
eeprom_update_byte((uint8_t*)EEPROM_NOZZLE_DIAMETER,(uint8_t)oNozzleDiameter);
|
||||
eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,400);
|
||||
eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,EEPROM_NOZZLE_DIAMETER_uM_DEFAULT);
|
||||
}
|
||||
oCheckModel=(ClCheckModel)eeprom_read_byte((uint8_t*)EEPROM_CHECK_MODEL);
|
||||
if(oCheckModel==ClCheckModel::_Undef)
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ inline void eeprom_update_int8(unsigned char* addr, int8_t v) {
|
|||
|
||||
|
||||
//-//
|
||||
#define EEPROM_NOZZLE_DIAMETER_uM_DEFAULT 400
|
||||
|
||||
enum class ClPrintChecking:uint_least8_t
|
||||
{
|
||||
_Nozzle=1,
|
||||
|
|
|
|||
15
README.md
15
README.md
|
|
@ -111,7 +111,9 @@ Now your Ubuntu subsystem is ready to use the automatic `PF-build.sh` script and
|
|||
- Unix and windows have different line endings (LF vs CRLF), try dos2unix to convert
|
||||
- This should fix the `"$'\r': command not found"` error
|
||||
- to install run `apt-get install dos2unix`
|
||||
|
||||
- If your Windows isn't in English the Paths may look different
|
||||
Example in other languages
|
||||
- English `/mnt/c/Users/<your-username>/Downloads/Prusa-Firmware-MK3` will be on a German Windows`/mnt/c/Anwender/<your-username>/Downloads/Prusa-Firmware-MK3`
|
||||
#### Compile Prusa-firmware with Ubuntu Linux subsystem installed
|
||||
- open Ubuntu bash
|
||||
- change to your source code folder (case sensitive)
|
||||
|
|
@ -123,11 +125,14 @@ _notes: Script and instructions contributed by 3d-gussner. Use at your own risk.
|
|||
- Download and install the 64bit Git version https://git-scm.com/download/win
|
||||
- Also follow these instructions https://gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058
|
||||
- Download and install 7z-zip from its official website https://www.7-zip.org/
|
||||
By default, it is installed under the directory /c/Program Files/7-Zip in Windows 10
|
||||
By default, it is installed under the directory /c/Program\ Files/7-Zip in Windows 10
|
||||
- Run `Git-Bash` under Administrator privilege
|
||||
- navigate to the directory /c/Program Files/Git/mingw64/bin
|
||||
- run `ln -s /c/Program Files/7-Zip/7z.exe zip.exe`
|
||||
|
||||
- navigate to the directory /c/Program\ Files/Git/mingw64/bin
|
||||
- run `ln -s /c/Program\ Files/7-Zip/7z.exe zip.exe`
|
||||
- If your Windows isn't in English the Paths may look different
|
||||
Example in other languages
|
||||
- English `/mnt/c/Users/<your-username>/Downloads/Prusa-Firmware-MK3` will be on a German Windows`/mnt/c/Anwender/<your-username>/Downloads/Prusa-Firmware-MK3`
|
||||
- English `ln -s /c/Program\ Files/7-Zip/7z.exe zip.exe` will be on a Spanish Windows `ln -s /c/Archivos\ de\ programa/7-Zip/7z.exe zip.exe`
|
||||
#### Compile Prusa-firmware with Git-bash installed
|
||||
- open Git-bash
|
||||
- change to your source code folder
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -4,7 +4,19 @@
|
|||
# for importing translated xx.po
|
||||
|
||||
LNG=$1
|
||||
if [ -z "$LNG" ]; then exit -1; fi
|
||||
# if no arguments, 'all' is selected (all po and also pot will be generated)
|
||||
if [ -z "$LNG" ]; then LNG=all; fi
|
||||
|
||||
# if 'all' is selected, script will generate all po files and also pot file
|
||||
if [ "$LNG" = "all" ]; then
|
||||
./lang-import.sh cz
|
||||
./lang-import.sh de
|
||||
./lang-import.sh es
|
||||
./lang-import.sh fr
|
||||
./lang-import.sh it
|
||||
./lang-import.sh pl
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# language code (iso639-1) is equal to LNG
|
||||
LNGISO=$LNG
|
||||
|
|
@ -28,43 +40,51 @@ sed -i 's/ \\n/ /g;s/\\n/ /g' $LNG'_filtered.po'
|
|||
|
||||
#replace in czech translation
|
||||
if [ "$LNG" = "cz" ]; then
|
||||
#replace 'ž' with 'z'
|
||||
#replace 'ž' with 'z'
|
||||
sed -i 's/\xc5\xbe/z/g' $LNG'_filtered.po'
|
||||
#replace 'ì' with 'e'
|
||||
#replace 'ì' with 'e'
|
||||
sed -i 's/\xc4\x9b/e/g' $LNG'_filtered.po'
|
||||
#replace 'í' with 'i'
|
||||
#replace 'í' with 'i'
|
||||
sed -i 's/\xc3\xad/i/g' $LNG'_filtered.po'
|
||||
#replace 'ø' with 'r'
|
||||
#replace 'ø' with 'r'
|
||||
sed -i 's/\xc5\x99/r/g' $LNG'_filtered.po'
|
||||
#replace 'è' with 'c'
|
||||
#replace 'è' with 'c'
|
||||
sed -i 's/\xc4\x8d/c/g' $LNG'_filtered.po'
|
||||
#replace 'á' with 'a'
|
||||
#replace 'á' with 'a'
|
||||
sed -i 's/\xc3\xa1/a/g' $LNG'_filtered.po'
|
||||
#replace 'é' with 'e'
|
||||
#replace 'é' with 'e'
|
||||
sed -i 's/\xc3\xa9/e/g' $LNG'_filtered.po'
|
||||
fi
|
||||
|
||||
#replace in german translation
|
||||
#replace in german translation https://en.wikipedia.org/wiki/German_orthography
|
||||
if [ "$LNG" = "de" ]; then
|
||||
#replace 'ä' with 'ae'
|
||||
#replace 'ä' with 'ae'
|
||||
sed -i 's/\xc3\xa4/ae/g' $LNG'_filtered.po'
|
||||
#replace 'ü' with 'ue'
|
||||
#replace 'Ä' with 'Ae'
|
||||
sed -i 's/\xc3\x84/Ae/g' $LNG'_filtered.po'
|
||||
#replace 'ü' with 'ue'
|
||||
sed -i 's/\xc3\xbc/ue/g' $LNG'_filtered.po'
|
||||
#replace 'ö' with 'oe'
|
||||
#replace 'Ü' with 'Ue'
|
||||
sed -i 's/\xc3\x9c/Ue/g' $LNG'_filtered.po'
|
||||
#replace 'ö' with 'oe'
|
||||
sed -i 's/\xc3\xb6/oe/g' $LNG'_filtered.po'
|
||||
#replace 'Ö' with 'Oe'
|
||||
sed -i 's/\xc3\x96/Oe/g' $LNG'_filtered.po'
|
||||
#replace 'ß' with 'ss'
|
||||
sed -i 's/\xc3\x9f/ss/g' $LNG'_filtered.po'
|
||||
fi
|
||||
|
||||
#replace in spain translation
|
||||
if [ "$LNG" = "es" ]; then
|
||||
#replace 'á' with 'a'
|
||||
#replace 'á' with 'a'
|
||||
sed -i 's/\xc3\xa1/a/g' $LNG'_filtered.po'
|
||||
#replace '?' with '?'
|
||||
#replace '¿' with '?'
|
||||
sed -i 's/\xc2\xbf/?/g' $LNG'_filtered.po'
|
||||
#replace 'ó' with 'o'
|
||||
#replace 'ó' with 'o'
|
||||
sed -i 's/\xc3\xb3/o/g' $LNG'_filtered.po'
|
||||
#replace 'é' with 'e'
|
||||
#replace 'é' with 'e'
|
||||
sed -i 's/\xc3\xa9/e/g' $LNG'_filtered.po'
|
||||
#replace 'í' with 'i'
|
||||
#replace 'í' with 'i'
|
||||
sed -i 's/\xc3\xad/i/g' $LNG'_filtered.po'
|
||||
#replace '!' with '!'
|
||||
sed -i 's/\xc2\xa1/!/g' $LNG'_filtered.po'
|
||||
|
|
@ -72,31 +92,39 @@ if [ "$LNG" = "es" ]; then
|
|||
sed -i 's/\xc3\xb1/n/g' $LNG'_filtered.po'
|
||||
fi
|
||||
|
||||
#replace in french translation
|
||||
#replace in french translation https://en.wikipedia.org/wiki/French_orthography
|
||||
if [ "$LNG" = "fr" ]; then
|
||||
#replace 'é' with 'e'
|
||||
sed -i 's/\xc3\xa9/e/g' $LNG'_filtered.po'
|
||||
#replace 'É' with 'E'
|
||||
sed -i 's/\xc3\x89/E/g' $LNG'_filtered.po'
|
||||
#replace 'é' with 'e' (left)
|
||||
sed -i 's/\xc3\xa8/e/g' $LNG'_filtered.po'
|
||||
#replace 'á' with 'a' (left)
|
||||
#replace 'á' with 'a' (right)
|
||||
sed -i 's/\xc3\xa1/a/g' $LNG'_filtered.po'
|
||||
#replace 'Á' with 'A' (right)
|
||||
sed -i 's/\xc3\x81/A/g' $LNG'_filtered.po'
|
||||
#replace 'à' with 'a' (left)
|
||||
sed -i 's/\xc3\xa0/a/g' $LNG'_filtered.po'
|
||||
#replace 'À' with 'A' (left)
|
||||
sed -i 's/\xc3\x80/A/g' $LNG'_filtered.po'
|
||||
#replace 'é' with 'e' (right)
|
||||
sed -i 's/\xc3\xa9/e/g' $LNG'_filtered.po'
|
||||
#replace 'É' with 'E' (right)
|
||||
sed -i 's/\xc3\x89/E/g' $LNG'_filtered.po'
|
||||
#replace 'è' with 'e' (left)
|
||||
sed -i 's/\xc3\xa8/e/g' $LNG'_filtered.po'
|
||||
#replace 'È' with 'E' (left)
|
||||
sed -i 's/\xc3\x88/E/g' $LNG'_filtered.po'
|
||||
fi
|
||||
|
||||
#replace in italian translation
|
||||
if [ "$LNG" = "it" ]; then
|
||||
#replace 'é' with 'e' (left)
|
||||
#replace 'é' with 'e' (left)
|
||||
sed -i 's/\xc3\xa8/e/g' $LNG'_filtered.po'
|
||||
#replace 'á' with 'a' (left)
|
||||
#replace 'á' with 'a' (left)
|
||||
sed -i 's/\xc3\xa0/a/g' $LNG'_filtered.po'
|
||||
#replace 'ó' with 'o' (left)
|
||||
#replace 'ó' with 'o' (left)
|
||||
sed -i 's/\xc3\xb2/o/g' $LNG'_filtered.po'
|
||||
#replace 'ú' with 'u' (left)
|
||||
#replace 'ú' with 'u' (left)
|
||||
sed -i 's/\xc3\xb9/u/g' $LNG'_filtered.po'
|
||||
#replace 'é' with 'e'
|
||||
#replace 'é' with 'e'
|
||||
sed -i 's/\xc3\xa9/e/g' $LNG'_filtered.po'
|
||||
#replace 'É' with 'E' (left)
|
||||
#replace 'É' with 'E' (left)
|
||||
sed -i 's/\xc3\x88/E/g' $LNG'_filtered.po'
|
||||
fi
|
||||
|
||||
|
|
|
|||
261
lang/lang_en.txt
261
lang/lang_en.txt
|
|
@ -1,3 +1,6 @@
|
|||
#
|
||||
"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
|
||||
|
||||
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14
|
||||
" of 4"
|
||||
|
||||
|
|
@ -34,14 +37,8 @@
|
|||
#MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2
|
||||
"Are left and right Z~carriages all up?"
|
||||
|
||||
#MSG_AUTO_DEPLETE_ON c=17 r=1
|
||||
"SpoolJoin [on]"
|
||||
|
||||
#
|
||||
"SpoolJoin [N/A]"
|
||||
|
||||
#MSG_AUTO_DEPLETE_OFF c=17 r=1
|
||||
"SpoolJoin [off]"
|
||||
#MSG_AUTO_DEPLETE c=17 r=1
|
||||
"SpoolJoin"
|
||||
|
||||
#MSG_AUTO_HOME
|
||||
"Auto home"
|
||||
|
|
@ -127,14 +124,10 @@
|
|||
#
|
||||
"Copy selected language?"
|
||||
|
||||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
|
||||
#MSG_CRASHDETECT_OFF
|
||||
"Crash det. [off]"
|
||||
#MSG_CRASHDETECT
|
||||
"Crash det."
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
|
||||
#MSG_CRASH_DETECTED c=20 r=1
|
||||
"Crash detected."
|
||||
|
|
@ -166,9 +159,6 @@
|
|||
#MSG_EJECT_FILAMENT c=17 r=1
|
||||
"Eject filament"
|
||||
|
||||
#
|
||||
"Eject"
|
||||
|
||||
#MSG_EJECTING_FILAMENT c=20 r=1
|
||||
"Ejecting filament"
|
||||
|
||||
|
|
@ -202,14 +192,8 @@
|
|||
#
|
||||
"Fail stats MMU"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
|
||||
"F. autoload [on]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
|
||||
"F. autoload [N/A]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_OFF c=17 r=1
|
||||
"F. autoload [off]"
|
||||
#MSG_FSENSOR_AUTOLOAD
|
||||
"F. autoload"
|
||||
|
||||
#
|
||||
"Fail stats"
|
||||
|
|
@ -220,20 +204,11 @@
|
|||
#MSG_SELFTEST_FAN c=20
|
||||
"Fan test"
|
||||
|
||||
#MSG_FANS_CHECK_ON c=17 r=1
|
||||
"Fans check [on]"
|
||||
#MSG_FANS_CHECK
|
||||
"Fans check"
|
||||
|
||||
#MSG_FANS_CHECK_OFF c=17 r=1
|
||||
"Fans check [off]"
|
||||
|
||||
#MSG_FSENSOR_ON
|
||||
"Fil. sensor [on]"
|
||||
|
||||
#MSG_FSENSOR_NA
|
||||
"Fil. sensor [N/A]"
|
||||
|
||||
#MSG_FSENSOR_OFF
|
||||
"Fil. sensor [off]"
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
|
||||
#
|
||||
"Filam. runouts"
|
||||
|
|
@ -346,33 +321,24 @@
|
|||
#MSG_WIZARD_Z_CAL c=20 r=8
|
||||
"I will run z calibration now."
|
||||
|
||||
#MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
"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_WATCH
|
||||
"Info screen"
|
||||
|
||||
#
|
||||
"Is filament 1 loaded?"
|
||||
|
||||
#MSG_INSERT_FILAMENT c=20
|
||||
"Insert filament"
|
||||
|
||||
#MSG_WIZARD_FILAMENT_LOADED c=20 r=2
|
||||
"Is filament loaded?"
|
||||
|
||||
#MSG_WIZARD_PLA_FILAMENT c=20 r=2
|
||||
"Is it PLA filament?"
|
||||
|
||||
#MSG_PLA_FILAMENT_LOADED c=20 r=2
|
||||
"Is PLA filament loaded?"
|
||||
|
||||
#MSG_STEEL_SHEET_CHECK c=20 r=2
|
||||
"Is steel sheet on heatbed?"
|
||||
|
||||
#
|
||||
"Last print failures"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
|
||||
|
|
@ -439,11 +405,14 @@
|
|||
#MSG_MMU_OK_RESUMING c=20 r=4
|
||||
"MMU OK. Resuming..."
|
||||
|
||||
#MSG_STEALTH_MODE_OFF
|
||||
"Mode [Normal]"
|
||||
#MSG_MODE
|
||||
"Mode"
|
||||
|
||||
#MSG_SILENT_MODE_ON
|
||||
"Mode [silent]"
|
||||
#MSG_NORMAL
|
||||
"Normal"
|
||||
|
||||
#MSG_SILENT
|
||||
"Silent"
|
||||
|
||||
#
|
||||
"MMU needs user attention."
|
||||
|
|
@ -451,14 +420,14 @@
|
|||
#
|
||||
"MMU power fails"
|
||||
|
||||
#MSG_STEALTH_MODE_ON
|
||||
"Mode [Stealth]"
|
||||
#MSG_STEALTH
|
||||
"Stealth"
|
||||
|
||||
#MSG_AUTO_MODE_ON
|
||||
"Mode [auto power]"
|
||||
#MSG_AUTO_POWER
|
||||
"Auto power"
|
||||
|
||||
#MSG_SILENT_MODE_OFF
|
||||
"Mode [high power]"
|
||||
#MSG_HIGH_POWER
|
||||
"High power"
|
||||
|
||||
#
|
||||
"MMU2 connected"
|
||||
|
|
@ -484,7 +453,7 @@
|
|||
#MSG_NO_CARD
|
||||
"No SD card"
|
||||
|
||||
#
|
||||
#MSG_NA
|
||||
"N/A"
|
||||
|
||||
#MSG_NO
|
||||
|
|
@ -547,12 +516,6 @@
|
|||
#MSG_WIZARD_CALIBRATION_FAILED c=20 r=8
|
||||
"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
|
||||
|
||||
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
"Please insert PLA filament to the extruder, then press knob to load it."
|
||||
|
||||
#MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
"Please load PLA filament first."
|
||||
|
||||
#MSG_CHECK_IDLER c=20 r=4
|
||||
"Please open idler and remove filament manually."
|
||||
|
||||
|
|
@ -562,9 +525,6 @@
|
|||
#MSG_PRESS_TO_UNLOAD c=20 r=4
|
||||
"Please press the knob to unload filament"
|
||||
|
||||
#
|
||||
"Please insert PLA filament to the first tube of MMU, then press the knob to load it."
|
||||
|
||||
#MSG_PULL_OUT_FILAMENT c=20 r=4
|
||||
"Please pull out filament immediately"
|
||||
|
||||
|
|
@ -634,6 +594,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"
|
||||
|
||||
|
|
@ -664,20 +633,17 @@
|
|||
#MSG_BED_CORRECTION_RIGHT c=14 r=1
|
||||
"Right side[um]"
|
||||
|
||||
#MSG_SECOND_SERIAL_ON c=17 r=1
|
||||
"RPi port [on]"
|
||||
|
||||
#MSG_SECOND_SERIAL_OFF c=17 r=1
|
||||
"RPi port [off]"
|
||||
#MSG_RPI_PORT
|
||||
"RPi port"
|
||||
|
||||
#MSG_WIZARD_RERUN c=20 r=7
|
||||
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
|
||||
"SD card [normal]"
|
||||
#MSG_SD_CARD
|
||||
"SD card"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
|
||||
"SD card [flshAir]"
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
|
||||
"FlashAir"
|
||||
|
||||
#
|
||||
"Right"
|
||||
|
|
@ -709,9 +675,6 @@
|
|||
#
|
||||
"Select nozzle preheat temperature which matches your material."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
|
||||
|
|
@ -727,38 +690,38 @@
|
|||
#MSG_FILE_CNT c=20 r=4
|
||||
"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
|
||||
|
||||
#MSG_SORT_NONE c=17 r=1
|
||||
"Sort [none]"
|
||||
#MSG_SORT
|
||||
"Sort"
|
||||
|
||||
#MSG_SORT_TIME c=17 r=1
|
||||
"Sort [time]"
|
||||
#MSG_NONE
|
||||
"None"
|
||||
|
||||
#MSG_SORT_TIME
|
||||
"Time"
|
||||
|
||||
#
|
||||
"Severe skew"
|
||||
"Severe skew:"
|
||||
|
||||
#MSG_SORT_ALPHA c=17 r=1
|
||||
"Sort [alphabet]"
|
||||
#MSG_SORT_ALPHA
|
||||
"Alphabet"
|
||||
|
||||
#MSG_SORTING c=20 r=1
|
||||
"Sorting files"
|
||||
|
||||
#MSG_SOUND_LOUD c=17 r=1
|
||||
"Sound [loud]"
|
||||
#MSG_SOUND_LOUD
|
||||
"Loud"
|
||||
|
||||
#
|
||||
"Slight skew"
|
||||
"Slight skew:"
|
||||
|
||||
#MSG_SOUND_MUTE c=17 r=1
|
||||
"Sound [mute]"
|
||||
#MSG_SOUND
|
||||
"Sound"
|
||||
|
||||
#
|
||||
"Some problem encountered, Z-leveling enforced ..."
|
||||
|
||||
#MSG_SOUND_ONCE c=17 r=1
|
||||
"Sound [once]"
|
||||
|
||||
#MSG_SOUND_SILENT c=17 r=1
|
||||
"Sound [silent]"
|
||||
#MSG_SOUND_ONCE
|
||||
"Once"
|
||||
|
||||
#MSG_SPEED
|
||||
"Speed"
|
||||
|
|
@ -784,14 +747,14 @@
|
|||
#MSG_SELFTEST_SWAPPED
|
||||
"Swapped"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
#
|
||||
"Select filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
#MSG_TEMP_CALIBRATION c=12 r=1
|
||||
"Temp. cal."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
|
||||
#MSG_CALIBRATION_PINDA_MENU c=17 r=1
|
||||
"Temp. calibration"
|
||||
|
|
@ -925,11 +888,17 @@
|
|||
#
|
||||
"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:"
|
||||
|
||||
#MSG_OFF
|
||||
" [off]"
|
||||
"Off"
|
||||
|
||||
#MSG_ON
|
||||
"On"
|
||||
|
||||
#
|
||||
"Back"
|
||||
|
|
@ -943,14 +912,14 @@
|
|||
#
|
||||
"FINDA:"
|
||||
|
||||
#
|
||||
"Firmware [none]"
|
||||
#MSG_FIRMWARE
|
||||
"Firmware"
|
||||
|
||||
#
|
||||
"Firmware [strict]"
|
||||
#MSG_STRICT
|
||||
"Strict"
|
||||
|
||||
#
|
||||
"Firmware [warn]"
|
||||
#MSG_WARN
|
||||
"Warn"
|
||||
|
||||
#
|
||||
"HW Setup"
|
||||
|
|
@ -958,20 +927,11 @@
|
|||
#
|
||||
"IR:"
|
||||
|
||||
#
|
||||
"Magnets comp.[N/A]"
|
||||
#MSG_MAGNETS_COMP
|
||||
"Magnets comp."
|
||||
|
||||
#
|
||||
"Magnets comp.[Off]"
|
||||
|
||||
#
|
||||
"Magnets comp. [On]"
|
||||
|
||||
#
|
||||
"Mesh [3x3]"
|
||||
|
||||
#
|
||||
"Mesh [7x7]"
|
||||
#MSG_MESH
|
||||
"Mesh"
|
||||
|
||||
#
|
||||
"Mesh bed leveling"
|
||||
|
|
@ -979,41 +939,17 @@
|
|||
#
|
||||
"MK3S firmware detected on MK3 printer"
|
||||
|
||||
#
|
||||
"MMU Mode [Normal]"
|
||||
|
||||
#
|
||||
"MMU Mode[Stealth]"
|
||||
#MSG_MMU_MODE
|
||||
"MMU Mode"
|
||||
|
||||
#
|
||||
"Mode change in progress ..."
|
||||
|
||||
#
|
||||
"Model [none]"
|
||||
#MSG_MODEL
|
||||
"Model"
|
||||
|
||||
#
|
||||
"Model [strict]"
|
||||
|
||||
#
|
||||
"Model [warn]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.25]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.40]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.60]"
|
||||
|
||||
#
|
||||
"Nozzle [none]"
|
||||
|
||||
#
|
||||
"Nozzle [strict]"
|
||||
|
||||
#
|
||||
"Nozzle [warn]"
|
||||
#MSG_NOZZLE_DIAMETER
|
||||
"Nozzle d."
|
||||
|
||||
#
|
||||
"G-code sliced for a different level. Continue?"
|
||||
|
|
@ -1060,8 +996,8 @@
|
|||
#
|
||||
"Sheet"
|
||||
|
||||
#
|
||||
"Sound [assist]"
|
||||
#MSG_SOUND_BLIND
|
||||
"Assist"
|
||||
|
||||
#
|
||||
"Steel sheets"
|
||||
|
|
@ -1069,8 +1005,5 @@
|
|||
#
|
||||
"Z-correct:"
|
||||
|
||||
#
|
||||
"Z-probe nr. [1]"
|
||||
|
||||
#
|
||||
"Z-probe nr. [3]"
|
||||
#MSG_Z_PROBE_NR
|
||||
"Z-probe nr."
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
#
|
||||
"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
|
||||
"[%.7s]Doladeni Z\x0auz nastaveno, pouzit\x0anebo reset od nuly?\x0a%cPokracovat%cReset"
|
||||
|
||||
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14
|
||||
" of 4"
|
||||
" z 4"
|
||||
|
|
@ -46,18 +50,10 @@
|
|||
"Are left and right Z~carriages all up?"
|
||||
"Dojely oba Z voziky k~hornimu dorazu?"
|
||||
|
||||
#MSG_AUTO_DEPLETE_ON c=17 r=1
|
||||
"SpoolJoin [on]"
|
||||
"SpoolJoin [zap]"
|
||||
|
||||
#
|
||||
"SpoolJoin [N/A]"
|
||||
#MSG_AUTO_DEPLETE c=17 r=1
|
||||
"SpoolJoin"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_DEPLETE_OFF c=17 r=1
|
||||
"SpoolJoin [off]"
|
||||
"SpoolJoin [vyp]"
|
||||
|
||||
#MSG_AUTO_HOME
|
||||
"Auto home"
|
||||
"\x00"
|
||||
|
|
@ -68,7 +64,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..."
|
||||
|
|
@ -92,7 +88,7 @@
|
|||
|
||||
#MSG_BED_HEATING
|
||||
"Bed Heating"
|
||||
"Zahrivani bed"
|
||||
"Zahrivani bedu"
|
||||
|
||||
#MSG_BED_CORRECTION_MENU
|
||||
"Bed level correct"
|
||||
|
|
@ -170,17 +166,13 @@
|
|||
"Copy selected language?"
|
||||
"Kopirovat vybrany jazyk?"
|
||||
|
||||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
"Crash det. [zap]"
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
#MSG_CRASHDETECT
|
||||
"Crash det."
|
||||
"\x00"
|
||||
|
||||
#MSG_CRASHDETECT_OFF
|
||||
"Crash det. [off]"
|
||||
"Crash det. [vyp]"
|
||||
#
|
||||
"Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu"
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
|
||||
#MSG_CRASH_DETECTED c=20 r=1
|
||||
"Crash detected."
|
||||
|
|
@ -222,10 +214,6 @@
|
|||
"Eject filament"
|
||||
"Vysunout filament"
|
||||
|
||||
#
|
||||
"Eject"
|
||||
"Vysunout"
|
||||
|
||||
#MSG_EJECTING_FILAMENT c=20 r=1
|
||||
"Ejecting filament"
|
||||
"Vysouvam filament"
|
||||
|
|
@ -270,17 +258,9 @@
|
|||
"Fail stats MMU"
|
||||
"Selhani MMU"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
|
||||
"F. autoload [on]"
|
||||
"F. autozav. [zap]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
|
||||
"F. autoload [N/A]"
|
||||
"F. autozav. [N/A]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_OFF c=17 r=1
|
||||
"F. autoload [off]"
|
||||
"F. autozav. [vyp]"
|
||||
#MSG_FSENSOR_AUTOLOAD
|
||||
"F. autoload"
|
||||
"F. autozav."
|
||||
|
||||
#
|
||||
"Fail stats"
|
||||
|
|
@ -294,25 +274,13 @@
|
|||
"Fan test"
|
||||
"Test ventilatoru"
|
||||
|
||||
#MSG_FANS_CHECK_ON c=17 r=1
|
||||
"Fans check [on]"
|
||||
"Kontr. vent.[zap]"
|
||||
#MSG_FANS_CHECK
|
||||
"Fans check"
|
||||
"Kontr. vent."
|
||||
|
||||
#MSG_FANS_CHECK_OFF c=17 r=1
|
||||
"Fans check [off]"
|
||||
"Kontr. vent.[vyp]"
|
||||
|
||||
#MSG_FSENSOR_ON
|
||||
"Fil. sensor [on]"
|
||||
"Fil. senzor [zap]"
|
||||
|
||||
#MSG_FSENSOR_NA
|
||||
"Fil. sensor [N/A]"
|
||||
"Fil. senzor [N/A]"
|
||||
|
||||
#MSG_FSENSOR_OFF
|
||||
"Fil. sensor [off]"
|
||||
"Fil. senzor [vyp]"
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
"Fil. senzor"
|
||||
|
||||
#
|
||||
"Filam. runouts"
|
||||
|
|
@ -462,18 +430,10 @@
|
|||
"I will run z calibration now."
|
||||
"Nyni provedu z kalibraci."
|
||||
|
||||
#MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
"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."
|
||||
"Zacnu tisknout linku a Vy budete postupne snizovat trysku otacenim tlacitka dokud nedosahnete optimalni vysky. Prohlednete si obrazky v nasi prirucce v kapitole Kalibrace."
|
||||
|
||||
#MSG_WATCH
|
||||
"Info screen"
|
||||
"Informace"
|
||||
|
||||
#
|
||||
"Is filament 1 loaded?"
|
||||
"Je filament 1 zaveden?"
|
||||
|
||||
#MSG_INSERT_FILAMENT c=20
|
||||
"Insert filament"
|
||||
"Vlozte filament"
|
||||
|
|
@ -482,14 +442,6 @@
|
|||
"Is filament loaded?"
|
||||
"Je filament zaveden?"
|
||||
|
||||
#MSG_WIZARD_PLA_FILAMENT c=20 r=2
|
||||
"Is it PLA filament?"
|
||||
"Je to PLA filament?"
|
||||
|
||||
#MSG_PLA_FILAMENT_LOADED c=20 r=2
|
||||
"Is PLA filament loaded?"
|
||||
"Je PLA filament zaveden?"
|
||||
|
||||
#MSG_STEEL_SHEET_CHECK c=20 r=2
|
||||
"Is steel sheet on heatbed?"
|
||||
"Je tiskovy plat na podlozce?"
|
||||
|
|
@ -498,6 +450,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"
|
||||
|
|
@ -508,7 +464,7 @@
|
|||
|
||||
#
|
||||
"Left"
|
||||
"Vlevo:"
|
||||
"Vlevo"
|
||||
|
||||
#MSG_BED_CORRECTION_LEFT c=14 r=1
|
||||
"Left side [um]"
|
||||
|
|
@ -586,13 +542,17 @@
|
|||
"MMU OK. Resuming..."
|
||||
"MMU OK. Pokracuji..."
|
||||
|
||||
#MSG_STEALTH_MODE_OFF
|
||||
"Mode [Normal]"
|
||||
"Mod [Normal]"
|
||||
#MSG_MODE
|
||||
"Mode"
|
||||
"Mod"
|
||||
|
||||
#MSG_SILENT_MODE_ON
|
||||
"Mode [silent]"
|
||||
"Mod [tichy]"
|
||||
#MSG_NORMAL
|
||||
"Normal"
|
||||
"\x00"
|
||||
|
||||
#MSG_SILENT
|
||||
"Silent"
|
||||
"Tichy"
|
||||
|
||||
#
|
||||
"MMU needs user attention."
|
||||
|
|
@ -602,17 +562,17 @@
|
|||
"MMU power fails"
|
||||
"MMU vypadky proudu"
|
||||
|
||||
#MSG_STEALTH_MODE_ON
|
||||
"Mode [Stealth]"
|
||||
"Mod [tichy]"
|
||||
#MSG_STEALTH
|
||||
"Stealth"
|
||||
"Tichy"
|
||||
|
||||
#MSG_AUTO_MODE_ON
|
||||
"Mode [auto power]"
|
||||
"Mod [automaticky]"
|
||||
#MSG_AUTO_POWER
|
||||
"Auto power"
|
||||
"Automaticky"
|
||||
|
||||
#MSG_SILENT_MODE_OFF
|
||||
"Mode [high power]"
|
||||
"Mod [vys. vykon]"
|
||||
#MSG_HIGH_POWER
|
||||
"High power"
|
||||
"Vys. vykon"
|
||||
|
||||
#
|
||||
"MMU2 connected"
|
||||
|
|
@ -646,7 +606,7 @@
|
|||
"No SD card"
|
||||
"Zadna SD karta"
|
||||
|
||||
#
|
||||
#MSG_NA
|
||||
"N/A"
|
||||
"\x00"
|
||||
|
||||
|
|
@ -688,7 +648,7 @@
|
|||
|
||||
#
|
||||
"Nozzle FAN"
|
||||
"Tryska V."
|
||||
"Vent. trysky"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
"Pause print"
|
||||
|
|
@ -730,14 +690,6 @@
|
|||
"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
|
||||
"Prosim nahlednete do prirucky 3D tiskare a opravte problem. Pote obnovte Pruvodce restartovanim tiskarny."
|
||||
|
||||
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
"Please insert PLA filament to the extruder, then press knob to load it."
|
||||
"Prosim vlozte PLA filament do extruderu, pote stisknete tlacitko pro zavedeni filamentu."
|
||||
|
||||
#MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
"Please load PLA filament first."
|
||||
"Nejdrive prosim zavedte PLA filament."
|
||||
|
||||
#MSG_CHECK_IDLER c=20 r=4
|
||||
"Please open idler and remove filament manually."
|
||||
"Prosim otevrete idler a manualne odstrante filament."
|
||||
|
|
@ -750,10 +702,6 @@
|
|||
"Please press the knob to unload filament"
|
||||
"Pro vysunuti filamentu stisknete prosim tlacitko"
|
||||
|
||||
#
|
||||
"Please insert PLA filament to the first tube of MMU, then press the knob to load it."
|
||||
"Prosim vlozte PLA filament do trubicky MMU, pote stisknete tlacitko pro zavedeni filamentu."
|
||||
|
||||
#MSG_PULL_OUT_FILAMENT c=20 r=4
|
||||
"Please pull out filament immediately"
|
||||
"Prosim vyjmete urychlene filament"
|
||||
|
|
@ -820,7 +768,7 @@
|
|||
|
||||
#MSG_SELFTEST_PRINT_FAN_SPEED c=18
|
||||
"Print fan:"
|
||||
"Tiskovy v:"
|
||||
"Tiskovy vent.:"
|
||||
|
||||
#MSG_CARD_MENU
|
||||
"Print from SD"
|
||||
|
|
@ -844,7 +792,19 @@
|
|||
|
||||
#
|
||||
"Print FAN"
|
||||
"Tiskovy v"
|
||||
"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"
|
||||
|
|
@ -886,25 +846,21 @@
|
|||
"Right side[um]"
|
||||
"Vpravo [um]"
|
||||
|
||||
#MSG_SECOND_SERIAL_ON c=17 r=1
|
||||
"RPi port [on]"
|
||||
"RPi port [zap]"
|
||||
|
||||
#MSG_SECOND_SERIAL_OFF c=17 r=1
|
||||
"RPi port [off]"
|
||||
"RPi port [vyp]"
|
||||
#MSG_RPI_PORT
|
||||
"RPi port"
|
||||
"\x00"
|
||||
|
||||
#MSG_WIZARD_RERUN c=20 r=7
|
||||
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
|
||||
"Spusteni Pruvodce vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
|
||||
"SD card [normal]"
|
||||
#MSG_SD_CARD
|
||||
"SD card"
|
||||
"\x00"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
|
||||
"SD card [flshAir]"
|
||||
"SD card [FlshAir]"
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
|
||||
"FlashAir"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Right"
|
||||
|
|
@ -946,10 +902,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:"
|
||||
|
|
@ -970,49 +922,49 @@
|
|||
"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
|
||||
"Nektere soubory nebudou setrideny. Maximalni pocet souboru ve slozce pro setrideni je 100."
|
||||
|
||||
#MSG_SORT_NONE c=17 r=1
|
||||
"Sort [none]"
|
||||
"Trideni [Zadne]"
|
||||
#MSG_SORT
|
||||
"Sort"
|
||||
"Trideni"
|
||||
|
||||
#MSG_SORT_TIME c=17 r=1
|
||||
"Sort [time]"
|
||||
"Trideni [cas]"
|
||||
#MSG_NONE
|
||||
"None"
|
||||
"Zadne"
|
||||
|
||||
#MSG_SORT_TIME
|
||||
"Time"
|
||||
"Cas"
|
||||
|
||||
#
|
||||
"Severe skew"
|
||||
"Tezke zkoseni"
|
||||
"Severe skew:"
|
||||
"Tezke zkoseni:"
|
||||
|
||||
#MSG_SORT_ALPHA c=17 r=1
|
||||
"Sort [alphabet]"
|
||||
"Trideni [Abeceda]"
|
||||
#MSG_SORT_ALPHA
|
||||
"Alphabet"
|
||||
"Abeceda"
|
||||
|
||||
#MSG_SORTING c=20 r=1
|
||||
"Sorting files"
|
||||
"Trideni souboru"
|
||||
|
||||
#MSG_SOUND_LOUD c=17 r=1
|
||||
"Sound [loud]"
|
||||
"Zvuk [hlasity]"
|
||||
#MSG_SOUND_LOUD
|
||||
"Loud"
|
||||
"Hlasity"
|
||||
|
||||
#
|
||||
"Slight skew"
|
||||
"Lehke zkoseni"
|
||||
"Slight skew:"
|
||||
"Lehke zkoseni:"
|
||||
|
||||
#MSG_SOUND_MUTE c=17 r=1
|
||||
"Sound [mute]"
|
||||
"Zvuk [vypnuto]"
|
||||
#MSG_SOUND
|
||||
"Sound"
|
||||
"Zvuk"
|
||||
|
||||
#
|
||||
"Some problem encountered, Z-leveling enforced ..."
|
||||
"Vyskytl se problem, srovnavam osu Z ..."
|
||||
|
||||
#MSG_SOUND_ONCE c=17 r=1
|
||||
"Sound [once]"
|
||||
"Zvuk [jednou]"
|
||||
|
||||
#MSG_SOUND_SILENT c=17 r=1
|
||||
"Sound [silent]"
|
||||
"Zvuk [tichy]"
|
||||
#MSG_SOUND_ONCE
|
||||
"Once"
|
||||
"Jednou"
|
||||
|
||||
#MSG_SPEED
|
||||
"Speed"
|
||||
|
|
@ -1046,17 +998,17 @@
|
|||
"Swapped"
|
||||
"Prohozene"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Tepl. kal. "
|
||||
#
|
||||
"Select filament:"
|
||||
"Zvolte filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
"Tepl. kal. [zap]"
|
||||
#MSG_TEMP_CALIBRATION c=12 r=1
|
||||
"Temp. cal."
|
||||
"Tepl. kal."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Tepl. kal. [vyp]"
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Zvolte teplotu, ktera odpovida vasemu materialu."
|
||||
|
||||
#MSG_CALIBRATION_PINDA_MENU c=17 r=1
|
||||
"Temp. calibration"
|
||||
|
|
@ -1234,13 +1186,21 @@
|
|||
"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:"
|
||||
|
||||
#MSG_OFF
|
||||
" [off]"
|
||||
" [vyp]"
|
||||
"Off"
|
||||
"Vyp"
|
||||
|
||||
#MSG_ON
|
||||
"On"
|
||||
"Zap"
|
||||
|
||||
#
|
||||
"Back"
|
||||
|
|
@ -1258,17 +1218,17 @@
|
|||
"FINDA:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [none]"
|
||||
"Firmware [Zadne]"
|
||||
#MSG_FIRMWARE
|
||||
"Firmware"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [strict]"
|
||||
"Firmware [Prisne]"
|
||||
#MSG_STRICT
|
||||
"Strict"
|
||||
"Prisne"
|
||||
|
||||
#
|
||||
"Firmware [warn]"
|
||||
"Firmware[Varovat]"
|
||||
#MSG_WARN
|
||||
"Warn"
|
||||
"Varovat"
|
||||
|
||||
#
|
||||
"HW Setup"
|
||||
|
|
@ -1278,25 +1238,13 @@
|
|||
"IR:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Magnets comp.[N/A]"
|
||||
"Komp. magnetu[N/A]"
|
||||
#MSG_MAGNETS_COMP
|
||||
"Magnets comp."
|
||||
"Komp. magnetu"
|
||||
|
||||
#
|
||||
"Magnets comp.[Off]"
|
||||
"Komp. magnetu[Vyp]"
|
||||
|
||||
#
|
||||
"Magnets comp. [On]"
|
||||
"Komp. magnetu[Zap]"
|
||||
|
||||
#
|
||||
"Mesh [3x3]"
|
||||
"Mesh [3x3]"
|
||||
|
||||
#
|
||||
"Mesh [7x7]"
|
||||
"Mesh [7x7]"
|
||||
#MSG_MESH
|
||||
"Mesh"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Mesh bed leveling"
|
||||
|
|
@ -1306,53 +1254,21 @@
|
|||
"MK3S firmware detected on MK3 printer"
|
||||
"MK3S firmware detekovan na tiskarne MK3"
|
||||
|
||||
#
|
||||
"MMU Mode [Normal]"
|
||||
"MMU mod [Normal]"
|
||||
|
||||
#
|
||||
"MMU Mode[Stealth]"
|
||||
"MMU Mod [Tichy]"
|
||||
#MSG_MMU_MODE
|
||||
"MMU Mode"
|
||||
"MMU mod"
|
||||
|
||||
#
|
||||
"Mode change in progress ..."
|
||||
"Probiha zmena modu..."
|
||||
|
||||
#
|
||||
"Model [none]"
|
||||
"Model [Zadne]"
|
||||
#MSG_MODEL
|
||||
"Model"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Model [strict]"
|
||||
"Model [Prisne]"
|
||||
|
||||
#
|
||||
"Model [warn]"
|
||||
"Model [Varovat]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.25]"
|
||||
"Tryska [0.25]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.40]"
|
||||
"Tryska [0.40]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.60]"
|
||||
"Tryska [0.60]"
|
||||
|
||||
#
|
||||
"Nozzle [none]"
|
||||
"Tryska [Zadne]"
|
||||
|
||||
#
|
||||
"Nozzle [strict]"
|
||||
"Tryska [Prisne]"
|
||||
|
||||
#
|
||||
"Nozzle [warn]"
|
||||
"Tryska [Varovat]"
|
||||
#MSG_NOZZLE_DIAMETER
|
||||
"Nozzle d."
|
||||
"Tryska"
|
||||
|
||||
#
|
||||
"G-code sliced for a different level. Continue?"
|
||||
|
|
@ -1414,9 +1330,9 @@
|
|||
"Sheet"
|
||||
"Plat"
|
||||
|
||||
#
|
||||
"Sound [assist]"
|
||||
"Zvuk [Asist.]"
|
||||
#MSG_SOUND_BLIND
|
||||
"Assist"
|
||||
"Asist."
|
||||
|
||||
#
|
||||
"Steel sheets"
|
||||
|
|
@ -1426,10 +1342,6 @@
|
|||
"Z-correct:"
|
||||
"Korekce Z:"
|
||||
|
||||
#
|
||||
"Z-probe nr. [1]"
|
||||
"Pocet mereni Z [1]"
|
||||
|
||||
#
|
||||
"Z-probe nr. [3]"
|
||||
"Pocet mereni Z [3]"
|
||||
#MSG_Z_PROBE_NR
|
||||
"Z-probe nr."
|
||||
"Pocet mereni Z"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
#
|
||||
"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
|
||||
"[%.7s]Z Einstell.\x0aWert gesetzt,weiter\x0aoder mit 0 beginnen?\x0a%cWeiter%cNeu beginnen"
|
||||
|
||||
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14
|
||||
" of 4"
|
||||
" von 4"
|
||||
|
|
@ -46,17 +50,9 @@
|
|||
"Are left and right Z~carriages all up?"
|
||||
"Sind linke+rechte Z- Schlitten ganz oben?"
|
||||
|
||||
#MSG_AUTO_DEPLETE_ON c=17 r=1
|
||||
"SpoolJoin [on]"
|
||||
"SpoolJoin [an]"
|
||||
|
||||
#
|
||||
"SpoolJoin [N/A]"
|
||||
"SpoolJoin [N/V]"
|
||||
|
||||
#MSG_AUTO_DEPLETE_OFF c=17 r=1
|
||||
"SpoolJoin [off]"
|
||||
"SpoolJoin [aus]"
|
||||
#MSG_AUTO_DEPLETE c=17 r=1
|
||||
"SpoolJoin"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_HOME
|
||||
"Auto home"
|
||||
|
|
@ -64,11 +60,11 @@
|
|||
|
||||
#MSG_AUTOLOAD_FILAMENT c=17
|
||||
"AutoLoad filament"
|
||||
"Auto-Laden Filament"
|
||||
"AutoLaden Filament"
|
||||
|
||||
#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..."
|
||||
|
|
@ -170,17 +166,13 @@
|
|||
"Copy selected language?"
|
||||
"Gewaehlte Sprache kopieren?"
|
||||
|
||||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
"Crash Erk. [an]"
|
||||
#MSG_CRASHDETECT
|
||||
"Crash det."
|
||||
"Crash Erk."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Crash Erk. [nv]"
|
||||
|
||||
#MSG_CRASHDETECT_OFF
|
||||
"Crash det. [off]"
|
||||
"Crash Erk. [aus]"
|
||||
#
|
||||
"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_CRASH_DETECTED c=20 r=1
|
||||
"Crash detected."
|
||||
|
|
@ -222,10 +214,6 @@
|
|||
"Eject filament"
|
||||
"Filamentauswurf"
|
||||
|
||||
#
|
||||
"Eject"
|
||||
"Auswurf"
|
||||
|
||||
#MSG_EJECTING_FILAMENT c=20 r=1
|
||||
"Ejecting filament"
|
||||
"werfe Filament aus"
|
||||
|
|
@ -270,17 +258,9 @@
|
|||
"Fail stats MMU"
|
||||
"MMU-Fehler"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
|
||||
"F. autoload [on]"
|
||||
"F.Autoladen [an]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
|
||||
"F. autoload [N/A]"
|
||||
"F. Autoload [nv]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_OFF c=17 r=1
|
||||
"F. autoload [off]"
|
||||
"F. Autoload [aus]"
|
||||
#MSG_FSENSOR_AUTOLOAD
|
||||
"F. autoload"
|
||||
"F. autoladen"
|
||||
|
||||
#
|
||||
"Fail stats"
|
||||
|
|
@ -294,25 +274,13 @@
|
|||
"Fan test"
|
||||
"Lueftertest"
|
||||
|
||||
#MSG_FANS_CHECK_ON c=17 r=1
|
||||
"Fans check [on]"
|
||||
"Luefter Chk. [an]"
|
||||
#MSG_FANS_CHECK
|
||||
"Fans check"
|
||||
"Luefter Chk."
|
||||
|
||||
#MSG_FANS_CHECK_OFF c=17 r=1
|
||||
"Fans check [off]"
|
||||
"Luefter Chk.[aus]"
|
||||
|
||||
#MSG_FSENSOR_ON
|
||||
"Fil. sensor [on]"
|
||||
"Fil. Sensor [an]"
|
||||
|
||||
#MSG_FSENSOR_NA
|
||||
"Fil. sensor [N/A]"
|
||||
"Fil. Sensor [nv]"
|
||||
|
||||
#MSG_FSENSOR_OFF
|
||||
"Fil. sensor [off]"
|
||||
"Fil. Sensor [aus]"
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Filam. runouts"
|
||||
|
|
@ -320,7 +288,7 @@
|
|||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
"Filament extrudiert + richtige Farbe?"
|
||||
"Filament extrudiert mit richtiger Farbe?"
|
||||
|
||||
#MSG_NOT_LOADED c=19
|
||||
"Filament not loaded"
|
||||
|
|
@ -462,18 +430,10 @@
|
|||
"I will run z calibration now."
|
||||
"Ich werde jetzt die Z Kalibrierung durchfuehren."
|
||||
|
||||
#MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
"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."
|
||||
"Ich werde jetzt eine Linie drucken. Waehrend des Druckes koennen Sie die Duese allmaehlich senken, indem Sie den Knopf drehen, bis Sie die optimale Hoehe erreichen. Sehen Sie sich die Bilder in unserem Handbuch im Kapitel Kalibrierung an."
|
||||
|
||||
#MSG_WATCH
|
||||
"Info screen"
|
||||
"Infoanzeige"
|
||||
|
||||
#
|
||||
"Is filament 1 loaded?"
|
||||
"Wurde Filament 1 geladen?"
|
||||
|
||||
#MSG_INSERT_FILAMENT c=20
|
||||
"Insert filament"
|
||||
"Filament einlegen"
|
||||
|
|
@ -482,14 +442,6 @@
|
|||
"Is filament loaded?"
|
||||
"Ist das Filament geladen?"
|
||||
|
||||
#MSG_WIZARD_PLA_FILAMENT c=20 r=2
|
||||
"Is it PLA filament?"
|
||||
"Ist es wirklich PLA Filament?"
|
||||
|
||||
#MSG_PLA_FILAMENT_LOADED c=20 r=2
|
||||
"Is PLA filament loaded?"
|
||||
"Ist PLA Filament geladen?"
|
||||
|
||||
#MSG_STEEL_SHEET_CHECK c=20 r=2
|
||||
"Is steel sheet on heatbed?"
|
||||
"Liegt das Stahlblech auf dem Heizbett?"
|
||||
|
|
@ -498,6 +450,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"
|
||||
|
|
@ -556,11 +512,11 @@
|
|||
|
||||
#MSG_MESH_BED_LEVELING
|
||||
"Mesh Bed Leveling"
|
||||
"Mesh Bett Ausgleich"
|
||||
"MeshBett Ausgleich"
|
||||
|
||||
#MSG_MMU_OK_RESUMING_POSITION c=20 r=4
|
||||
"MMU OK. Resuming position..."
|
||||
"MMU OK. Position wiederherstellen... "
|
||||
"MMU OK. Position wiederherstellen..."
|
||||
|
||||
#MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4
|
||||
"MMU OK. Resuming temperature..."
|
||||
|
|
@ -586,13 +542,17 @@
|
|||
"MMU OK. Resuming..."
|
||||
"MMU OK. Weiterdrucken..."
|
||||
|
||||
#MSG_STEALTH_MODE_OFF
|
||||
"Mode [Normal]"
|
||||
"Modus [Normal]"
|
||||
#MSG_MODE
|
||||
"Mode"
|
||||
"Modus"
|
||||
|
||||
#MSG_SILENT_MODE_ON
|
||||
"Mode [silent]"
|
||||
"Modus [leise]"
|
||||
#MSG_NORMAL
|
||||
"Normal"
|
||||
"\x00"
|
||||
|
||||
#MSG_SILENT
|
||||
"Silent"
|
||||
"Leise"
|
||||
|
||||
#
|
||||
"MMU needs user attention."
|
||||
|
|
@ -602,17 +562,17 @@
|
|||
"MMU power fails"
|
||||
"MMU Netzfehler"
|
||||
|
||||
#MSG_STEALTH_MODE_ON
|
||||
"Mode [Stealth]"
|
||||
"Modus [Stealth]"
|
||||
#MSG_STEALTH
|
||||
"Stealth"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_MODE_ON
|
||||
"Mode [auto power]"
|
||||
"Modus[Auto Power]"
|
||||
#MSG_AUTO_POWER
|
||||
"Auto power"
|
||||
"\x00"
|
||||
|
||||
#MSG_SILENT_MODE_OFF
|
||||
"Mode [high power]"
|
||||
"Modus[Hohe Leist]"
|
||||
#MSG_HIGH_POWER
|
||||
"High power"
|
||||
"Hohe leist"
|
||||
|
||||
#
|
||||
"MMU2 connected"
|
||||
|
|
@ -646,9 +606,9 @@
|
|||
"No SD card"
|
||||
"Keine SD Karte"
|
||||
|
||||
#
|
||||
#MSG_NA
|
||||
"N/A"
|
||||
"N.V."
|
||||
"N/V"
|
||||
|
||||
#MSG_NO
|
||||
"No"
|
||||
|
|
@ -730,14 +690,6 @@
|
|||
"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
|
||||
"Bitte lesen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten."
|
||||
|
||||
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
"Please insert PLA filament to the extruder, then press knob to load it."
|
||||
"Legen Sie bitte PLA Filament in den Extruder und druecken Sie den Knopf, um es zu laden."
|
||||
|
||||
#MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
"Please load PLA filament first."
|
||||
"Bitte laden Sie zuerst PLA Filament."
|
||||
|
||||
#MSG_CHECK_IDLER c=20 r=4
|
||||
"Please open idler and remove filament manually."
|
||||
"Bitte Spannrolle oeffnen und Fila- ment von Hand entfernen"
|
||||
|
|
@ -750,10 +702,6 @@
|
|||
"Please press the knob to unload filament"
|
||||
"Bitte druecken Sie den Knopf um das Filament zu entladen."
|
||||
|
||||
#
|
||||
"Please insert PLA filament to the first tube of MMU, then press the knob to load it."
|
||||
"Legen Sie bitte PLA Filament in den ersten Schlauch der MMU und druecken Sie den Knopf, um es zu laden."
|
||||
|
||||
#MSG_PULL_OUT_FILAMENT c=20 r=4
|
||||
"Please pull out filament immediately"
|
||||
"Bitte ziehen Sie das Filament sofort heraus"
|
||||
|
|
@ -828,7 +776,7 @@
|
|||
|
||||
#
|
||||
"Press the knob"
|
||||
"Knopf druecken"
|
||||
"Knopf druecken zum"
|
||||
|
||||
#MSG_PRINT_PAUSED c=20 r=1
|
||||
"Print paused"
|
||||
|
|
@ -844,7 +792,19 @@
|
|||
|
||||
#
|
||||
"Print FAN"
|
||||
"Druckvent"
|
||||
"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"
|
||||
|
|
@ -868,7 +828,7 @@
|
|||
|
||||
#MSG_CALIBRATE_BED_RESET
|
||||
"Reset XYZ calibr."
|
||||
"XYZ Kalibr. zuruecksetzen."
|
||||
"Reset XYZ Kalibr."
|
||||
|
||||
#MSG_BED_CORRECTION_RESET
|
||||
"Reset"
|
||||
|
|
@ -884,27 +844,23 @@
|
|||
|
||||
#MSG_BED_CORRECTION_RIGHT c=14 r=1
|
||||
"Right side[um]"
|
||||
"Rechts [um]"
|
||||
"Rechts [um]"
|
||||
|
||||
#MSG_SECOND_SERIAL_ON c=17 r=1
|
||||
"RPi port [on]"
|
||||
"RPi Port [an]"
|
||||
|
||||
#MSG_SECOND_SERIAL_OFF c=17 r=1
|
||||
"RPi port [off]"
|
||||
"RPi Port [aus]"
|
||||
#MSG_RPI_PORT
|
||||
"RPi port"
|
||||
"\x00"
|
||||
|
||||
#MSG_WIZARD_RERUN c=20 r=7
|
||||
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
|
||||
"Der Assistent wird die aktuellen Kalibrierungsdaten loeschen und von vorne beginnen. Weiterfahren?"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
|
||||
"SD card [normal]"
|
||||
"SD Karte [normal]"
|
||||
#MSG_SD_CARD
|
||||
"SD card"
|
||||
"SD Karte"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
|
||||
"SD card [flshAir]"
|
||||
"SD Karte[flshAir]"
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
|
||||
"FlashAir"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Right"
|
||||
|
|
@ -936,7 +892,7 @@
|
|||
|
||||
#MSG_SELFTEST_FAILED c=20
|
||||
"Selftest failed "
|
||||
"Selbsttest misslang "
|
||||
"Selbsttest Error "
|
||||
|
||||
#MSG_FORCE_SELFTEST c=20 r=8
|
||||
"Selftest will be run to calibrate accurate sensorless rehoming."
|
||||
|
|
@ -946,10 +902,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:"
|
||||
|
|
@ -970,49 +922,49 @@
|
|||
"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
|
||||
"Einige Dateien wur- den nicht sortiert. Max. Dateien pro Verzeichnis = 100."
|
||||
|
||||
#MSG_SORT_NONE c=17 r=1
|
||||
"Sort [none]"
|
||||
"Sort. [ohne]"
|
||||
#MSG_SORT
|
||||
"Sort"
|
||||
"Sort."
|
||||
|
||||
#MSG_SORT_TIME c=17 r=1
|
||||
"Sort [time]"
|
||||
"Sort. [Zeit]"
|
||||
#MSG_NONE
|
||||
"None"
|
||||
"Ohne"
|
||||
|
||||
#MSG_SORT_TIME
|
||||
"Time"
|
||||
"Zeit"
|
||||
|
||||
#
|
||||
"Severe skew"
|
||||
"Schwer.Schr"
|
||||
"Severe skew:"
|
||||
"Schwer.Schr:"
|
||||
|
||||
#MSG_SORT_ALPHA c=17 r=1
|
||||
"Sort [alphabet]"
|
||||
"Sort. [Alphabet]"
|
||||
#MSG_SORT_ALPHA
|
||||
"Alphabet"
|
||||
"\x00"
|
||||
|
||||
#MSG_SORTING c=20 r=1
|
||||
"Sorting files"
|
||||
"Sortiere Dateien"
|
||||
|
||||
#MSG_SOUND_LOUD c=17 r=1
|
||||
"Sound [loud]"
|
||||
"Sound [laut]"
|
||||
#MSG_SOUND_LOUD
|
||||
"Loud"
|
||||
"Laut"
|
||||
|
||||
#
|
||||
"Slight skew"
|
||||
"Leicht.Schr"
|
||||
"Slight skew:"
|
||||
"Leicht.Schr:"
|
||||
|
||||
#MSG_SOUND_MUTE c=17 r=1
|
||||
"Sound [mute]"
|
||||
"Sound [stumm]"
|
||||
#MSG_SOUND
|
||||
"Sound"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Some problem encountered, Z-leveling enforced ..."
|
||||
"Fehler aufgetreten, Z-Kalibrierung erforderlich..."
|
||||
|
||||
#MSG_SOUND_ONCE c=17 r=1
|
||||
"Sound [once]"
|
||||
"Sound [einmal]"
|
||||
|
||||
#MSG_SOUND_SILENT c=17 r=1
|
||||
"Sound [silent]"
|
||||
"Sound [leise]"
|
||||
#MSG_SOUND_ONCE
|
||||
"Once"
|
||||
"Einmal"
|
||||
|
||||
#MSG_SPEED
|
||||
"Speed"
|
||||
|
|
@ -1046,17 +998,17 @@
|
|||
"Swapped"
|
||||
"Ausgetauscht"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Temp Kalib. "
|
||||
#
|
||||
"Select filament:"
|
||||
"Filament auswaehlen:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
"Temp. Kal. [an]"
|
||||
#MSG_TEMP_CALIBRATION c=12 r=1
|
||||
"Temp. cal."
|
||||
"Temp Kalib."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Temp. Kal. [aus]"
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Waehlen Sie die Temperatur, die zu Ihrem Material passt."
|
||||
|
||||
#MSG_CALIBRATION_PINDA_MENU c=17 r=1
|
||||
"Temp. calibration"
|
||||
|
|
@ -1104,11 +1056,11 @@
|
|||
|
||||
#
|
||||
"to load filament"
|
||||
"zum Filament laden"
|
||||
"Filament laden"
|
||||
|
||||
#
|
||||
"to unload filament"
|
||||
"zum Filament entladen"
|
||||
"Filament entladen"
|
||||
|
||||
#MSG_UNLOAD_FILAMENT c=17
|
||||
"Unload filament"
|
||||
|
|
@ -1230,18 +1182,25 @@
|
|||
"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:"
|
||||
|
||||
#MSG_OFF
|
||||
" [off]"
|
||||
" [aus]"
|
||||
"Off"
|
||||
"Aus"
|
||||
|
||||
#MSG_ON
|
||||
"On"
|
||||
"An"
|
||||
|
||||
#
|
||||
"Back"
|
||||
|
|
@ -1249,7 +1208,7 @@
|
|||
|
||||
#
|
||||
"Checks"
|
||||
"\x00"
|
||||
"Kontrolle"
|
||||
|
||||
#
|
||||
"False triggering"
|
||||
|
|
@ -1259,18 +1218,18 @@
|
|||
"FINDA:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [none]"
|
||||
"Firmware [ohne]"
|
||||
|
||||
#
|
||||
"Firmware [strict]"
|
||||
"Firmware [streng]"
|
||||
|
||||
#
|
||||
"Firmware [warn]"
|
||||
#MSG_FIRMWARE
|
||||
"Firmware"
|
||||
"\x00"
|
||||
|
||||
#MSG_STRICT
|
||||
"Strict"
|
||||
"Strikt"
|
||||
|
||||
#MSG_WARN
|
||||
"Warn"
|
||||
"Warnen"
|
||||
|
||||
#
|
||||
"HW Setup"
|
||||
"HW Einstellungen"
|
||||
|
|
@ -1279,81 +1238,37 @@
|
|||
"IR:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Magnets comp.[N/A]"
|
||||
"Magnet Komp. [nv]"
|
||||
#MSG_MAGNETS_COMP
|
||||
"Magnets comp."
|
||||
"Magnet Komp."
|
||||
|
||||
#
|
||||
"Magnets comp.[Off]"
|
||||
"Magnet Komp. [Aus]"
|
||||
|
||||
#
|
||||
"Magnets comp. [On]"
|
||||
"Magnet Komp. [An]"
|
||||
|
||||
#
|
||||
"Mesh [3x3]"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Mesh [7x7]"
|
||||
"\x00"
|
||||
#MSG_MESH
|
||||
"Mesh"
|
||||
"Gitter"
|
||||
|
||||
#
|
||||
"Mesh bed leveling"
|
||||
"Mesh Bett Ausgleich"
|
||||
"MeshBett Ausgleich"
|
||||
|
||||
#
|
||||
"MK3S firmware detected on MK3 printer"
|
||||
"MK3S-Firmware auf MK3-Drucker erkannt"
|
||||
|
||||
#
|
||||
"MMU Mode [Normal]"
|
||||
"MMU Modus[Normal]"
|
||||
|
||||
#
|
||||
"MMU Mode[Stealth]"
|
||||
"MMU Mod.[Stealth]"
|
||||
#MSG_MMU_MODE
|
||||
"MMU Mode"
|
||||
"MMU Modus"
|
||||
|
||||
#
|
||||
"Mode change in progress ..."
|
||||
"Moduswechsel erfolgt..."
|
||||
|
||||
#
|
||||
"Model [none]"
|
||||
"Modell [ohne]"
|
||||
#MSG_MODEL
|
||||
"Model"
|
||||
"Modell"
|
||||
|
||||
#
|
||||
"Model [strict]"
|
||||
"Modell [streng]"
|
||||
|
||||
#
|
||||
"Model [warn]"
|
||||
"Modell [warn]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.25]"
|
||||
"Duese D. [0.25]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.40]"
|
||||
"Duese D. [0.40]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.60]"
|
||||
"Duese D. [0.60]"
|
||||
|
||||
#
|
||||
"Nozzle [none]"
|
||||
"Duese [ohne]"
|
||||
|
||||
#
|
||||
"Nozzle [strict]"
|
||||
"Duese [streng]"
|
||||
|
||||
#
|
||||
"Nozzle [warn]"
|
||||
"Duese [warn]"
|
||||
#MSG_NOZZLE_DIAMETER
|
||||
"Nozzle d."
|
||||
"Duese D."
|
||||
|
||||
#
|
||||
"G-code sliced for a different level. Continue?"
|
||||
|
|
@ -1415,9 +1330,9 @@
|
|||
"Sheet"
|
||||
"Blech"
|
||||
|
||||
#
|
||||
"Sound [assist]"
|
||||
"Sound [Assist]"
|
||||
#MSG_SOUND_BLIND
|
||||
"Assist"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Steel sheets"
|
||||
|
|
@ -1427,10 +1342,6 @@
|
|||
"Z-correct:"
|
||||
"Z-Korrektur:"
|
||||
|
||||
#
|
||||
"Z-probe nr. [1]"
|
||||
"Z-Probe Nr. [1]"
|
||||
|
||||
#
|
||||
"Z-probe nr. [3]"
|
||||
"Z-Probe Nr. [3]"
|
||||
#MSG_Z_PROBE_NR
|
||||
"Z-probe nr."
|
||||
"\x00"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
#
|
||||
"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
|
||||
"[%.7s]Ajuste Z\x0aAjustado, continuar\x0ao empezar de nuevo?\x0a%cContinuar%cRepetir"
|
||||
|
||||
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14
|
||||
" of 4"
|
||||
" de 4"
|
||||
|
|
@ -24,7 +28,7 @@
|
|||
|
||||
#MSG_BABYSTEPPING_Z c=15
|
||||
"Adjusting Z:"
|
||||
"Ajustando Z:"
|
||||
"Ajustar-Z:"
|
||||
|
||||
#MSG_SELFTEST_CHECK_ALLCORRECT c=20
|
||||
"All correct "
|
||||
|
|
@ -46,16 +50,8 @@
|
|||
"Are left and right Z~carriages all up?"
|
||||
"Carros Z izq./der. estan arriba maximo?"
|
||||
|
||||
#MSG_AUTO_DEPLETE_ON c=17 r=1
|
||||
"SpoolJoin [on]"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"SpoolJoin [N/A]"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_DEPLETE_OFF c=17 r=1
|
||||
"SpoolJoin [off]"
|
||||
#MSG_AUTO_DEPLETE c=17 r=1
|
||||
"SpoolJoin"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_HOME
|
||||
|
|
@ -68,11 +64,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"
|
||||
|
|
@ -170,17 +166,13 @@
|
|||
"Copy selected language?"
|
||||
"Copiar idioma seleccionado?"
|
||||
|
||||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
"Det. choque [act]"
|
||||
#MSG_CRASHDETECT
|
||||
"Crash det."
|
||||
"Det. choque"
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Dec. choque [N/D]"
|
||||
|
||||
#MSG_CRASHDETECT_OFF
|
||||
"Crash det. [off]"
|
||||
"Det. choque [ina]"
|
||||
#
|
||||
"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_CRASH_DETECTED c=20 r=1
|
||||
"Crash detected."
|
||||
|
|
@ -216,16 +208,12 @@
|
|||
|
||||
#MSG_EXTRUDER_CORRECTION c=10
|
||||
"E-correct:"
|
||||
"Correccion-E:"
|
||||
"Corregir-E:"
|
||||
|
||||
#MSG_EJECT_FILAMENT c=17 r=1
|
||||
"Eject filament"
|
||||
"Expulsar filamento"
|
||||
|
||||
#
|
||||
"Eject"
|
||||
"Expulsar"
|
||||
|
||||
#MSG_EJECTING_FILAMENT c=20 r=1
|
||||
"Ejecting filament"
|
||||
"Expulsando filamento"
|
||||
|
|
@ -270,17 +258,9 @@
|
|||
"Fail stats MMU"
|
||||
"Estadistica de fallos MMU"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
|
||||
"F. autoload [on]"
|
||||
"Autocarg.Fil[act]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
|
||||
"F. autoload [N/A]"
|
||||
"Autocarg.Fil[N/D]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_OFF c=17 r=1
|
||||
"F. autoload [off]"
|
||||
"Autocarg.Fil[ina]"
|
||||
#MSG_FSENSOR_AUTOLOAD
|
||||
"F. autoload"
|
||||
"Autocarg.fil."
|
||||
|
||||
#
|
||||
"Fail stats"
|
||||
|
|
@ -294,25 +274,13 @@
|
|||
"Fan test"
|
||||
"Test ventiladores"
|
||||
|
||||
#MSG_FANS_CHECK_ON c=17 r=1
|
||||
"Fans check [on]"
|
||||
"Comprob.vent[act]"
|
||||
#MSG_FANS_CHECK
|
||||
"Fans check"
|
||||
"Comprob.vent"
|
||||
|
||||
#MSG_FANS_CHECK_OFF c=17 r=1
|
||||
"Fans check [off]"
|
||||
"Comprob.vent[ina]"
|
||||
|
||||
#MSG_FSENSOR_ON
|
||||
"Fil. sensor [on]"
|
||||
"Sensor Fil. [act]"
|
||||
|
||||
#MSG_FSENSOR_NA
|
||||
"Fil. sensor [N/A]"
|
||||
"Sensor Fil. [N/D]"
|
||||
|
||||
#MSG_FSENSOR_OFF
|
||||
"Fil. sensor [off]"
|
||||
"Sensor Fil. [ina]"
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
"Sensor Fil."
|
||||
|
||||
#
|
||||
"Filam. runouts"
|
||||
|
|
@ -462,18 +430,10 @@
|
|||
"I will run z calibration now."
|
||||
"Voy a hacer Calibracion Z ahora."
|
||||
|
||||
#MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
"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."
|
||||
"Voy a comenzar a imprimir la linea y tu bajaras el nozzle gradualmente al rotar el dial, hasta que llegues a la altura optima. Mira las imagenes del capitulo Calibracion en el manual."
|
||||
|
||||
#MSG_WATCH
|
||||
"Info screen"
|
||||
"Monitorizar"
|
||||
|
||||
#
|
||||
"Is filament 1 loaded?"
|
||||
"?Esta cargado el filamento 1?"
|
||||
|
||||
#MSG_INSERT_FILAMENT c=20
|
||||
"Insert filament"
|
||||
"Introducir filamento"
|
||||
|
|
@ -482,14 +442,6 @@
|
|||
"Is filament loaded?"
|
||||
"Esta el filamento cargado?"
|
||||
|
||||
#MSG_WIZARD_PLA_FILAMENT c=20 r=2
|
||||
"Is it PLA filament?"
|
||||
"Es el filamento PLA?"
|
||||
|
||||
#MSG_PLA_FILAMENT_LOADED c=20 r=2
|
||||
"Is PLA filament loaded?"
|
||||
"Esta el filamento PLA cargado?"
|
||||
|
||||
#MSG_STEEL_SHEET_CHECK c=20 r=2
|
||||
"Is steel sheet on heatbed?"
|
||||
"?Esta colocada la lamina de acero sobre la base?"
|
||||
|
|
@ -498,6 +450,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"
|
||||
|
|
@ -586,13 +542,17 @@
|
|||
"MMU OK. Resuming..."
|
||||
"MMU OK. Resumiendo..."
|
||||
|
||||
#MSG_STEALTH_MODE_OFF
|
||||
"Mode [Normal]"
|
||||
"Modo [Normal]"
|
||||
#MSG_MODE
|
||||
"Mode"
|
||||
"Modo"
|
||||
|
||||
#MSG_SILENT_MODE_ON
|
||||
"Mode [silent]"
|
||||
"Modo [silencio]"
|
||||
#MSG_NORMAL
|
||||
"Normal"
|
||||
"\x00"
|
||||
|
||||
#MSG_SILENT
|
||||
"Silent"
|
||||
"Silencio"
|
||||
|
||||
#
|
||||
"MMU needs user attention."
|
||||
|
|
@ -602,17 +562,17 @@
|
|||
"MMU power fails"
|
||||
"Fallo de energia en MMU"
|
||||
|
||||
#MSG_STEALTH_MODE_ON
|
||||
"Mode [Stealth]"
|
||||
"Modo [Silencio]"
|
||||
#MSG_STEALTH
|
||||
"Stealth"
|
||||
"Silencio"
|
||||
|
||||
#MSG_AUTO_MODE_ON
|
||||
"Mode [auto power]"
|
||||
"Modo[fuerza auto]"
|
||||
#MSG_AUTO_POWER
|
||||
"Auto power"
|
||||
"Fuerza auto"
|
||||
|
||||
#MSG_SILENT_MODE_OFF
|
||||
"Mode [high power]"
|
||||
"Modo [rend.pleno]"
|
||||
#MSG_HIGH_POWER
|
||||
"High power"
|
||||
"Rend.pleno"
|
||||
|
||||
#
|
||||
"MMU2 connected"
|
||||
|
|
@ -646,7 +606,7 @@
|
|||
"No SD card"
|
||||
"No hay tarjeta SD"
|
||||
|
||||
#
|
||||
#MSG_NA
|
||||
"N/A"
|
||||
"N/A"
|
||||
|
||||
|
|
@ -730,14 +690,6 @@
|
|||
"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
|
||||
"Lee el manual y resuelve el problema. Despues, reinicia la impresora y continua con el Wizard"
|
||||
|
||||
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
"Please insert PLA filament to the extruder, then press knob to load it."
|
||||
"Inserta, por favor, filamento PLA en el extrusor. Despues haz clic para cargarlo."
|
||||
|
||||
#MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
"Please load PLA filament first."
|
||||
"Carga el filamento PLA primero por favor."
|
||||
|
||||
#MSG_CHECK_IDLER c=20 r=4
|
||||
"Please open idler and remove filament manually."
|
||||
"Por favor abate el rodillo de empuje (idler) y retira el filamento manualmente."
|
||||
|
|
@ -750,10 +702,6 @@
|
|||
"Please press the knob to unload filament"
|
||||
"Por favor, pulsa el dial para descargar el filamento"
|
||||
|
||||
#
|
||||
"Please insert PLA filament to the first tube of MMU, then press the knob to load it."
|
||||
"Por favor introduce el filamento al primer tubo MMU, despues presiona el dial para imprimirlo."
|
||||
|
||||
#MSG_PULL_OUT_FILAMENT c=20 r=4
|
||||
"Please pull out filament immediately"
|
||||
"Por favor retire el filamento de inmediato"
|
||||
|
|
@ -844,7 +792,19 @@
|
|||
|
||||
#
|
||||
"Print FAN"
|
||||
"Vent.extr"
|
||||
"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"
|
||||
|
|
@ -886,25 +846,21 @@
|
|||
"Right side[um]"
|
||||
"Derecha [um]"
|
||||
|
||||
#MSG_SECOND_SERIAL_ON c=17 r=1
|
||||
"RPi port [on]"
|
||||
"Puerto RPi [act]"
|
||||
|
||||
#MSG_SECOND_SERIAL_OFF c=17 r=1
|
||||
"RPi port [off]"
|
||||
"Puerto RPi [ina]"
|
||||
#MSG_RPI_PORT
|
||||
"RPi port"
|
||||
"Puerto RPi"
|
||||
|
||||
#MSG_WIZARD_RERUN c=20 r=7
|
||||
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
|
||||
"Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara de nuevo. Continuar?"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
|
||||
"SD card [normal]"
|
||||
"Tarj. SD [normal]"
|
||||
#MSG_SD_CARD
|
||||
"SD card"
|
||||
"Tarj. SD"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
|
||||
"SD card [flshAir]"
|
||||
"Tarj. SD[FlshAir]"
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
|
||||
"FlashAir"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Right"
|
||||
|
|
@ -946,10 +902,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.:"
|
||||
|
|
@ -970,49 +922,49 @@
|
|||
"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
|
||||
"Algunos archivos no se ordenaran. Maximo 100 archivos por carpeta para ordenar. "
|
||||
|
||||
#MSG_SORT_NONE c=17 r=1
|
||||
"Sort [none]"
|
||||
"Ordenar [ninguno]"
|
||||
#MSG_SORT
|
||||
"Sort"
|
||||
"Ordenar"
|
||||
|
||||
#MSG_SORT_TIME c=17 r=1
|
||||
"Sort [time]"
|
||||
"Ordenar [tiempo]"
|
||||
#MSG_NONE
|
||||
"None"
|
||||
"Ninguno"
|
||||
|
||||
#MSG_SORT_TIME
|
||||
"Time"
|
||||
"Fecha"
|
||||
|
||||
#
|
||||
"Severe skew"
|
||||
"Incl.severa"
|
||||
"Severe skew:"
|
||||
"Incl.severa:"
|
||||
|
||||
#MSG_SORT_ALPHA c=17 r=1
|
||||
"Sort [alphabet]"
|
||||
"Ordenar [alfabet]"
|
||||
#MSG_SORT_ALPHA
|
||||
"Alphabet"
|
||||
"Alfabet"
|
||||
|
||||
#MSG_SORTING c=20 r=1
|
||||
"Sorting files"
|
||||
"Ordenando archivos"
|
||||
|
||||
#MSG_SOUND_LOUD c=17 r=1
|
||||
"Sound [loud]"
|
||||
"Sonido [alto]"
|
||||
#MSG_SOUND_LOUD
|
||||
"Loud"
|
||||
"Alto"
|
||||
|
||||
#
|
||||
"Slight skew"
|
||||
"Liger.incl."
|
||||
"Slight skew:"
|
||||
"Liger.incl.:"
|
||||
|
||||
#MSG_SOUND_MUTE c=17 r=1
|
||||
"Sound [mute]"
|
||||
"Sonido[silenciad]"
|
||||
#MSG_SOUND
|
||||
"Sound"
|
||||
"Sonido"
|
||||
|
||||
#
|
||||
"Some problem encountered, Z-leveling enforced ..."
|
||||
"Problema encontrado, nivelacion Z forzosa ..."
|
||||
|
||||
#MSG_SOUND_ONCE c=17 r=1
|
||||
"Sound [once]"
|
||||
"Sonido [una vez]"
|
||||
|
||||
#MSG_SOUND_SILENT c=17 r=1
|
||||
"Sound [silent]"
|
||||
"Sonido[silencios]"
|
||||
#MSG_SOUND_ONCE
|
||||
"Once"
|
||||
"Una vez"
|
||||
|
||||
#MSG_SPEED
|
||||
"Speed"
|
||||
|
|
@ -1046,17 +998,17 @@
|
|||
"Swapped"
|
||||
"Intercambiado"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Cal. temp. "
|
||||
#
|
||||
"Select filament:"
|
||||
"Selecciona filamento:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
"Cal. temp. [on]"
|
||||
#MSG_TEMP_CALIBRATION c=12 r=1
|
||||
"Temp. cal."
|
||||
"Cal. temp."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Cal. temp. [off]"
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Selecciona la temperatura adecuada a tu material."
|
||||
|
||||
#MSG_CALIBRATION_PINDA_MENU c=17 r=1
|
||||
"Temp. calibration"
|
||||
|
|
@ -1084,11 +1036,11 @@
|
|||
|
||||
#
|
||||
"Total filament"
|
||||
"Filamento total:"
|
||||
"Filamento total"
|
||||
|
||||
#
|
||||
"Total print time"
|
||||
"Tiempo total :"
|
||||
"Tiempo total"
|
||||
|
||||
#MSG_TUNE
|
||||
"Tune"
|
||||
|
|
@ -1200,7 +1152,7 @@
|
|||
|
||||
#
|
||||
"X-correct:"
|
||||
"Correccion-X:"
|
||||
"Corregir-X:"
|
||||
|
||||
#MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8
|
||||
"XYZ calibration ok. X/Y axes are perpendicular. Congratulations!"
|
||||
|
|
@ -1234,13 +1186,21 @@
|
|||
"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:"
|
||||
"Correccion-Y:"
|
||||
"Corregir-Y:"
|
||||
|
||||
#MSG_OFF
|
||||
" [off]"
|
||||
" [apagado]"
|
||||
"Off"
|
||||
"Ina"
|
||||
|
||||
#MSG_ON
|
||||
"On"
|
||||
"Act"
|
||||
|
||||
#
|
||||
"Back"
|
||||
|
|
@ -1258,17 +1218,17 @@
|
|||
"FINDA:"
|
||||
"FINDA:"
|
||||
|
||||
#
|
||||
"Firmware [none]"
|
||||
"Firmware[ninguno]"
|
||||
#MSG_FIRMWARE
|
||||
"Firmware"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [strict]"
|
||||
"Firmware[estrict]"
|
||||
#MSG_STRICT
|
||||
"Strict"
|
||||
"Estrict"
|
||||
|
||||
#
|
||||
"Firmware [warn]"
|
||||
"Firmware [aviso]"
|
||||
#MSG_WARN
|
||||
"Warn"
|
||||
"Aviso"
|
||||
|
||||
#
|
||||
"HW Setup"
|
||||
|
|
@ -1278,25 +1238,13 @@
|
|||
"IR:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Magnets comp.[N/A]"
|
||||
"Comp. imanes [N/A]"
|
||||
#MSG_MAGNETS_COMP
|
||||
"Magnets comp."
|
||||
"Comp. imanes"
|
||||
|
||||
#
|
||||
"Magnets comp.[Off]"
|
||||
"Comp. imanes [Off]"
|
||||
|
||||
#
|
||||
"Magnets comp. [On]"
|
||||
"Comp. imanes [On]"
|
||||
|
||||
#
|
||||
"Mesh [3x3]"
|
||||
"Malla [3x3]"
|
||||
|
||||
#
|
||||
"Mesh [7x7]"
|
||||
"Malla [7x7]"
|
||||
#MSG_MESH
|
||||
"Mesh"
|
||||
"Malla"
|
||||
|
||||
#
|
||||
"Mesh bed leveling"
|
||||
|
|
@ -1306,53 +1254,21 @@
|
|||
"MK3S firmware detected on MK3 printer"
|
||||
"Firmware MK3S detectado en impresora MK3"
|
||||
|
||||
#
|
||||
"MMU Mode [Normal]"
|
||||
"Modo MMU [Normal]"
|
||||
|
||||
#
|
||||
"MMU Mode[Stealth]"
|
||||
"Modo MMU[Silenci]"
|
||||
#MSG_MMU_MODE
|
||||
"MMU Mode"
|
||||
"Modo MMU"
|
||||
|
||||
#
|
||||
"Mode change in progress ..."
|
||||
"Cambio de modo progresando ..."
|
||||
|
||||
#
|
||||
"Model [none]"
|
||||
"Modelo [ninguno]"
|
||||
#MSG_MODEL
|
||||
"Model"
|
||||
"Modelo"
|
||||
|
||||
#
|
||||
"Model [strict]"
|
||||
"Modelo [estricto]"
|
||||
|
||||
#
|
||||
"Model [warn]"
|
||||
"Modelo [aviso]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.25]"
|
||||
"Diam. nozzl[0.25]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.40]"
|
||||
"Diam. nozzl[0.40]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.60]"
|
||||
"Diam. nozzl[0.60]"
|
||||
|
||||
#
|
||||
"Nozzle [none]"
|
||||
"Nozzle [ninguno]"
|
||||
|
||||
#
|
||||
"Nozzle [strict]"
|
||||
"Nozzle [estricto]"
|
||||
|
||||
#
|
||||
"Nozzle [warn]"
|
||||
"Nozzle [aviso]"
|
||||
#MSG_NOZZLE_DIAMETER
|
||||
"Nozzle d."
|
||||
"Diam. nozzl"
|
||||
|
||||
#
|
||||
"G-code sliced for a different level. Continue?"
|
||||
|
|
@ -1414,9 +1330,9 @@
|
|||
"Sheet"
|
||||
"Lamina"
|
||||
|
||||
#
|
||||
"Sound [assist]"
|
||||
"Sonido [asistido]"
|
||||
#MSG_SOUND_BLIND
|
||||
"Assist"
|
||||
"Asistido"
|
||||
|
||||
#
|
||||
"Steel sheets"
|
||||
|
|
@ -1424,12 +1340,8 @@
|
|||
|
||||
#
|
||||
"Z-correct:"
|
||||
"Correccion-Z:"
|
||||
"Corregir-Z:"
|
||||
|
||||
#
|
||||
"Z-probe nr. [1]"
|
||||
"Z-sensor nr. [1]"
|
||||
|
||||
#
|
||||
"Z-probe nr. [3]"
|
||||
"Z-sensor nr. [3]"
|
||||
#MSG_Z_PROBE_NR
|
||||
"Z-probe nr."
|
||||
"Z-sensor nr."
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,10 +1,14 @@
|
|||
#
|
||||
"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
|
||||
"[%.7s]Set valori\x0aComp. Z, continuare\x0ao iniziare da zero?\x0a%cContinua%cReset"
|
||||
|
||||
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14
|
||||
" of 4"
|
||||
" su 4"
|
||||
|
||||
#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 c=14
|
||||
" of 9"
|
||||
"su 9"
|
||||
" su 9"
|
||||
|
||||
#MSG_MEASURED_OFFSET
|
||||
"[0;0] point offset"
|
||||
|
|
@ -46,16 +50,8 @@
|
|||
"Are left and right Z~carriages all up?"
|
||||
"I carrelli Z sin/des sono altezza max?"
|
||||
|
||||
#MSG_AUTO_DEPLETE_ON c=17 r=1
|
||||
"SpoolJoin [on]"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"SpoolJoin [N/A]"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_DEPLETE_OFF c=17 r=1
|
||||
"SpoolJoin [off]"
|
||||
#MSG_AUTO_DEPLETE c=17 r=1
|
||||
"SpoolJoin"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_HOME
|
||||
|
|
@ -72,7 +68,7 @@
|
|||
|
||||
#MSG_AUTOLOADING_ENABLED c=20 r=4
|
||||
"Autoloading filament is active, just press the knob and insert filament..."
|
||||
"Il caricamento automatico e attivo, premete la manopola e inserite il filamento..."
|
||||
"Caricamento automatico attivo, premi la manopola e inserisci il filamento."
|
||||
|
||||
#MSG_SELFTEST_AXIS_LENGTH
|
||||
"Axis length"
|
||||
|
|
@ -108,7 +104,7 @@
|
|||
|
||||
#MSG_MENU_BELT_STATUS c=15 r=1
|
||||
"Belt status"
|
||||
"Stato delle cinghie"
|
||||
"Stato cinghie"
|
||||
|
||||
#MSG_RECOVER_PRINT c=20 r=2
|
||||
"Blackout occurred. Recover print?"
|
||||
|
|
@ -170,17 +166,13 @@
|
|||
"Copy selected language?"
|
||||
"Copiare la lingua selezionata?"
|
||||
|
||||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
"Rilevam.imp. [on]"
|
||||
#MSG_CRASHDETECT
|
||||
"Crash det."
|
||||
"Rileva.crash"
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Rilevam.imp.[N/A]"
|
||||
|
||||
#MSG_CRASHDETECT_OFF
|
||||
"Crash det. [off]"
|
||||
"Rilevam.imp.[off]"
|
||||
#
|
||||
"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_CRASH_DETECTED c=20 r=1
|
||||
"Crash detected."
|
||||
|
|
@ -222,10 +214,6 @@
|
|||
"Eject filament"
|
||||
"Espelli filamento "
|
||||
|
||||
#
|
||||
"Eject"
|
||||
"Espellere"
|
||||
|
||||
#MSG_EJECTING_FILAMENT c=20 r=1
|
||||
"Ejecting filament"
|
||||
"Espellendo filamento "
|
||||
|
|
@ -270,17 +258,9 @@
|
|||
"Fail stats MMU"
|
||||
"Stat.fall. MMU"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
|
||||
"F. autoload [on]"
|
||||
"Autocar.filam[on]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
|
||||
"F. autoload [N/A]"
|
||||
"Autocar.fil.[N/A]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_OFF c=17 r=1
|
||||
"F. autoload [off]"
|
||||
"Autocar.fil.[off]"
|
||||
#MSG_FSENSOR_AUTOLOAD
|
||||
"F. autoload"
|
||||
"Autocar.fil."
|
||||
|
||||
#
|
||||
"Fail stats"
|
||||
|
|
@ -294,26 +274,13 @@
|
|||
"Fan test"
|
||||
"Test ventola"
|
||||
|
||||
#MSG_FANS_CHECK_ON c=17 r=1
|
||||
"Fans check [on]"
|
||||
"Control.vent [on]"
|
||||
|
||||
#MSG_FANS_CHECK_OFF c=17 r=1
|
||||
"Fans check [off]"
|
||||
"Control.vent[off]"
|
||||
|
||||
#MSG_FSENSOR_ON
|
||||
"Fil. sensor [on]"
|
||||
"Sensor filam.[on]"
|
||||
|
||||
#MSG_FSENSOR_NA
|
||||
"Fil. sensor [N/A]"
|
||||
"Sensor filam[N/A]"
|
||||
|
||||
#MSG_FSENSOR_OFF
|
||||
"Fil. sensor [off]"
|
||||
"Sensor filam[off]"
|
||||
#MSG_FANS_CHECK
|
||||
"Fans check"
|
||||
"Control.vent"
|
||||
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
"Sensore fil."
|
||||
#
|
||||
"Filam. runouts"
|
||||
"Filam. esauriti"
|
||||
|
|
@ -348,7 +315,7 @@
|
|||
|
||||
#MSG_V2_CALIBRATION c=17 r=1
|
||||
"First layer cal."
|
||||
"Calibrazione primo layer."
|
||||
"Cal. primo strato"
|
||||
|
||||
#MSG_WIZARD_SELFTEST c=20 r=8
|
||||
"First, I will run the selftest to check most common assembly problems."
|
||||
|
|
@ -462,18 +429,10 @@
|
|||
"I will run z calibration now."
|
||||
"Adesso avviero la Calibrazione Z."
|
||||
|
||||
#MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
"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."
|
||||
"Adesso iniziero a stampare una linea e tu dovrai abbassare l'ugello poco per volta ruotando la manopola sino a raggiungere una altezza ottimale. Per favore dai uno sguardo all'immagine del nostro manuale, cap.Calibrazione."
|
||||
|
||||
#MSG_WATCH
|
||||
"Info screen"
|
||||
"Schermata info"
|
||||
|
||||
#
|
||||
"Is filament 1 loaded?"
|
||||
"Il filamento 1 e caricato?"
|
||||
|
||||
#MSG_INSERT_FILAMENT c=20
|
||||
"Insert filament"
|
||||
"Inserire filamento"
|
||||
|
|
@ -482,14 +441,6 @@
|
|||
"Is filament loaded?"
|
||||
"Il filamento e stato caricato?"
|
||||
|
||||
#MSG_WIZARD_PLA_FILAMENT c=20 r=2
|
||||
"Is it PLA filament?"
|
||||
"E' un filamento di PLA?"
|
||||
|
||||
#MSG_PLA_FILAMENT_LOADED c=20 r=2
|
||||
"Is PLA filament loaded?"
|
||||
"E' stato caricato il filamento di PLA?"
|
||||
|
||||
#MSG_STEEL_SHEET_CHECK c=20 r=2
|
||||
"Is steel sheet on heatbed?"
|
||||
"La piastra d'acciaio e sul piano riscaldato?"
|
||||
|
|
@ -498,6 +449,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"
|
||||
|
|
@ -512,11 +467,11 @@
|
|||
|
||||
#MSG_BED_CORRECTION_LEFT c=14 r=1
|
||||
"Left side [um]"
|
||||
"Sinistra [um]"
|
||||
"Sinistra [um]"
|
||||
|
||||
#
|
||||
"Lin. correction"
|
||||
"Correzione lin."
|
||||
"Correzione lineare"
|
||||
|
||||
#MSG_BABYSTEP_Z
|
||||
"Live adjust Z"
|
||||
|
|
@ -556,7 +511,7 @@
|
|||
|
||||
#MSG_MESH_BED_LEVELING
|
||||
"Mesh Bed Leveling"
|
||||
"Mesh livel. letto"
|
||||
"Livel. piatto"
|
||||
|
||||
#MSG_MMU_OK_RESUMING_POSITION c=20 r=4
|
||||
"MMU OK. Resuming position..."
|
||||
|
|
@ -586,13 +541,17 @@
|
|||
"MMU OK. Resuming..."
|
||||
"MMU OK. Riprendendo... "
|
||||
|
||||
#MSG_STEALTH_MODE_OFF
|
||||
"Mode [Normal]"
|
||||
"Modo [normale]"
|
||||
#MSG_MODE
|
||||
"Mode"
|
||||
"Mod."
|
||||
|
||||
#MSG_SILENT_MODE_ON
|
||||
"Mode [silent]"
|
||||
"Modo [silenzioso]"
|
||||
#MSG_NORMAL
|
||||
"Normal"
|
||||
"Normale"
|
||||
|
||||
#MSG_SILENT
|
||||
"Silent"
|
||||
"Silenzioso"
|
||||
|
||||
#
|
||||
"MMU needs user attention."
|
||||
|
|
@ -602,17 +561,17 @@
|
|||
"MMU power fails"
|
||||
"Manc. corr. MMU"
|
||||
|
||||
#MSG_STEALTH_MODE_ON
|
||||
"Mode [Stealth]"
|
||||
"Modo [Silenziosa]"
|
||||
#MSG_STEALTH
|
||||
"Stealth"
|
||||
"Silenziosa"
|
||||
|
||||
#MSG_AUTO_MODE_ON
|
||||
"Mode [auto power]"
|
||||
"Modo [auto]"
|
||||
#MSG_AUTO_POWER
|
||||
"Auto power"
|
||||
"Auto"
|
||||
|
||||
#MSG_SILENT_MODE_OFF
|
||||
"Mode [high power]"
|
||||
"Mode [forte]"
|
||||
#MSG_HIGH_POWER
|
||||
"High power"
|
||||
"Forte"
|
||||
|
||||
#
|
||||
"MMU2 connected"
|
||||
|
|
@ -646,7 +605,7 @@
|
|||
"No SD card"
|
||||
"Nessuna SD"
|
||||
|
||||
#
|
||||
#MSG_NA
|
||||
"N/A"
|
||||
"\x00"
|
||||
|
||||
|
|
@ -730,14 +689,6 @@
|
|||
"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
|
||||
"Per favore consulta il nostro manuale per risolvere il problema. Poi riprendi il Wizard dopo aver riavviato la stampante."
|
||||
|
||||
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
"Please insert PLA filament to the extruder, then press knob to load it."
|
||||
"Per favore inserisci il filamento di PLA nell'estrusore, poi premi la manopola per caricare."
|
||||
|
||||
#MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
"Please load PLA filament first."
|
||||
"Per favore prima carica il filamento di PLA."
|
||||
|
||||
#MSG_CHECK_IDLER c=20 r=4
|
||||
"Please open idler and remove filament manually."
|
||||
"Aprire la guida filam. e rimuovere il filam. a mano"
|
||||
|
|
@ -750,10 +701,6 @@
|
|||
"Please press the knob to unload filament"
|
||||
"Premete la manopola per scaricare il filamento "
|
||||
|
||||
#
|
||||
"Please insert PLA filament to the first tube of MMU, then press the knob to load it."
|
||||
"Per favore inserite del filamento PLA nel primo tubo del MMU, poi premete la manopola per caricarlo."
|
||||
|
||||
#MSG_PULL_OUT_FILAMENT c=20 r=4
|
||||
"Please pull out filament immediately"
|
||||
"Estrarre il filamento immediatamente"
|
||||
|
|
@ -846,6 +793,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"
|
||||
|
|
@ -886,25 +845,21 @@
|
|||
"Right side[um]"
|
||||
"Destra [um]"
|
||||
|
||||
#MSG_SECOND_SERIAL_ON c=17 r=1
|
||||
"RPi port [on]"
|
||||
"Porta RPi [on]"
|
||||
|
||||
#MSG_SECOND_SERIAL_OFF c=17 r=1
|
||||
"RPi port [off]"
|
||||
"Porta RPi [off]"
|
||||
#MSG_RPI_PORT
|
||||
"RPi port"
|
||||
"Porta RPi"
|
||||
|
||||
#MSG_WIZARD_RERUN c=20 r=7
|
||||
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
|
||||
"Se avvi il Wizard perderai la calibrazione preesistente e dovrai ricominciare dall'inizio. Continuare?"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
|
||||
"SD card [normal]"
|
||||
"Mem. SD [normale]"
|
||||
#MSG_SD_CARD
|
||||
"SD card"
|
||||
"Mem. SD"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
|
||||
"SD card [flshAir]"
|
||||
"Mem. SD [flshAir]"
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
|
||||
"FlashAir"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Right"
|
||||
|
|
@ -946,10 +901,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:"
|
||||
|
|
@ -970,49 +921,49 @@
|
|||
"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
|
||||
"Alcuni file non saranno ordinati. Il numero massimo di file in una cartella e 100 perche siano ordinati."
|
||||
|
||||
#MSG_SORT_NONE c=17 r=1
|
||||
"Sort [none]"
|
||||
"Ordina [nessuno]"
|
||||
#MSG_SORT
|
||||
"Sort"
|
||||
"Ordina"
|
||||
|
||||
#MSG_SORT_TIME c=17 r=1
|
||||
"Sort [time]"
|
||||
"Ordina [tempo]"
|
||||
#MSG_NONE
|
||||
"None"
|
||||
"Nessuno"
|
||||
|
||||
#MSG_SORT_TIME
|
||||
"Time"
|
||||
"Cron."
|
||||
|
||||
#
|
||||
"Severe skew"
|
||||
"Devia.grave"
|
||||
"Severe skew:"
|
||||
"Devia.grave:"
|
||||
|
||||
#MSG_SORT_ALPHA c=17 r=1
|
||||
"Sort [alphabet]"
|
||||
"Ordine [alfabeti]"
|
||||
#MSG_SORT_ALPHA
|
||||
"Alphabet"
|
||||
"Alfabeti"
|
||||
|
||||
#MSG_SORTING c=20 r=1
|
||||
"Sorting files"
|
||||
"Ordinando i file"
|
||||
|
||||
#MSG_SOUND_LOUD c=17 r=1
|
||||
"Sound [loud]"
|
||||
"Suono [forte]"
|
||||
#MSG_SOUND_LOUD
|
||||
"Loud"
|
||||
"Forte"
|
||||
|
||||
#
|
||||
"Slight skew"
|
||||
"Devia.lieve"
|
||||
"Slight skew:"
|
||||
"Devia.lieve:"
|
||||
|
||||
#MSG_SOUND_MUTE c=17 r=1
|
||||
"Sound [mute]"
|
||||
"Suono [mute]"
|
||||
#MSG_SOUND
|
||||
"Sound"
|
||||
"Suono"
|
||||
|
||||
#
|
||||
"Some problem encountered, Z-leveling enforced ..."
|
||||
"Sono stati rilevati problemi, avviato livellamento Z ..."
|
||||
|
||||
#MSG_SOUND_ONCE c=17 r=1
|
||||
"Sound [once]"
|
||||
"Suono [singolo]"
|
||||
|
||||
#MSG_SOUND_SILENT c=17 r=1
|
||||
"Sound [silent]"
|
||||
"Suono[silenzioso]"
|
||||
#MSG_SOUND_ONCE
|
||||
"Once"
|
||||
"Singolo"
|
||||
|
||||
#MSG_SPEED
|
||||
"Speed"
|
||||
|
|
@ -1046,17 +997,17 @@
|
|||
"Swapped"
|
||||
"Scambiato"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Calib. temp. "
|
||||
#
|
||||
"Select filament:"
|
||||
"Seleziona il filamento:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
"Calib. temp. [on]"
|
||||
#MSG_TEMP_CALIBRATION c=12 r=1
|
||||
"Temp. cal."
|
||||
"Calib. temp."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Calib. temp.[off]"
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Seleziona la temperatura appropriata per il tuo materiale."
|
||||
|
||||
#MSG_CALIBRATION_PINDA_MENU c=17 r=1
|
||||
"Temp. calibration"
|
||||
|
|
@ -1234,12 +1185,20 @@
|
|||
"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:"
|
||||
|
||||
#MSG_OFF
|
||||
" [off]"
|
||||
"Off"
|
||||
"\x00"
|
||||
|
||||
#MSG_ON
|
||||
"On"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
|
|
@ -1258,17 +1217,17 @@
|
|||
"FINDA:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [none]"
|
||||
"Firmware[nessuno]"
|
||||
#MSG_FIRMWARE
|
||||
"Firmware"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [strict]"
|
||||
"Firmware [esatto]"
|
||||
#MSG_STRICT
|
||||
"Strict"
|
||||
"Esatto"
|
||||
|
||||
#
|
||||
"Firmware [warn]"
|
||||
"Firmware [avviso]"
|
||||
#MSG_WARN
|
||||
"Warn"
|
||||
"Avviso"
|
||||
|
||||
#
|
||||
"HW Setup"
|
||||
|
|
@ -1278,25 +1237,13 @@
|
|||
"IR:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Magnets comp.[N/A]"
|
||||
"Comp. Magneti[N/A]"
|
||||
#MSG_MAGNETS_COMP
|
||||
"Magnets comp."
|
||||
"Comp. Magneti"
|
||||
|
||||
#
|
||||
"Magnets comp.[Off]"
|
||||
"Comp. Magneti[off]"
|
||||
|
||||
#
|
||||
"Magnets comp. [On]"
|
||||
"Comp. Magneti [on]"
|
||||
|
||||
#
|
||||
"Mesh [3x3]"
|
||||
"Griglia [3x3]"
|
||||
|
||||
#
|
||||
"Mesh [7x7]"
|
||||
"Griglia [7x7]"
|
||||
#MSG_MESH
|
||||
"Mesh"
|
||||
"Griglia"
|
||||
|
||||
#
|
||||
"Mesh bed leveling"
|
||||
|
|
@ -1306,53 +1253,21 @@
|
|||
"MK3S firmware detected on MK3 printer"
|
||||
"Firmware MK3S rilevato su stampante MK3"
|
||||
|
||||
#
|
||||
"MMU Mode [Normal]"
|
||||
"Modalita MMU [Normale]"
|
||||
|
||||
#
|
||||
"MMU Mode[Stealth]"
|
||||
"Modalita MMU [Silenziosa]"
|
||||
#MSG_MMU_MODE
|
||||
"MMU Mode"
|
||||
"Mod. MMU"
|
||||
|
||||
#
|
||||
"Mode change in progress ..."
|
||||
"Cambio modalita in corso ..."
|
||||
|
||||
#
|
||||
"Model [none]"
|
||||
"Modello [nessuno]"
|
||||
#MSG_MODEL
|
||||
"Model"
|
||||
"Modello"
|
||||
|
||||
#
|
||||
"Model [strict]"
|
||||
"Modello [esatto]"
|
||||
|
||||
#
|
||||
"Model [warn]"
|
||||
"Modello [avviso]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.25]"
|
||||
"Diam.Ugello[0.25]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.40]"
|
||||
"Diam.Ugello[0.40]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.60]"
|
||||
"Diam.Ugello[0.60]"
|
||||
|
||||
#
|
||||
"Nozzle [none]"
|
||||
"Ugello [nessuno]"
|
||||
|
||||
#
|
||||
"Nozzle [strict]"
|
||||
"Ugello [esatto]"
|
||||
|
||||
#
|
||||
"Nozzle [warn]"
|
||||
"Ugello [avviso]"
|
||||
#MSG_NOZZLE_DIAMETER
|
||||
"Nozzle d."
|
||||
"Diam.Ugello"
|
||||
|
||||
#
|
||||
"G-code sliced for a different level. Continue?"
|
||||
|
|
@ -1414,9 +1329,9 @@
|
|||
"Sheet"
|
||||
"Piano"
|
||||
|
||||
#
|
||||
"Sound [assist]"
|
||||
"Suono [assistito]"
|
||||
#MSG_SOUND_BLIND
|
||||
"Assist"
|
||||
"Assist."
|
||||
|
||||
#
|
||||
"Steel sheets"
|
||||
|
|
@ -1426,10 +1341,6 @@
|
|||
"Z-correct:"
|
||||
"Correzione-Z:"
|
||||
|
||||
#
|
||||
"Z-probe nr. [1]"
|
||||
"Z-probe nr. [1]"
|
||||
|
||||
#
|
||||
"Z-probe nr. [3]"
|
||||
"Z-probe nr. [3]"
|
||||
#MSG_Z_PROBE_NR
|
||||
"Z-probe nr."
|
||||
"\x00"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
#
|
||||
"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
|
||||
"[%.7s]Live Adj. Z\x0austaw., kontynuowac\x0aczy zaczac od 0?\x0a%cKontynuuj%cReset"
|
||||
|
||||
#MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14
|
||||
" of 4"
|
||||
" z 4"
|
||||
|
|
@ -46,17 +50,9 @@
|
|||
"Are left and right Z~carriages all up?"
|
||||
"Obydwa konce osi sa na szczycie?"
|
||||
|
||||
#MSG_AUTO_DEPLETE_ON c=17 r=1
|
||||
"SpoolJoin [on]"
|
||||
"SpoolJoin [wl]"
|
||||
|
||||
#
|
||||
"SpoolJoin [N/A]"
|
||||
"SpoolJoin [nd]"
|
||||
|
||||
#MSG_AUTO_DEPLETE_OFF c=17 r=1
|
||||
"SpoolJoin [off]"
|
||||
"SpoolJoin [wyl]"
|
||||
#MSG_AUTO_DEPLETE c=17 r=1
|
||||
"SpoolJoin"
|
||||
"\x00"
|
||||
|
||||
#MSG_AUTO_HOME
|
||||
"Auto home"
|
||||
|
|
@ -64,11 +60,11 @@
|
|||
|
||||
#MSG_AUTOLOAD_FILAMENT c=17
|
||||
"AutoLoad filament"
|
||||
"AutoLadowanie fil."
|
||||
"Autoladowanie fil."
|
||||
|
||||
#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..."
|
||||
|
|
@ -96,7 +92,7 @@
|
|||
|
||||
#MSG_BED_CORRECTION_MENU
|
||||
"Bed level correct"
|
||||
"Korekta poziomowania stolu"
|
||||
"Korekta stolu"
|
||||
|
||||
#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=4
|
||||
"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
|
||||
|
|
@ -171,16 +167,12 @@
|
|||
"Skopiowac wybrany jezyk?"
|
||||
|
||||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
"Wykr.zderzen [wl]"
|
||||
"Crash det."
|
||||
"Wykr.zderzen"
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Wykr.zderzen[n/d]"
|
||||
|
||||
#MSG_CRASHDETECT_OFF
|
||||
"Crash det. [off]"
|
||||
"Wykr.zderzen[wyl]"
|
||||
#
|
||||
"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_CRASH_DETECTED c=20 r=1
|
||||
"Crash detected."
|
||||
|
|
@ -204,7 +196,7 @@
|
|||
|
||||
#MSG_DISABLE_STEPPERS
|
||||
"Disable steppers"
|
||||
"Wylaczenie silnikow"
|
||||
"Wylacz silniki"
|
||||
|
||||
#MSG_BABYSTEP_Z_NOT_SET c=20 r=12
|
||||
"Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."
|
||||
|
|
@ -222,10 +214,6 @@
|
|||
"Eject filament"
|
||||
"Wysun filament"
|
||||
|
||||
#
|
||||
"Eject"
|
||||
"Wysun"
|
||||
|
||||
#MSG_EJECTING_FILAMENT c=20 r=1
|
||||
"Ejecting filament"
|
||||
"Wysuwanie filamentu"
|
||||
|
|
@ -256,11 +244,11 @@
|
|||
|
||||
#MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18
|
||||
"Extruder fan:"
|
||||
"Went. ekstr:"
|
||||
"WentHotend:"
|
||||
|
||||
#MSG_INFO_EXTRUDER c=15 r=1
|
||||
"Extruder info"
|
||||
"Informacje o ekstruderze"
|
||||
"Ekstruder - info"
|
||||
|
||||
#MSG_MOVE_E
|
||||
"Extruder"
|
||||
|
|
@ -270,17 +258,9 @@
|
|||
"Fail stats MMU"
|
||||
"Bledy MMU"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_ON c=17 r=1
|
||||
"F. autoload [on]"
|
||||
"Autolad. fil [wl]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_NA c=17 r=1
|
||||
"F. autoload [N/A]"
|
||||
"Autolad.fil.[N/D]"
|
||||
|
||||
#MSG_FSENS_AUTOLOAD_OFF c=17 r=1
|
||||
"F. autoload [off]"
|
||||
"Autolad.fil.[wyl]"
|
||||
#MSG_FSENSOR_AUTOLOAD
|
||||
"F. autoload"
|
||||
"Autolad. fil."
|
||||
|
||||
#
|
||||
"Fail stats"
|
||||
|
|
@ -294,25 +274,13 @@
|
|||
"Fan test"
|
||||
"Test wentylatora"
|
||||
|
||||
#MSG_FANS_CHECK_ON c=17 r=1
|
||||
"Fans check [on]"
|
||||
"Sprawd.went. [wl]"
|
||||
#MSG_FANS_CHECK
|
||||
"Fans check"
|
||||
"Sprawd.went."
|
||||
|
||||
#MSG_FANS_CHECK_OFF c=17 r=1
|
||||
"Fans check [off]"
|
||||
"Sprawd.went.[wyl]"
|
||||
|
||||
#MSG_FSENSOR_ON
|
||||
"Fil. sensor [on]"
|
||||
"Czuj. filam. [wl]"
|
||||
|
||||
#MSG_FSENSOR_NA
|
||||
"Fil. sensor [N/A]"
|
||||
"Czuj. filam.[N/D]"
|
||||
|
||||
#MSG_FSENSOR_OFF
|
||||
"Fil. sensor [off]"
|
||||
"Czuj. filam.[wyl]"
|
||||
#MSG_FSENSOR
|
||||
"Fil. sensor"
|
||||
"Czuj. filam."
|
||||
|
||||
#
|
||||
"Filam. runouts"
|
||||
|
|
@ -320,7 +288,7 @@
|
|||
|
||||
#MSG_FILAMENT_CLEAN c=20 r=2
|
||||
"Filament extruding & with correct color?"
|
||||
"Filament wychodzi z dyszy a kolor jest czysty?"
|
||||
"Filament wychodzi z dyszy, kolor jest ok?"
|
||||
|
||||
#MSG_NOT_LOADED c=19
|
||||
"Filament not loaded"
|
||||
|
|
@ -462,18 +430,10 @@
|
|||
"I will run z calibration now."
|
||||
"Przeprowadze kalibracje Z."
|
||||
|
||||
#MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
"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."
|
||||
"Zaczne drukowac linie. Stopniowo opuszczaj dysze przekrecajac pokretlo, poki nie uzyskasz optymalnej wysokosci. Sprawdz obrazki w naszym Podreczniku w rozdz. Kalibracja"
|
||||
|
||||
#MSG_WATCH
|
||||
"Info screen"
|
||||
"Ekran informacyjny"
|
||||
|
||||
#
|
||||
"Is filament 1 loaded?"
|
||||
"Filament 1 zaladowany?"
|
||||
|
||||
#MSG_INSERT_FILAMENT c=20
|
||||
"Insert filament"
|
||||
"Wprowadz filament"
|
||||
|
|
@ -482,14 +442,6 @@
|
|||
"Is filament loaded?"
|
||||
"Filament jest zaladowany?"
|
||||
|
||||
#MSG_WIZARD_PLA_FILAMENT c=20 r=2
|
||||
"Is it PLA filament?"
|
||||
"Czy to filament PLA?"
|
||||
|
||||
#MSG_PLA_FILAMENT_LOADED c=20 r=2
|
||||
"Is PLA filament loaded?"
|
||||
"Fialment PLA jest zaladowany?"
|
||||
|
||||
#MSG_STEEL_SHEET_CHECK c=20 r=2
|
||||
"Is steel sheet on heatbed?"
|
||||
"Czy plyta stal. jest na podgrzew. stole?"
|
||||
|
|
@ -498,6 +450,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"
|
||||
|
|
@ -516,7 +472,7 @@
|
|||
|
||||
#
|
||||
"Lin. correction"
|
||||
"Korekcja lin."
|
||||
"Korekcja liniowa"
|
||||
|
||||
#MSG_BABYSTEP_Z
|
||||
"Live adjust Z"
|
||||
|
|
@ -586,13 +542,17 @@
|
|||
"MMU OK. Resuming..."
|
||||
"MMU OK. Wznawianie..."
|
||||
|
||||
#MSG_STEALTH_MODE_OFF
|
||||
"Mode [Normal]"
|
||||
"Tryb [normalny]"
|
||||
#MSG_MODE
|
||||
"Mode"
|
||||
"Tryb"
|
||||
|
||||
#MSG_SILENT_MODE_ON
|
||||
"Mode [silent]"
|
||||
"Tryb [cichy]"
|
||||
#MSG_NORMAL
|
||||
"Normal"
|
||||
"Normalny"
|
||||
|
||||
#MSG_SILENT
|
||||
"Silent"
|
||||
"Cichy"
|
||||
|
||||
#
|
||||
"MMU needs user attention."
|
||||
|
|
@ -602,17 +562,17 @@
|
|||
"MMU power fails"
|
||||
"Zaniki zasil. MMU"
|
||||
|
||||
#MSG_STEALTH_MODE_ON
|
||||
"Mode [Stealth]"
|
||||
"Tryb [Stealth]"
|
||||
#MSG_STEALTH
|
||||
"Stealth"
|
||||
"Cichy"
|
||||
|
||||
#MSG_AUTO_MODE_ON
|
||||
"Mode [auto power]"
|
||||
"Tryb [automatycz]"
|
||||
#MSG_AUTO_POWER
|
||||
"Auto power"
|
||||
"Automatycz"
|
||||
|
||||
#MSG_SILENT_MODE_OFF
|
||||
"Mode [high power]"
|
||||
"Tryb[wysoka wyd.]"
|
||||
#MSG_HIGH_POWER
|
||||
"High power"
|
||||
"Wysoka wyd."
|
||||
|
||||
#
|
||||
"MMU2 connected"
|
||||
|
|
@ -646,7 +606,7 @@
|
|||
"No SD card"
|
||||
"Brak karty SD"
|
||||
|
||||
#
|
||||
#MSG_NA
|
||||
"N/A"
|
||||
"N/D"
|
||||
|
||||
|
|
@ -688,7 +648,7 @@
|
|||
|
||||
#
|
||||
"Nozzle FAN"
|
||||
"Went. Hotend"
|
||||
"WentHotend"
|
||||
|
||||
#MSG_PAUSE_PRINT
|
||||
"Pause print"
|
||||
|
|
@ -720,7 +680,7 @@
|
|||
|
||||
#MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8
|
||||
"Please clean the nozzle for calibration. Click when done."
|
||||
"Dla prawidl. kalibracji nalezy oczyscic dysze. Potw. guzikiem."
|
||||
"Dla prawidlowej kalibracji nalezy oczyscic dysze. Potwierdz guzikiem."
|
||||
|
||||
#MSG_SELFTEST_PLEASECHECK
|
||||
"Please check :"
|
||||
|
|
@ -730,14 +690,6 @@
|
|||
"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
|
||||
"Przeczytaj nasz Podrecznik druku 3D aby naprawic problem. Potem wznow Asystenta przez restart drukarki."
|
||||
|
||||
#MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
"Please insert PLA filament to the extruder, then press knob to load it."
|
||||
"Umiesc filament PLA w ekstruderze i nacisnij pokretlo, aby zaladowac."
|
||||
|
||||
#MSG_PLEASE_LOAD_PLA c=20 r=4
|
||||
"Please load PLA filament first."
|
||||
"Najpierw zaladuj filament PLA."
|
||||
|
||||
#MSG_CHECK_IDLER c=20 r=4
|
||||
"Please open idler and remove filament manually."
|
||||
"Prosze odciagnac dzwignie dociskowa ekstrudera i recznie usunac filament."
|
||||
|
|
@ -750,10 +702,6 @@
|
|||
"Please press the knob to unload filament"
|
||||
"Nacisnij pokretlo aby rozladowac filament"
|
||||
|
||||
#
|
||||
"Please insert PLA filament to the first tube of MMU, then press the knob to load it."
|
||||
"Wsun filament PLA do pierwszej rurki MMU i nacisnij pokretlo aby go zaladowac."
|
||||
|
||||
#MSG_PULL_OUT_FILAMENT c=20 r=4
|
||||
"Please pull out filament immediately"
|
||||
"Wyciagnij filament teraz"
|
||||
|
|
@ -820,7 +768,7 @@
|
|||
|
||||
#MSG_SELFTEST_PRINT_FAN_SPEED c=18
|
||||
"Print fan:"
|
||||
"Went.wydr:"
|
||||
"WentWydruk:"
|
||||
|
||||
#MSG_CARD_MENU
|
||||
"Print from SD"
|
||||
|
|
@ -840,11 +788,23 @@
|
|||
|
||||
#MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8
|
||||
"Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
|
||||
"Drukarka nie zostala jeszcze skalibrowana. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem."
|
||||
"Drukarka nie byla jeszcze kalibrowana. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem."
|
||||
|
||||
#
|
||||
"Print FAN"
|
||||
"Went.wydr"
|
||||
"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"
|
||||
|
|
@ -886,25 +846,21 @@
|
|||
"Right side[um]"
|
||||
"Prawo [um]"
|
||||
|
||||
#MSG_SECOND_SERIAL_ON c=17 r=1
|
||||
"RPi port [on]"
|
||||
"Port RPi [wl]"
|
||||
|
||||
#MSG_SECOND_SERIAL_OFF c=17 r=1
|
||||
"RPi port [off]"
|
||||
"Port RPi [wyl]"
|
||||
#MSG_RPI_PORT
|
||||
"RPi port"
|
||||
"Port RPi"
|
||||
|
||||
#MSG_WIZARD_RERUN c=20 r=7
|
||||
"Running Wizard will delete current calibration results and start from the beginning. Continue?"
|
||||
"Wlaczenie Asystenta usunie obecne dane kalibracyjne i zacznie od poczatku. Kontynuowac?"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
|
||||
"SD card [normal]"
|
||||
"Karta SD [normal]"
|
||||
#MSG_SD_CARD
|
||||
"SD card"
|
||||
"Karta SD"
|
||||
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
|
||||
"SD card [flshAir]"
|
||||
"Karta SD[FlshAir]"
|
||||
#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
|
||||
"FlashAir"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Right"
|
||||
|
|
@ -924,7 +880,7 @@
|
|||
|
||||
#MSG_SELFTEST_START c=20
|
||||
"Self test start "
|
||||
"Rozpoczynanie Selftestu"
|
||||
"Selftest startuje"
|
||||
|
||||
#MSG_SELFTEST
|
||||
"Selftest "
|
||||
|
|
@ -932,7 +888,7 @@
|
|||
|
||||
#MSG_SELFTEST_ERROR
|
||||
"Selftest error !"
|
||||
"Blad selftest !"
|
||||
"Blad selftest!"
|
||||
|
||||
#MSG_SELFTEST_FAILED c=20
|
||||
"Selftest failed "
|
||||
|
|
@ -946,13 +902,9 @@
|
|||
"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. temperatury:"
|
||||
"Ustaw temperature:"
|
||||
|
||||
#MSG_SETTINGS
|
||||
"Settings"
|
||||
|
|
@ -970,50 +922,49 @@
|
|||
"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
|
||||
"Niektore pliki nie zostana posortowane. Max. liczba plikow w 1 folderze = 100."
|
||||
|
||||
#MSG_SORT_NONE c=17 r=1
|
||||
"Sort [none]"
|
||||
"Sortowanie [brak]"
|
||||
#MSG_SORT
|
||||
"Sort"
|
||||
"Sortowanie"
|
||||
|
||||
#MSG_SORT_TIME c=17 r=1
|
||||
"Sort [time]"
|
||||
"Sortowanie [czas]"
|
||||
#MSG_NONE
|
||||
"None"
|
||||
"Brak"
|
||||
|
||||
#MSG_SORT_TIME
|
||||
"Time"
|
||||
"Czas"
|
||||
|
||||
#
|
||||
"Severe skew"
|
||||
"ZnacznySkos"
|
||||
"Severe skew:"
|
||||
"Znaczny skos:"
|
||||
|
||||
#MSG_SORT_ALPHA c=17 r=1
|
||||
"Sort [alphabet]"
|
||||
"Sortowan[alfabet]"
|
||||
#MSG_SORT_ALPHA
|
||||
"Alphabet"
|
||||
"Alfab"
|
||||
|
||||
#MSG_SORTING c=20 r=1
|
||||
"Sorting files"
|
||||
"Sortowanie plikow"
|
||||
|
||||
#MSG_SOUND_LOUD c=17 r=1
|
||||
"Sound [loud]"
|
||||
"Dzwiek [Glosny]"
|
||||
#MSG_SOUND_LOUD
|
||||
"Loud"
|
||||
"Glosny"
|
||||
|
||||
#
|
||||
"Slight skew"
|
||||
"Lekki skos"
|
||||
"Slight skew:"
|
||||
"Lekki skos:"
|
||||
|
||||
#MSG_SOUND_MUTE c=17 r=1
|
||||
"Sound [mute]"
|
||||
"Dzwiek[Wylaczony]"
|
||||
#MSG_SOUND
|
||||
"Sound"
|
||||
"Dzwiek"
|
||||
|
||||
#
|
||||
"Some problem encountered, Z-leveling enforced ..."
|
||||
"Wykryto problem, wymuszono poziomowanie osi Z ..."
|
||||
|
||||
#MSG_SOUND_ONCE c=17 r=1
|
||||
"Sound [once]"
|
||||
"Dzwiek [1-raz]"
|
||||
|
||||
#MSG_SOUND_SILENT c=17 r=1
|
||||
"Sound [silent]"
|
||||
"Dzwiek [Cichy]"
|
||||
"Wykryto problem, wymuszono poziomowanie osi Z."
|
||||
|
||||
#MSG_SOUND_ONCE
|
||||
"Once"
|
||||
"1-raz"
|
||||
#MSG_SPEED
|
||||
"Speed"
|
||||
"Predkosc"
|
||||
|
|
@ -1046,17 +997,17 @@
|
|||
"Swapped"
|
||||
"Zamieniono"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
#
|
||||
"Select filament:"
|
||||
"Wybierz filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=12 r=1
|
||||
"Temp. cal."
|
||||
"Kalibracja temp."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
"Kalibr.temp. [wl]"
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Kalibr.temp.[wyl]"
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Wybierz temperature, ktora odpowiada Twojemu filamentowi."
|
||||
|
||||
#MSG_CALIBRATION_PINDA_MENU c=17 r=1
|
||||
"Temp. calibration"
|
||||
|
|
@ -1084,11 +1035,11 @@
|
|||
|
||||
#
|
||||
"Total filament"
|
||||
"Calkowita dlugosc filamentu"
|
||||
"Zuzycie filamentu"
|
||||
|
||||
#
|
||||
"Total print time"
|
||||
"Calkowity czas druku"
|
||||
"Laczny czas druku"
|
||||
|
||||
#MSG_TUNE
|
||||
"Tune"
|
||||
|
|
@ -1234,13 +1185,21 @@
|
|||
"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:"
|
||||
|
||||
#MSG_OFF
|
||||
" [off]"
|
||||
" [wyl]"
|
||||
"Off"
|
||||
"Wyl"
|
||||
|
||||
#MSG_ON
|
||||
"On"
|
||||
"Wl"
|
||||
|
||||
#
|
||||
"Back"
|
||||
|
|
@ -1258,17 +1217,17 @@
|
|||
"FINDA:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [none]"
|
||||
"Firmware [brak]"
|
||||
#MSG_FIRMWARE
|
||||
"Firmware"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Firmware [strict]"
|
||||
"Firmware [restr.]"
|
||||
#MSG_STRICT
|
||||
"Strict"
|
||||
"Restr."
|
||||
|
||||
#
|
||||
"Firmware [warn]"
|
||||
"Firmware[ostrzez]"
|
||||
#MSG_WARN
|
||||
"Warn"
|
||||
"Ostrzez"
|
||||
|
||||
#
|
||||
"HW Setup"
|
||||
|
|
@ -1278,81 +1237,37 @@
|
|||
"IR:"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Magnets comp.[N/A]"
|
||||
"Kor. magnesow [nd]"
|
||||
#MSG_MAGNETS_COMP
|
||||
"Magnets comp."
|
||||
"Kor. magnesow"
|
||||
|
||||
#
|
||||
"Magnets comp.[Off]"
|
||||
"Kor. magnesow[wyl]"
|
||||
|
||||
#
|
||||
"Magnets comp. [On]"
|
||||
"Kor. magnesow [wl]"
|
||||
|
||||
#
|
||||
"Mesh [3x3]"
|
||||
"Siatka [3x3]"
|
||||
|
||||
#
|
||||
"Mesh [7x7]"
|
||||
"Siatka [7x7]"
|
||||
#MSG_MESH
|
||||
"Mesh"
|
||||
"Siatka"
|
||||
|
||||
#
|
||||
"Mesh bed leveling"
|
||||
"Poziomowanie wg siatki"
|
||||
"Poziomowanie stolu"
|
||||
|
||||
#
|
||||
"MK3S firmware detected on MK3 printer"
|
||||
"Wykryto firmware MK3S w drukarce MK3"
|
||||
|
||||
#
|
||||
"MMU Mode [Normal]"
|
||||
"Tryb MMU[Normaln]"
|
||||
|
||||
#
|
||||
"MMU Mode[Stealth]"
|
||||
"Tryb MMU[Stealth]"
|
||||
#MSG_MMU_MODE
|
||||
"MMU Mode"
|
||||
"Tryb MMU"
|
||||
|
||||
#
|
||||
"Mode change in progress ..."
|
||||
"Trwa zmiana trybu..."
|
||||
|
||||
#
|
||||
"Model [none]"
|
||||
"Model [brak]"
|
||||
#MSG_MODEL
|
||||
"Model"
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Model [strict]"
|
||||
"Model [restrykc.]"
|
||||
|
||||
#
|
||||
"Model [warn]"
|
||||
"Model [ostrzez.]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.25]"
|
||||
"Sr. dyszy [0,25]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.40]"
|
||||
"Sr. dyszy [0,40]"
|
||||
|
||||
#
|
||||
"Nozzle d. [0.60]"
|
||||
"Sr. dyszy [0,60]"
|
||||
|
||||
#
|
||||
"Nozzle [none]"
|
||||
"Dysza [brak]"
|
||||
|
||||
#
|
||||
"Nozzle [strict]"
|
||||
"Dysza [restrykc.]"
|
||||
|
||||
#
|
||||
"Nozzle [warn]"
|
||||
"Dysza [ostrzez.]"
|
||||
#MSG_NOZZLE_DIAMETER
|
||||
"Nozzle d."
|
||||
"Sr. dyszy"
|
||||
|
||||
#
|
||||
"G-code sliced for a different level. Continue?"
|
||||
|
|
@ -1414,9 +1329,9 @@
|
|||
"Sheet"
|
||||
"Plyta"
|
||||
|
||||
#
|
||||
"Sound [assist]"
|
||||
"Dzwiek [asyst.]"
|
||||
#MSG_SOUND_BLIND
|
||||
"Assist"
|
||||
"Asyst."
|
||||
|
||||
#
|
||||
"Steel sheets"
|
||||
|
|
@ -1426,10 +1341,6 @@
|
|||
"Z-correct:"
|
||||
"Korekcja-Z:"
|
||||
|
||||
#
|
||||
"Z-probe nr. [1]"
|
||||
"Pomiar-Z [1]"
|
||||
|
||||
#
|
||||
"Z-probe nr. [3]"
|
||||
"Pomiar-Z [3]"
|
||||
#MSG_Z_PROBE_NR
|
||||
"Z-probe nr."
|
||||
"Ilosc Pomiarow"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3481
lang/po/new/cs.po
3481
lang/po/new/cs.po
File diff suppressed because it is too large
Load Diff
2325
lang/po/new/de.po
2325
lang/po/new/de.po
File diff suppressed because it is too large
Load Diff
2332
lang/po/new/es.po
2332
lang/po/new/es.po
File diff suppressed because it is too large
Load Diff
2493
lang/po/new/fr.po
2493
lang/po/new/fr.po
File diff suppressed because it is too large
Load Diff
3752
lang/po/new/it.po
3752
lang/po/new/it.po
File diff suppressed because it is too large
Load Diff
3492
lang/po/new/pl.po
3492
lang/po/new/pl.po
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,252 @@
|
|||
# Translations
|
||||
|
||||
## Workflow
|
||||
|
||||
- Build firmware
|
||||
- using `build.sh`
|
||||
- using `PF-build.sh` with a `break` before `# build languages`
|
||||
- change to `lang` folder
|
||||
- check if lang scripts being able to run with `config.sh`
|
||||
- if you get `Arduino main folder: NG` message change in `config.sh` `export ARDUINO=C:/arduino-1.8.5` to `export ARDUINO=<Path to your Arduino IDE folder>`
|
||||
-example: `export ARDUINO=D:/Github/Prusa-Firmware/PF-build-env-1.0.6/windows-64`
|
||||
- run `lang-build.sh en` to create english `lang_en.tmp`, `lang_en.dat` and `lang_en.bin` files
|
||||
- change in `fw-build.sh` `IGNORE_MISSING_TEXT=1` to `IGNORE_MISSING_TEXT=0` so it stops with error and generates `not_used.txt` and `not_tran.txt`
|
||||
- run modified `fw-build.sh`
|
||||
- `not_tran.txt` should be reviewed and added as these are potential missing translations
|
||||
- copy `not_tran.txt` as `lang_add.txt`
|
||||
- check if there are things you don't want to translate or must be modifed
|
||||
- als check that the strings do not start with `spaces` as the scripts doesn't handle these well at this moment.
|
||||
- run `lang-add.sh lang_add.txt` to add the missing translations to `lang_en.txt` and `lang_en_??.txt`
|
||||
- `not_used.txt` should only contain mesages that aren't used in this variant like MK2.5 vs MK3
|
||||
- run `fw-clean.sh` to cleanup firmware related files
|
||||
- delete `not_used.txt` and `not_tran.txt`
|
||||
- run `lang-clean.sh` to cleanup language related files
|
||||
- run `lang-export.sh all` to create PO files for translation these are stored in `/lang/po` folder
|
||||
- Send them to translators and reviewers or
|
||||
- copy these to `/lang/po/new` and
|
||||
- translate these with POEdit the newly added messages
|
||||
- easiest way is to choose `Validate`in POEdit as it shows you `errors` and the `missing transalations` / most likely the newly added at the top.
|
||||
- The new translated files are expected in `/lang/po/new` folder so store the received files these
|
||||
- run `lang-import.sh <language code (iso639-1)>` for each newly translated language
|
||||
- script improvement to import "all" and other things would be great.
|
||||
- Double check if something is missing or faulty
|
||||
- run `lang-build.sh` to to create `lang_en.tmp/.dat/.bin` and `lang_en_??.tmp/.dat/.bin` files
|
||||
- run `fw-build.sh` and check if there are still some messages in `not_tran.txt` that need attention
|
||||
- After approval
|
||||
- run `fw-clean.sh` to cleanup firmware related files
|
||||
- run `lang-clean.sh` to cleanup language related files
|
||||
- change in `fw-build.sh` back to `IGNORE_MISSING_TEXT=1`
|
||||
- remove `break` from `PF-build.sh` script if that has been modified
|
||||
- build your firmware with `build.sh`, `PF-build.sh` or how you normally do it.
|
||||
- Check/Test firmware on printer
|
||||
|
||||
## Code / usage
|
||||
There are 2 modes of operation. If `LANG_MODE==0`, only one language is being used (the default compilation approach from plain Arduino IDE).
|
||||
The reset of this explanation is devoted to `LANG_MODE==1`:
|
||||
|
||||
`language.h`:
|
||||
```C++
|
||||
// section .loc_sec (originaly .progmem0) will be used for localized translated strings
|
||||
#define PROGMEM_I2 __attribute__((section(".loc_sec")))
|
||||
// section .loc_pri (originaly .progmem1) will be used for localized strings in english
|
||||
#define PROGMEM_I1 __attribute__((section(".loc_pri")))
|
||||
// section .noloc (originaly progmem2) will be used for not localized strings in english
|
||||
#define PROGMEM_N1 __attribute__((section(".noloc")))
|
||||
#define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = "\xff\xff" s; &__c[0];}))
|
||||
#define ISTR(s) "\xff\xff" s
|
||||
#define _i(s) lang_get_translation(_I(s))
|
||||
#define _T(s) lang_get_translation(s)
|
||||
```
|
||||
That explains the macros:
|
||||
- `_i` expands into `lang_get_translation((__extension__({static const char __c[] PROGMEM_I1 = "\xff\xff" s; &__c[0];})))` . Note the two 0xff's in the beginning of the string. `_i` allows for declaring a string directly inplace of C++ code, no string table is used. The downside of this approach is obvious - the compiler is not able/willing to merge duplicit strings into one.
|
||||
- `_T` expands into `lang_get_translation(s)` without the two 0xff's at the beginning. Must be used in conjunction with MSG tables in `messages.h`. Allows to declare a string only once and use many times.
|
||||
- `_N` means not-translated. These strings reside in a different segment of memory.
|
||||
|
||||
The two 0xff's are somehow magically replaced by real string ID's where the translations are available (still don't know where).
|
||||
```C++
|
||||
const char* lang_get_translation(const char* s){
|
||||
if (lang_selected == 0) return s + 2; //primary language selected, return orig. str.
|
||||
if (lang_table == 0) return s + 2; //sec. lang table not found, return orig. str.
|
||||
uint16_t ui = pgm_read_word(((uint16_t*)s)); //read string id
|
||||
if (ui == 0xffff) return s + 2; //translation not found, return orig. str.
|
||||
ui = pgm_read_word(((uint16_t*)(((char*)lang_table + 16 + ui*2)))); //read relative offset
|
||||
if (pgm_read_byte(((uint8_t*)((char*)lang_table + ui))) == 0) //read first character
|
||||
return s + 2;//zero length string == not translated, return orig. str.
|
||||
return (const char*)((char*)lang_table + ui); //return calculated pointer
|
||||
}
|
||||
```
|
||||
|
||||
## Files
|
||||
|
||||
### `lang_en.txt`
|
||||
```
|
||||
#MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4
|
||||
"Crash detection can\x0abe turned on only in\x0aNormal mode"
|
||||
```
|
||||
|
||||
### `lang_en_*.txt`
|
||||
```
|
||||
#MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4
|
||||
"Crash detection can\x0abe turned on only in\x0aNormal mode"
|
||||
"Crash detekce muze\x0abyt zapnuta pouze v\x0aNormal modu"
|
||||
```
|
||||
1. a comment - usually a MSG define with number of characters (c) and rows (r)
|
||||
2. English text
|
||||
3. translated text
|
||||
|
||||
### `not_tran.txt`
|
||||
A simple list of strings that are not translated yet.
|
||||
|
||||
### `not_used.txt`
|
||||
A list os strings not currently used in this variant of the firmware or are obsolete.
|
||||
Example: There are MK2.5 specific messages that aren't used when you compile a MK3 variant and vice versa. So be carefull and double check the code if this message is obsolete or just not used due to the chosen variant.
|
||||
|
||||
## Scripts
|
||||
|
||||
### `config.sh`
|
||||
- Checks setup and sets auxiliary env vars used in many other scripts.
|
||||
- Looks for env var `ARDUINO`. If not found/empty, a default `C:/arduino-1.8.5` is used.
|
||||
- Sets env var `CONFIG_OK=1` when all good, otherwise sets `CONFIG_OK=0`
|
||||
|
||||
### `fw-build.sh`
|
||||
Joins firmware HEX and language binaries into one file.
|
||||
|
||||
### `fw-clean.sh`
|
||||
|
||||
### `lang-add.sh`
|
||||
Adds new messages into the dictionary regardless of whether there have been any older versions.
|
||||
|
||||
### `lang-build.sh`
|
||||
Generates lang_xx.bin (language binary files) for the whole firmware build.
|
||||
|
||||
Arguments:
|
||||
- `$1` : language code (`en`, `cz`, `de`, `es`, `fr`, `it`, `pl`) or `all`
|
||||
- empty/no arguments defaults to `all`
|
||||
|
||||
Input: `lang_en.txt` or `lang_en_xx.txt`
|
||||
|
||||
Output: `lang_xx.bin`
|
||||
|
||||
Temporary files: `lang_xx.tmp` and `lang_xx.dat`
|
||||
|
||||
Description of the process:
|
||||
The script first runs `lang-check.py $1` and removes empty lines and comments (and non-translated texts) into `lang_$1.tmp`.
|
||||
The tmp file now contains all translated texts (some of them empty, i.e. "").
|
||||
The tmp file is then transformed into `lang_$1.dat`, which is a simple dump of all texts together, each terminated with a `\x00`.
|
||||
Format of the `bin` file:
|
||||
- 00-01: `A5 5A`
|
||||
- 02-03: `B4 4B`
|
||||
- 04-05: 2B size
|
||||
- 06-07: 2B number of strings
|
||||
- 08-09: 2B checksum
|
||||
- 0A-0B: 2B lang code hex data: basically `en` converted into `ne`, i.e. characters swapped. Only `cz` is changed into `sc` (old `cs` ISO code).
|
||||
- 0C-0D: 2B signature low
|
||||
- 0E-0F: 2B signature high
|
||||
- 10-(10 + 2*number of strings): table of string offsets from the beginning of this file
|
||||
- after the table there are the strings themselves, each terminated with `\x00`
|
||||
|
||||
The signature is composed of 2B number of strings and 2B checksum in lang_en.bin. Signature in lang_en.bin is zero.
|
||||
|
||||
### `lang-check.sh` and `lang-check.py`
|
||||
Both do the same, only lang-check.py is newer, i.e. lang-check.sh is not used anymore.
|
||||
lang-check.py makes a binary comparison between what's in the dictionary and what's in the binary.
|
||||
|
||||
### `lang-clean.sh`
|
||||
Removes all language output files from lang folder. That means deleting:
|
||||
- if [ "$1" = "en" ]; then
|
||||
rm_if_exists lang_$1.tmp
|
||||
else
|
||||
rm_if_exists lang_$1.tmp
|
||||
rm_if_exists lang_en_$1.tmp
|
||||
rm_if_exists lang_en_$1.dif
|
||||
rm_if_exists lang_$1.ofs
|
||||
rm_if_exists lang_$1.txt
|
||||
fi
|
||||
rm_if_exists lang_$1_check.dif
|
||||
rm_if_exists lang_$1.bin
|
||||
rm_if_exists lang_$1.dat
|
||||
rm_if_exists lang_$1_1.tmp
|
||||
rm_if_exists lang_$1_2.tmp
|
||||
|
||||
### `lang-export.sh`
|
||||
Exports PO (gettext) for external translators.
|
||||
|
||||
### `lang-import.sh`
|
||||
Import from PO.
|
||||
|
||||
Arguments:
|
||||
- `$1` : language code (`en`, `cz`, `de`, `es`, `fr`, `it`, `pl`)
|
||||
- empty/no arguments quits the script
|
||||
|
||||
Input files: `<language code>.po` files like `de.po`, `es.po`, etc.
|
||||
|
||||
Input folder: ´/lang/po/new´
|
||||
|
||||
Output files:
|
||||
|
||||
Output foler: ´/lang/po/new´
|
||||
|
||||
Needed improments to scrpit:
|
||||
- add `all` argument
|
||||
- update `replace in <language> translations` to all known special characters the LCD display with Japanese ROM cannot display
|
||||
- move `lang_en_<language code>.txt` to folder `/lang`
|
||||
- cleanup `<language code>_filtered.po`, `<language code>_new.po` and `nonasci.txt`
|
||||
|
||||
### `progmem.sh`
|
||||
|
||||
Examine content of progmem sections (default is progmem1).
|
||||
|
||||
Input:
|
||||
- $OUTDIR/Firmware.ino.elf
|
||||
- $OUTDIR/sketch/*.o (all object files)
|
||||
|
||||
Outputs:
|
||||
- text.sym - formated symbol listing of section '.text'
|
||||
- $PROGMEM.sym - formated symbol listing of section '.progmemX'
|
||||
- $PROGMEM.lss - disassembly listing file
|
||||
- $PROGMEM.hex - variables - hex
|
||||
- $PROGMEM.chr - variables - char escape
|
||||
- $PROGMEM.var - variables - strings
|
||||
- $PROGMEM.txt - text data only (not used)
|
||||
|
||||
Description of process:
|
||||
- check input files
|
||||
- remove output files
|
||||
- list symbol table of section '.text' from output elf file to text.sym (sorted by address)
|
||||
- calculate start and stop address of section '.$PROGMEM'
|
||||
- dump $PROGMEM data in hex format, cut disassembly (keep hex data only) into $PROGMEM.lss
|
||||
- convert $PROGMEM.lss to $PROGMEM.hex:
|
||||
- replace empty lines with '|' (variables separated by empty lines)
|
||||
- remove address from multiline variables (keep address at first variable line only)
|
||||
- remove '<' and '>:', remove whitespace at end of lines
|
||||
- remove line-endings, replace separator with '\n' (join hex data lines - each line will contain single variable)
|
||||
- convert $PROGMEM.hex to $PROGMEM.chr (prepare string data for character check and conversion)
|
||||
- replace first space with tab
|
||||
- replace second and third space with tab and space
|
||||
- replace all remaining spaces with '\x'
|
||||
- replace all tabs with spaces
|
||||
- convert $PROGMEM.chr to $PROGMEM.var (convert data to text) - a set of special characters is escaped here including `\x0a`
|
||||
|
||||
|
||||
### `textaddr.sh`
|
||||
|
||||
Compiles `progmem1.var` and `lang_en.txt` files to `textaddr.txt` file (mapping of progmem addreses to text idenifiers).
|
||||
|
||||
Description of process:
|
||||
- check if input files exists
|
||||
- create sorted list of strings from progmem1.var and lang_en.txt
|
||||
- lines from progmem1.var will contain addres (8 chars) and english text
|
||||
- lines from lang_en.txt will contain linenumber and english text
|
||||
- after sort this will generate pairs of lines (line from progmem1 first)
|
||||
- result of sort is compiled with simple script and stored into file textaddr.txt
|
||||
|
||||
Input:
|
||||
- progmem1.var
|
||||
- lang_en.txt
|
||||
|
||||
Output:
|
||||
- textaddr.txt
|
||||
|
||||
|
||||
|
||||
update_lang.sh
|
||||
Loading…
Reference in New Issue