From bb463c8fdcd6156da2e16abae76f5edf862332f3 Mon Sep 17 00:00:00 2001 From: PavelSindler <sindlerpa@gmail.com> Date: Tue, 31 Jan 2017 10:26:36 +0100 Subject: [PATCH] Improved some english messages, added E calibration reset, E calibration feedrate decreased --- Firmware/Marlin_main.cpp | 2 +- Firmware/language_all.cpp | 11 ++++++++--- Firmware/language_all.h | 2 ++ Firmware/language_en.h | 7 ++++--- Firmware/ultralcd.cpp | 18 ++++++++++++++---- Firmware/ultralcd.h | 1 + 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index fde5e639..3359d7c5 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3174,7 +3174,7 @@ void process_commands() case 24: //M24 - Start SD print card.startFileprint(); starttime=millis(); - break; + break; case 25: //M25 - Pause SD print card.pauseSDPrint(); break; diff --git a/Firmware/language_all.cpp b/Firmware/language_all.cpp index e94a3dd3..80581caa 100644 --- a/Firmware/language_all.cpp +++ b/Firmware/language_all.cpp @@ -325,7 +325,7 @@ const char * const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_PL }; -const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN[] PROGMEM = "X/Y skewed severly. Skew will be corrected automatically."; +const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN[] PROGMEM = "XYZ callibration all right. Skew will be corrected automatically."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ[] PROGMEM = "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_IT[] PROGMEM = "Calibrazion XYZ corretta. La distorsione verra' automaticamente compensata."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_ES[] PROGMEM = "Calibracion XYZ correcta. La inclinacion se corregira automaticamente."; @@ -338,7 +338,7 @@ const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NU MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_PL }; -const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN[] PROGMEM = "XYZ calibration all right. X/Y axes are slightly skewed."; +const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN[] PROGMEM = "XYZ calibration all right. X/Y axes are slightly skewed. Good job!"; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ[] PROGMEM = "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!"; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_IT[] PROGMEM = "Calibrazion XYZ corretta. Assi X/Y leggermente storti. Ben fatto!"; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_ES[] PROGMEM = "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!"; @@ -1670,6 +1670,11 @@ const char * const MSG_RESEND_LANG_TABLE[1] PROGMEM = { MSG_RESEND_EN }; +const char MSG_RESET_CALIBRATE_E_EN[] PROGMEM = "Reset E Cal."; +const char * const MSG_RESET_CALIBRATE_E_LANG_TABLE[1] PROGMEM = { + MSG_RESET_CALIBRATE_E_EN +}; + const char MSG_RESTORE_FAILSAFE_EN[] PROGMEM = "Restore failsafe"; const char * const MSG_RESTORE_FAILSAFE_LANG_TABLE[1] PROGMEM = { MSG_RESTORE_FAILSAFE_EN @@ -2475,7 +2480,7 @@ const char * const MSG_VTRAV_MIN_LANG_TABLE[1] PROGMEM = { MSG_VTRAV_MIN_EN }; -const char MSG_WAITING_TEMP_EN[] PROGMEM = "Waiting for heater and bed cooling"; +const char MSG_WAITING_TEMP_EN[] PROGMEM = "Waiting for nozzle and bed cooling"; const char MSG_WAITING_TEMP_CZ[] PROGMEM = "Cekani na zchladnuti trysky a podlozky."; const char MSG_WAITING_TEMP_IT[] PROGMEM = "In attesa del raffreddamento della testina e del piatto."; const char MSG_WAITING_TEMP_ES[] PROGMEM = "Esperando enfriamiento de la cama y del extrusor."; diff --git a/Firmware/language_all.h b/Firmware/language_all.h index cae53a98..826f1ec6 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -370,6 +370,8 @@ extern const char* const MSG_REFRESH_LANG_TABLE[1]; #define MSG_REFRESH LANG_TABLE_SELECT_EXPLICIT(MSG_REFRESH_LANG_TABLE, 0) extern const char* const MSG_RESEND_LANG_TABLE[1]; #define MSG_RESEND LANG_TABLE_SELECT_EXPLICIT(MSG_RESEND_LANG_TABLE, 0) +extern const char* const MSG_RESET_CALIBRATE_E_LANG_TABLE[1]; +#define MSG_RESET_CALIBRATE_E LANG_TABLE_SELECT_EXPLICIT(MSG_RESET_CALIBRATE_E_LANG_TABLE, 0) extern const char* const MSG_RESTORE_FAILSAFE_LANG_TABLE[1]; #define MSG_RESTORE_FAILSAFE LANG_TABLE_SELECT_EXPLICIT(MSG_RESTORE_FAILSAFE_LANG_TABLE, 0) extern const char* const MSG_RESUME_PRINT_LANG_TABLE[LANG_NUM]; diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 3d1649fa..82e39455 100644 --- a/Firmware/language_en.h +++ b/Firmware/language_en.h @@ -212,8 +212,8 @@ #define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ calibration failed. Bed calibration point was not found." #define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ calibration failed. Please consult the manual." #define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!" -#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ calibration all right. X/Y axes are slightly skewed." -#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y skewed severly. Skew will be corrected automatically." +#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ calibration all right. X/Y axes are slightly skewed. Good job!" +#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ callibration all right. Skew will be corrected automatically." #define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ calibration failed. Left front calibration point not reachable." #define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ calibration failed. Right front calibration point not reachable." #define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ calibration failed. Front calibration points not reachable." @@ -243,12 +243,13 @@ #define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done." #define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten" #define(length=20, lines=1) MSG_CALIBRATE_E "Calibrate E" +//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal." #define(length=20, lines=8) MSG_E_CAL_KNOB "Rotate knob until mark reaches extruder body. Click when done." //#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print" #define(length=20, lines=8) MSG_MARK_FIL "Mark filament 100mm from extruder body. Click when done." #define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E calibration finished. Please clean the nozzle. Click when done." -#define(length=20, lines=3) MSG_WAITING_TEMP "Waiting for heater and bed cooling" +#define(length=20, lines=3) MSG_WAITING_TEMP "Waiting for nozzle and bed cooling" #define(length=20, lines=2) MSG_FILAMENT_CLEAN "Is color clear?" #define(lenght=20, lines=1) MSG_UNLOADING_FILAMENT "Unloading filament" diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 9f045812..a0b1e861 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -2216,6 +2216,7 @@ void lcd_mesh_calibration_z() #ifndef SNMM void lcd_calibrate_extruder() { + if (degHotend0() > EXTRUDE_MINTEMP) { current_position[E_AXIS] = 0; //set initial position to zero @@ -2225,7 +2226,7 @@ void lcd_calibrate_extruder() { long steps_final; float e_steps_per_unit; - float feedrate = (180 / axis_steps_per_unit[E_AXIS]) * 3; //initial automatic extrusion feedrate (depends on current value of axis_steps_per_unit to avoid too fast extrusion) + float feedrate = (180 / axis_steps_per_unit[E_AXIS]) * 1; //3 //initial automatic extrusion feedrate (depends on current value of axis_steps_per_unit to avoid too fast extrusion) float e_shift_calibration = (axis_steps_per_unit[E_AXIS] > 180 ) ? ((180 / axis_steps_per_unit[E_AXIS]) * 70): 70; //length of initial automatic extrusion sequence const char *msg_e_cal_knob = MSG_E_CAL_KNOB; const char *msg_next_e_cal_knob = lcd_display_message_fullscreen_P(msg_e_cal_knob); @@ -2259,7 +2260,7 @@ void lcd_calibrate_extruder() { encoderPosition += (encoderDiff / ENCODER_PULSES_PER_STEP); encoderDiff = 0; if (!planner_queue_full()) { - current_position[E_AXIS] += float(abs((int)encoderPosition)) * 0.05; + current_position[E_AXIS] += float(abs((int)encoderPosition)) * 0.01; //0.05 encoderPosition = 0; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); @@ -2300,6 +2301,13 @@ void lcd_calibrate_extruder() { lcd_return_to_status(); } +void lcd_extr_cal_reset() { + float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT; + axis_steps_per_unit[E_AXIS] = tmp1[3]; + //extrudemultiply = 100; + enquecommand_P(PSTR("M500")); +} + #endif void lcd_toshiba_flash_air_compatibility_toggle() @@ -2377,6 +2385,9 @@ MENU_ITEM(function, MSG_CALIBRATE_BED, lcd_mesh_calibration); MENU_ITEM(submenu, MSG_BED_CORRECTION_MENU, lcd_adjust_bed); MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops); MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44")); +#ifndef SNMM + MENU_ITEM(function, MSG_RESET_CALIBRATE_E, lcd_extr_cal_reset); +#endif } END_MENU(); @@ -4159,8 +4170,7 @@ static void menu_action_function(menuFunc_t data) { } static void menu_action_sdfile(const char* filename, char* longFilename) { - loading_flag = false; - + loading_flag = false; char cmd[30]; char* c; sprintf_P(cmd, PSTR("M23 %s"), filename); diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index e2396a35..2dbeea3e 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -226,6 +226,7 @@ void lcd_farm_sdcard_menu_w(); void lcd_wait_for_cool_down(); void adjust_bed_reset(); +void lcd_extr_cal_reset(); union MenuData;