From b659a3ea503f71663c26dfba71f1c992e3e34541 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Tue, 18 Oct 2016 15:58:38 -0700 Subject: [PATCH] Make sure we clear z_offset_after_home on reset. --- .../PrinterConnectionAndCommunication.cs | 13 ++++++++----- SlicerConfiguration/Settings/PrinterSettings.cs | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/PrinterCommunication/PrinterConnectionAndCommunication.cs b/PrinterCommunication/PrinterConnectionAndCommunication.cs index 51454e3d2..8c05ba91d 100644 --- a/PrinterCommunication/PrinterConnectionAndCommunication.cs +++ b/PrinterCommunication/PrinterConnectionAndCommunication.cs @@ -1848,12 +1848,15 @@ namespace MatterHackers.MatterControl.PrinterCommunication ApplicationController.Instance.ReloadAdvancedControlsPanel(); } - // now send a G92 to set the position that we want to think is home - double zOffset = ActiveSliceSettings.Instance.GetValue(SettingsKey.z_offset_after_home); - if (zOffset != 0) + if (ActiveSliceSettings.Instance.GetValue(SettingsKey.print_leveling_enabled)) { - double newHomePosition = ActiveSliceSettings.Instance.GetValue(SettingsKey.printer_z_after_home) + zOffset; - SendLineToPrinterNow($"G92 Z{newHomePosition}"); + // now send a G92 to set the position that we want to think is home + double zOffset = ActiveSliceSettings.Instance.GetValue(SettingsKey.z_offset_after_home); + if (zOffset != 0) + { + double newHomePosition = ActiveSliceSettings.Instance.GetValue(SettingsKey.printer_z_after_home) + zOffset; + SendLineToPrinterNow($"G92 Z{newHomePosition}"); + } } } } diff --git a/SlicerConfiguration/Settings/PrinterSettings.cs b/SlicerConfiguration/Settings/PrinterSettings.cs index 6cd4127ae..3e573a45e 100644 --- a/SlicerConfiguration/Settings/PrinterSettings.cs +++ b/SlicerConfiguration/Settings/PrinterSettings.cs @@ -538,6 +538,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration // Print leveling data has no SliceSettingsWidget editor but should be removed on 'Reset to Defaults' keysToRetain.Remove(SettingsKey.print_leveling_data); keysToRetain.Remove(SettingsKey.print_leveling_enabled); + keysToRetain.Remove(SettingsKey.z_offset_after_home); // Iterate all items that have .ShowAsOverride = false and conditionally add to the retention list foreach (var item in SliceSettingsOrganizer.Instance.SettingsData.Where(settingsItem => settingsItem.ShowAsOverride == false))