Merge pull request #38 from PavelSindler/MK2

Improved some english messages, added message at the beginning xyz calibration, dont disable steppers during M0/M1, E calibration not used
This commit is contained in:
PavelSindler 2017-02-02 16:09:33 +01:00 committed by GitHub
commit c63b4ca18e
9 changed files with 58 additions and 19 deletions

View File

@ -5,7 +5,7 @@
#include "Configuration_prusa.h" #include "Configuration_prusa.h"
// Firmware version // 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 "PRUSA3DFW"
#define FW_PRUSA3D_MAGIC_LEN 10 #define FW_PRUSA3D_MAGIC_LEN 10

View File

@ -2756,6 +2756,8 @@ void process_commands()
* v Y-axis * v Y-axis
* *
*/ */
case 80: case 80:
case_G80: case_G80:
{ {
@ -3113,14 +3115,14 @@ void process_commands()
LCD_MESSAGERPGM(MSG_USERWAIT); LCD_MESSAGERPGM(MSG_USERWAIT);
} }
lcd_ignore_click(); lcd_ignore_click(); //call lcd_ignore_click aslo for else ???
st_synchronize(); st_synchronize();
previous_millis_cmd = millis(); previous_millis_cmd = millis();
if (codenum > 0){ if (codenum > 0){
codenum += millis(); // keep track of when we started waiting codenum += millis(); // keep track of when we started waiting
while(millis() < codenum && !lcd_clicked()){ while(millis() < codenum && !lcd_clicked()){
manage_heater(); manage_heater();
manage_inactivity(); manage_inactivity(true);
lcd_update(); lcd_update();
} }
lcd_ignore_click(false); lcd_ignore_click(false);
@ -3129,7 +3131,7 @@ void process_commands()
break; break;
while(!lcd_clicked()){ while(!lcd_clicked()){
manage_heater(); manage_heater();
manage_inactivity(); manage_inactivity(true);
lcd_update(); lcd_update();
} }
} }
@ -3174,7 +3176,7 @@ void process_commands()
case 24: //M24 - Start SD print case 24: //M24 - Start SD print
card.startFileprint(); card.startFileprint();
starttime=millis(); starttime=millis();
break; break;
case 25: //M25 - Pause SD print case 25: //M25 - Pause SD print
card.pauseSDPrint(); card.pauseSDPrint();
break; break;

View File

@ -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 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_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_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."; 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 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_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_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!"; 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 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_EN[] PROGMEM = "Pause print";
const char MSG_PAUSE_PRINT_CZ[] PROGMEM = "Pozastavit tisk"; const char MSG_PAUSE_PRINT_CZ[] PROGMEM = "Pozastavit tisk";
const char MSG_PAUSE_PRINT_IT[] PROGMEM = "Metti in pausa"; 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 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 MSG_RESTORE_FAILSAFE_EN[] PROGMEM = "Restore failsafe";
const char * const MSG_RESTORE_FAILSAFE_LANG_TABLE[1] PROGMEM = { const char * const MSG_RESTORE_FAILSAFE_LANG_TABLE[1] PROGMEM = {
MSG_RESTORE_FAILSAFE_EN MSG_RESTORE_FAILSAFE_EN
@ -2475,7 +2490,7 @@ const char * const MSG_VTRAV_MIN_LANG_TABLE[1] PROGMEM = {
MSG_VTRAV_MIN_EN 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_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_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."; const char MSG_WAITING_TEMP_ES[] PROGMEM = "Esperando enfriamiento de la cama y del extrusor.";

View File

@ -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) #define MSG_OK LANG_TABLE_SELECT_EXPLICIT(MSG_OK_LANG_TABLE, 0)
extern const char* const MSG_ON_LANG_TABLE[1]; extern const char* const MSG_ON_LANG_TABLE[1];
#define MSG_ON LANG_TABLE_SELECT_EXPLICIT(MSG_ON_LANG_TABLE, 0) #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]; extern const char* const MSG_PAUSE_PRINT_LANG_TABLE[LANG_NUM];
#define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE) #define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE)
extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM]; 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) #define MSG_REFRESH LANG_TABLE_SELECT_EXPLICIT(MSG_REFRESH_LANG_TABLE, 0)
extern const char* const MSG_RESEND_LANG_TABLE[1]; extern const char* const MSG_RESEND_LANG_TABLE[1];
#define MSG_RESEND LANG_TABLE_SELECT_EXPLICIT(MSG_RESEND_LANG_TABLE, 0) #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]; extern const char* const MSG_RESTORE_FAILSAFE_LANG_TABLE[1];
#define MSG_RESTORE_FAILSAFE LANG_TABLE_SELECT_EXPLICIT(MSG_RESTORE_FAILSAFE_LANG_TABLE, 0) #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]; extern const char* const MSG_RESUME_PRINT_LANG_TABLE[LANG_NUM];

