From d02333918fbdf344c2a0b2db0578df4754716585 Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Wed, 2 May 2018 22:13:47 +0200 Subject: [PATCH 1/2] MaR::180501 --- Firmware/Marlin_main.cpp | 25 +++++++++++++------------ Firmware/ultralcd.cpp | 38 ++++++++++++++++++++++---------------- 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 136debf18..b4e281ff8 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -764,7 +764,8 @@ void factory_reset(char level, bool quiet) calibration_status_store(CALIBRATION_STATUS_Z_CALIBRATION); eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); //run wizard farm_no = 0; - farm_mode == false; +//*** MaR::180501_01 + farm_mode = false; eeprom_update_byte((uint8_t*)EEPROM_FARM_MODE, farm_mode); EEPROM_save_B(EEPROM_FARM_NUMBER, &farm_no); @@ -970,6 +971,7 @@ void setup() setup_killpin(); setup_powerhold(); +//*** MaR::180501_02b farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no); if ((farm_mode == 0xFF && farm_no == 0) || ((uint16_t)farm_no == 0xFFFF)) @@ -1067,7 +1069,7 @@ void setup() // tmc2130_mode = silentMode?TMC2130_MODE_SILENT:TMC2130_MODE_NORMAL; tmc2130_mode = TMC2130_MODE_NORMAL; uint8_t crashdet = eeprom_read_byte((uint8_t*)EEPROM_CRASH_DET); - if (crashdet) + if (crashdet && !farm_mode) { crashdet_enable(); MYSERIAL.println("CrashDetect ENABLED!"); @@ -1165,6 +1167,7 @@ void setup() #if defined(Z_AXIS_ALWAYS_ON) enable_z(); #endif +//*** MaR::180501_02 farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE); EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no); if ((farm_mode == 0xFF && farm_no == 0) || (farm_no == 0xFFFF)) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode @@ -3534,10 +3537,8 @@ void process_commands() st_synchronize(); bool find_z_result = find_bed_induction_sensor_point_z(-1.f); - if (find_z_result == false) { - lcd_temp_cal_show_result(find_z_result); - break; - } + if(find_z_result == false) lcd_temp_cal_show_result(find_z_result); + zero_z = current_position[Z_AXIS]; //current_position[Z_AXIS] @@ -3587,10 +3588,8 @@ void process_commands() plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); find_z_result = find_bed_induction_sensor_point_z(-1.f); - if (find_z_result == false) { - lcd_temp_cal_show_result(find_z_result); - break; - } + if (find_z_result == false) lcd_temp_cal_show_result(find_z_result); + z_shift = (int)((current_position[Z_AXIS] - zero_z)*axis_steps_per_unit[Z_AXIS]); SERIAL_ECHOLNPGM(""); @@ -4221,13 +4220,15 @@ void process_commands() } break; - case 98: //activate farm mode + case 98: // G98 (activate farm mode) farm_mode = 1; PingTime = millis(); eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode); + SilentModeMenu = SILENT_MODE_OFF; + eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); break; - case 99: //deactivate farm mode + case 99: // G99 (deactivate farm mode) farm_mode = 0; lcd_printer_connected(); eeprom_update_byte((unsigned char *)EEPROM_FARM_MODE, farm_mode); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 88a55930f..f7337cdee 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -3644,7 +3644,7 @@ static void lcd_crash_mode_set() } #endif //TMC2130 - + static void lcd_set_lang(unsigned char lang) { lang_selected = lang; @@ -4133,15 +4133,18 @@ static void lcd_settings_menu() } #ifdef TMC2130 -//*** MaR::180416_01a - if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); - if (SilentModeMenu == SILENT_MODE_NORMAL) + if(!farm_mode) { - if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); - else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); +//*** MaR::180416_01a + if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); + if (SilentModeMenu == SILENT_MODE_NORMAL) + { + if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); + else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + } + else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); } - else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); MENU_ITEM_EDIT(wfac, MSG_EXTRUDER_CORRECTION, &tmc2130_wave_fac[E_AXIS], TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX); #endif //TMC2130 @@ -5859,16 +5862,19 @@ static void lcd_tune_menu() #endif //DEBUG_DISABLE_FSENSORCHECK #ifdef TMC2130 + if(!farm_mode) + { //*** MaR::180416_01b - if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); - else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); + if (SilentModeMenu == SILENT_MODE_NORMAL) MENU_ITEM(function, MSG_STEALTH_MODE_OFF, lcd_silent_mode_set); + else MENU_ITEM(function, MSG_STEALTH_MODE_ON, lcd_silent_mode_set); - if (SilentModeMenu == SILENT_MODE_NORMAL) - { - if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); - else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); - } - else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + if (SilentModeMenu == SILENT_MODE_NORMAL) + { + if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); + else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); + } + else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); + } #else //TMC2130 if (!farm_mode) { //dont show in menu if we are in farm mode switch (SilentModeMenu) { From 8a92d9b6a3089bc6c80d73206fdf9f038b348054 Mon Sep 17 00:00:00 2001 From: MRprusa3d Date: Wed, 2 May 2018 23:49:21 +0200 Subject: [PATCH 2/2] MaR::180501b --- Firmware/Marlin_main.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index b4e281ff8..c081088ea 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3537,8 +3537,10 @@ void process_commands() st_synchronize(); bool find_z_result = find_bed_induction_sensor_point_z(-1.f); - if(find_z_result == false) lcd_temp_cal_show_result(find_z_result); - + if (find_z_result == false) { + lcd_temp_cal_show_result(find_z_result); + break; + } zero_z = current_position[Z_AXIS]; //current_position[Z_AXIS] @@ -3588,8 +3590,10 @@ void process_commands() plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder); st_synchronize(); find_z_result = find_bed_induction_sensor_point_z(-1.f); - if (find_z_result == false) lcd_temp_cal_show_result(find_z_result); - + if (find_z_result == false) { + lcd_temp_cal_show_result(find_z_result); + break; + } z_shift = (int)((current_position[Z_AXIS] - zero_z)*axis_steps_per_unit[Z_AXIS]); SERIAL_ECHOLNPGM("");