diff options
author | PavelSindler <pavel@prusa3d.cz> | 2017-02-02 18:09:33 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-02 18:09:33 +0300 |
commit | c63b4ca18ee92091efee2843b60662b15f50d197 (patch) | |
tree | 97e113dd1d44482a9e7f03c7d9ad5ff8b45e2b96 | |
parent | bc3ab0b69aeab9db39fbde2aa1255e59e1dbd246 (diff) | |
parent | ebabaf527a81c8b59b8436176be53b02a12f6c94 (diff) |
Merge pull request #38 from PavelSindler/MK2v3.0.10-RC1
Improved some english messages, added message at the beginning xyz calibration, dont disable steppers during M0/M1, E calibration not used
-rw-r--r-- | Firmware/Configuration.h | 2 | ||||
-rw-r--r-- | Firmware/Marlin_main.cpp | 10 | ||||
-rw-r--r-- | Firmware/language_all.cpp | 21 | ||||
-rw-r--r-- | Firmware/language_all.h | 4 | ||||
-rw-r--r-- | Firmware/language_cz.h | 4 | ||||
-rw-r--r-- | Firmware/language_en.h | 8 | ||||
-rw-r--r-- | Firmware/mesh_bed_calibration.cpp | 1 | ||||
-rw-r--r-- | Firmware/ultralcd.cpp | 24 | ||||
-rw-r--r-- | Firmware/ultralcd.h | 3 |
9 files changed, 58 insertions, 19 deletions
diff --git a/Firmware/Configuration.h b/Firmware/Configuration.h index 55382db47..edd713972 100644 --- a/Firmware/Configuration.h +++ b/Firmware/Configuration.h @@ -5,7 +5,7 @@ #include "Configuration_prusa.h" // Firmware version -#define FW_version "3.0.10-alpha-2" +#define FW_version "3.0.10-RC1" #define FW_PRUSA3D_MAGIC "PRUSA3DFW" #define FW_PRUSA3D_MAGIC_LEN 10 diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index fde5e6392..61d5caa96 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -2756,6 +2756,8 @@ void process_commands() * v Y-axis * */ + + case 80: case_G80: { @@ -3113,14 +3115,14 @@ void process_commands() LCD_MESSAGERPGM(MSG_USERWAIT); } - lcd_ignore_click(); + lcd_ignore_click(); //call lcd_ignore_click aslo for else ??? st_synchronize(); previous_millis_cmd = millis(); if (codenum > 0){ codenum += millis(); // keep track of when we started waiting while(millis() < codenum && !lcd_clicked()){ manage_heater(); - manage_inactivity(); + manage_inactivity(true); lcd_update(); } lcd_ignore_click(false); @@ -3129,7 +3131,7 @@ void process_commands() break; while(!lcd_clicked()){ manage_heater(); - manage_inactivity(); + manage_inactivity(true); lcd_update(); } } @@ -3174,7 +3176,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 e94a3dd31..2647ace9a 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!"; @@ -1505,6 +1505,16 @@ const char * const MSG_ON_LANG_TABLE[1] PROGMEM = { MSG_ON_EN }; +const char MSG_PAPER_EN[] PROGMEM = "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."; +const char MSG_PAPER_CZ[] PROGMEM = "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu."; +const char * const MSG_PAPER_LANG_TABLE[LANG_NUM] PROGMEM = { + MSG_PAPER_EN, + MSG_PAPER_CZ, + MSG_PAPER_EN, + MSG_PAPER_EN, + MSG_PAPER_EN +}; + const char MSG_PAUSE_PRINT_EN[] PROGMEM = "Pause print"; const char MSG_PAUSE_PRINT_CZ[] PROGMEM = "Pozastavit tisk"; const char MSG_PAUSE_PRINT_IT[] PROGMEM = "Metti in pausa"; @@ -1670,6 +1680,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 +2490,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 cae53a987..d08d8a49b 100644 --- a/Firmware/language_all.h +++ b/Firmware/language_all.h @@ -336,6 +336,8 @@ extern const char* const MSG_OK_LANG_TABLE[1]; #define MSG_OK LANG_TABLE_SELECT_EXPLICIT(MSG_OK_LANG_TABLE, 0) extern const char* const MSG_ON_LANG_TABLE[1]; #define MSG_ON LANG_TABLE_SELECT_EXPLICIT(MSG_ON_LANG_TABLE, 0) +extern const char* const MSG_PAPER_LANG_TABLE[LANG_NUM]; +#define MSG_PAPER LANG_TABLE_SELECT(MSG_PAPER_LANG_TABLE) extern const char* const MSG_PAUSE_PRINT_LANG_TABLE[LANG_NUM]; #define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE) extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM]; @@ -370,6 +372,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_cz.h b/Firmware/language_cz.h index 4759b1725..9dda46c22 100644 --- a/Firmware/language_cz.h +++ b/Firmware/language_cz.h @@ -262,4 +262,6 @@ #define MSG_CLEAN_NOZZLE_E "E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem." #define MSG_WAITING_TEMP "Cekani na zchladnuti trysky a podlozky." #define MSG_FILAMENT_CLEAN "Je barva cista?" -#define MSG_UNLOADING_FILAMENT "Vysouvam filament"
\ No newline at end of file +#define MSG_UNLOADING_FILAMENT "Vysouvam filament" + +#define MSG_PAPER "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu."
\ No newline at end of file diff --git a/Firmware/language_en.h b/Firmware/language_en.h index 3d1649fa2..895a5c94a 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,14 +243,16 @@ #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" +#define(length=20, lines=8) MSG_PAPER "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately." #define MSG_BED_CORRECTION_MENU "Bed level correct" #define MSG_BED_CORRECTION_LEFT "Left side um" diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 43071ae20..cdcb78cb4 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -512,6 +512,7 @@ void reset_bed_offset_and_skew() }
bool is_bed_z_jitter_data_valid()
+// offsets of the Z heiths of the calibration points from the first point are saved as 16bit signed int, scaled to tenths of microns
{
for (int8_t i = 0; i < 8; ++ i)
if (eeprom_read_word((uint16_t*)(EEPROM_BED_CALIBRATION_Z_JITTER+i*2)) == 0x0FFFF)
diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 9f0458123..388b0bc5c 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1570,6 +1570,7 @@ bool lcd_calibrate_z_end_stop_manual(bool only_z) lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN); clean_nozzle_asked = true; } + // Let the user confirm, that the Z carriage is at the top end stoppers. int8_t result = lcd_show_fullscreen_message_yes_no_and_wait_P(MSG_CONFIRM_CARRIAGE_AT_THE_TOP, false); @@ -1592,6 +1593,7 @@ calibrated: lcd_implementation_print_at(0, 3, 1); lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2);*/ }else{ + lcd_show_fullscreen_message_and_wait_P(MSG_PAPER); lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1); lcd_implementation_print_at(0, 2, 1); lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2); @@ -2215,7 +2217,8 @@ void lcd_mesh_calibration_z() #ifndef SNMM -void lcd_calibrate_extruder() { +/*void lcd_calibrate_extruder() { + if (degHotend0() > EXTRUDE_MINTEMP) { current_position[E_AXIS] = 0; //set initial position to zero @@ -2225,7 +2228,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 +2262,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 +2303,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() @@ -2368,7 +2378,7 @@ MENU_ITEM(function, MSG_CALIBRATE_BED, lcd_mesh_calibration); // "Calibrate Z" with storing the reference values to EEPROM. MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z); #ifndef SNMM - MENU_ITEM(function, MSG_CALIBRATE_E, lcd_calibrate_extruder); + //MENU_ITEM(function, MSG_CALIBRATE_E, lcd_calibrate_extruder); #endif // "Mesh Bed Leveling" MENU_ITEM(submenu, MSG_MESH_BED_LEVELING, lcd_mesh_bedleveling); @@ -2377,6 +2387,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 +4172,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 e2396a353..a5efbc2b5 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -215,7 +215,7 @@ static void stack_test(); static int test(); void stack_error(); -//void lcd_calibrate_extruder(); + void lcd_calibrate_extruder(); void lcd_farm_sdcard_menu(); @@ -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; |