View File

@ -262,4 +262,6 @@
#define MSG_CLEAN_NOZZLE_E "E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem." #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_WAITING_TEMP "Cekani na zchladnuti trysky a podlozky."
#define MSG_FILAMENT_CLEAN "Je barva cista?" #define MSG_FILAMENT_CLEAN "Je barva cista?"
#define MSG_UNLOADING_FILAMENT "Vysouvam filament" #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."

View File

@ -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_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_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_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_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 "X/Y skewed severly. Skew will be corrected automatically." #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_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_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." #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=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=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_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=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=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_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=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(length=20, lines=2) MSG_FILAMENT_CLEAN "Is color clear?"
#define(lenght=20, lines=1) MSG_UNLOADING_FILAMENT "Unloading filament" #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_MENU "Bed level correct"
#define MSG_BED_CORRECTION_LEFT "Left side um" #define MSG_BED_CORRECTION_LEFT "Left side um"

View File

@ -512,6 +512,7 @@ void reset_bed_offset_and_skew()
} }
bool is_bed_z_jitter_data_valid() 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) for (int8_t i = 0; i < 8; ++ i)
if (eeprom_read_word((uint16_t*)(EEPROM_BED_CALIBRATION_Z_JITTER+i*2)) == 0x0FFFF) if (eeprom_read_word((uint16_t*)(EEPROM_BED_CALIBRATION_Z_JITTER+i*2)) == 0x0FFFF)

View File

@ -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); lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN);
clean_nozzle_asked = true; clean_nozzle_asked = true;
} }
// Let the user confirm, that the Z carriage is at the top end stoppers. // 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); 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_implementation_print_at(0, 3, 1);
lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2);*/ lcd_printPGM(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2);*/
}else{ }else{
lcd_show_fullscreen_message_and_wait_P(MSG_PAPER);
lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1); lcd_display_message_fullscreen_P(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1);
lcd_implementation_print_at(0, 2, 1); lcd_implementation_print_at(0, 2, 1);
lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2); lcd_printPGM(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2);
@ -2215,7 +2217,8 @@ void lcd_mesh_calibration_z()
#ifndef SNMM #ifndef SNMM
void lcd_calibrate_extruder() { /*void lcd_calibrate_extruder() {
if (degHotend0() > EXTRUDE_MINTEMP) if (degHotend0() > EXTRUDE_MINTEMP)
{ {
current_position[E_AXIS] = 0; //set initial position to zero current_position[E_AXIS] = 0; //set initial position to zero
@ -2225,7 +2228,7 @@ void lcd_calibrate_extruder() {
long steps_final; long steps_final;
float e_steps_per_unit; 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 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_e_cal_knob = MSG_E_CAL_KNOB;
const char *msg_next_e_cal_knob = lcd_display_message_fullscreen_P(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); encoderPosition += (encoderDiff / ENCODER_PULSES_PER_STEP);
encoderDiff = 0; encoderDiff = 0;
if (!planner_queue_full()) { 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; encoderPosition = 0;
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); 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(); 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 #endif
void lcd_toshiba_flash_air_compatibility_toggle() 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. // "Calibrate Z" with storing the reference values to EEPROM.
MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z); MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z);
#ifndef SNMM #ifndef SNMM
MENU_ITEM(function, MSG_CALIBRATE_E, lcd_calibrate_extruder); //MENU_ITEM(function, MSG_CALIBRATE_E, lcd_calibrate_extruder);
#endif #endif
// "Mesh Bed Leveling" // "Mesh Bed Leveling"
MENU_ITEM(submenu, MSG_MESH_BED_LEVELING, lcd_mesh_bedleveling); 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_BED_CORRECTION_MENU, lcd_adjust_bed);
MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops); MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops);
MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44")); 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(); END_MENU();
@ -4159,8 +4172,7 @@ static void menu_action_function(menuFunc_t data) {
} }
static void menu_action_sdfile(const char* filename, char* longFilename) static void menu_action_sdfile(const char* filename, char* longFilename)
{ {
loading_flag = false; loading_flag = false;
char cmd[30]; char cmd[30];
char* c; char* c;
sprintf_P(cmd, PSTR("M23 %s"), filename); sprintf_P(cmd, PSTR("M23 %s"), filename);

View File

@ -215,7 +215,7 @@ static void stack_test();
static int test(); static int test();
void stack_error(); void stack_error();
//void lcd_calibrate_extruder();
void lcd_calibrate_extruder(); void lcd_calibrate_extruder();
void lcd_farm_sdcard_menu(); void lcd_farm_sdcard_menu();
@ -226,6 +226,7 @@ void lcd_farm_sdcard_menu_w();
void lcd_wait_for_cool_down(); void lcd_wait_for_cool_down();
void adjust_bed_reset(); void adjust_bed_reset();
void lcd_extr_cal_reset();
union MenuData; union MenuData;