Przeglądaj źródła

Merge pull request #715 from MRprusa3d/MK3

Mk3
PavelSindler 6 lat temu
rodzic
commit
cd3851e175
2 zmienionych plików z 32 dodań i 21 usunięć
  1. 9 4
      Firmware/Marlin_main.cpp
  2. 23 17
      Firmware/ultralcd.cpp

+ 9 - 4
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 
@@ -4221,13 +4224,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);

+ 23 - 17
Firmware/ultralcd.cpp

@@ -3655,7 +3655,7 @@ static void lcd_crash_mode_set()
     
 }
 #endif //TMC2130
-
+ 
 
 static void lcd_set_lang(unsigned char lang) {
   lang_selected = lang;
@@ -4144,15 +4144,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
 
@@ -5870,16 +5873,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)
-	{
-		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) 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 //TMC2130
 	if (!farm_mode) { //dont show in menu if we are in farm mode
 		switch (SilentModeMenu) {