From 7945b381f54b20681524d6cbd2ee30767912e896 Mon Sep 17 00:00:00 2001 From: LarsBrubaker Date: Sun, 9 Aug 2020 12:37:37 -0700 Subject: [PATCH] Put in baby stepping for T1 (extruder 2) issue: MatterHackers/MCCentral#5877 Print recovery does not work correctly when the print is extruder 2 only --- .../Settings/SettingsKey.cs | 1 + .../Settings/SliceSettingsFields.cs | 11 ++ .../ApplicationView/SettingsValidation.cs | 20 +++ .../SetupWizards/PrintLevelingWizard.cs | 4 + .../SetupWizards/ZCalibrationWizard.cs | 4 + .../WizardPages/LastPageInstructions.cs | 1 + .../PartPreviewWindow/PrinterTabPage.cs | 32 ++++- .../Io/BabyStepsStream.cs | 36 ++++- .../ControlWidgets/MovementControls.cs | 126 ++++++++++++------ .../PrinterControls/JogControls.cs | 31 ++++- .../Settings/PrinterSettingsExtensions.cs | 1 + 11 files changed, 206 insertions(+), 61 deletions(-) diff --git a/MatterControl.Printing/Settings/SettingsKey.cs b/MatterControl.Printing/Settings/SettingsKey.cs index 992e11ab0..1514a7496 100644 --- a/MatterControl.Printing/Settings/SettingsKey.cs +++ b/MatterControl.Printing/Settings/SettingsKey.cs @@ -39,6 +39,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public const string avoid_crossing_max_ratio = nameof(avoid_crossing_max_ratio); public const string avoid_crossing_perimeters = nameof(avoid_crossing_perimeters); public const string baby_step_z_offset = nameof(baby_step_z_offset); + public const string baby_step_z_offset_t1 = nameof(baby_step_z_offset_t1); public const string backup_firmware_before_update = nameof(backup_firmware_before_update); public const string baud_rate = nameof(baud_rate); public const string bed_remove_part_temperature = nameof(bed_remove_part_temperature); diff --git a/MatterControl.Printing/Settings/SliceSettingsFields.cs b/MatterControl.Printing/Settings/SliceSettingsFields.cs index 70dea39d5..3829691d4 100644 --- a/MatterControl.Printing/Settings/SliceSettingsFields.cs +++ b/MatterControl.Printing/Settings/SliceSettingsFields.cs @@ -446,6 +446,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration RebuildGCodeOnChange = false }, new SliceSettingData() + { + SlicerConfigName = SettingsKey.baby_step_z_offset_t1, + PresentationName = "Baby Step Offset T1".Localize(), + HelpText = "The z offset to apply to T1 to improve the first layer adhesion.".Localize(), + DataEditType = DataEditTypes.DOUBLE, + Units = "mm".Localize(), + DefaultValue = "0", + ShowIfSet = "!sla_printer", + RebuildGCodeOnChange = false + }, + new SliceSettingData() { SlicerConfigName = SettingsKey.extruders_share_temperature, PresentationName = "Share Temperature".Localize(), diff --git a/MatterControlLib/ApplicationView/SettingsValidation.cs b/MatterControlLib/ApplicationView/SettingsValidation.cs index 4f95acb63..ac640669c 100644 --- a/MatterControlLib/ApplicationView/SettingsValidation.cs +++ b/MatterControlLib/ApplicationView/SettingsValidation.cs @@ -261,6 +261,26 @@ namespace MatterHackers.MatterControl }); } + if (extruderCount > 1 + && Math.Abs(settings.GetValue(SettingsKey.baby_step_z_offset_t1)) > 2) + { + // Static path generation for non-SliceSettings value + var location = "Location".Localize() + ":" + + "\n" + "Controls".Localize() + + "\n • " + "Movement".Localize() + + "\n • " + "Z Offset T1".Localize(); + + errors.Add( + new ValidationError("ZOffset0TooLarge") + { + Error = "T1 Z Offset is too large.".Localize(), + Details = string.Format( + "{0}\n\n{1}", + "The Z Offset for your second printer, sometimes called Baby Stepping, is greater than 2mm and invalid. Clear the value and re-level the bed.".Localize(), + location) + }); + } + if (settings.GetValue(SettingsKey.first_layer_extrusion_width) > settings.GetValue(SettingsKey.nozzle_diameter) * 4) { errors.Add( diff --git a/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/PrintLevelingWizard.cs b/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/PrintLevelingWizard.cs index e1fa0df98..b9c2f2780 100644 --- a/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/PrintLevelingWizard.cs +++ b/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/PrintLevelingWizard.cs @@ -48,6 +48,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling } private double babySteppingValue; + private double babySteppingValueT1; private bool wizardExited; private bool hasHardwareLeveling; @@ -74,9 +75,11 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling { // remember the current baby stepping values babySteppingValue = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + babySteppingValueT1 = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); // clear them while we measure the offsets printer.Settings.SetValue(SettingsKey.baby_step_z_offset, "0"); + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, "0"); // turn off print leveling printer.Connection.AllowLeveling = false; @@ -135,6 +138,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling // set the baby stepping back to the last known good value printer.Settings.SetValue(SettingsKey.baby_step_z_offset, babySteppingValue.ToString()); + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, babySteppingValueT1.ToString()); wizardExited = true; diff --git a/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/ZCalibrationWizard.cs b/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/ZCalibrationWizard.cs index 9e8887b4e..16c55176a 100644 --- a/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/ZCalibrationWizard.cs +++ b/MatterControlLib/ConfigurationPage/PrintLeveling/SetupWizards/ZCalibrationWizard.cs @@ -39,6 +39,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public class ZCalibrationWizard : PrinterSetupWizard { private double babySteppingValue; + private double babySteppingValueT1; public ZCalibrationWizard(PrinterConfig printer) : base(printer) @@ -73,6 +74,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling // set the baby stepping back to the last known good value printer.Settings.SetValue(SettingsKey.baby_step_z_offset, babySteppingValue.ToString()); + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, babySteppingValue.ToString()); // make sure we raise the probe on close if (printer.Settings.GetValue(SettingsKey.has_z_probe) @@ -132,9 +134,11 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling // remember the current baby stepping values babySteppingValue = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + babySteppingValueT1 = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); // clear them while we measure the offsets printer.Settings.SetValue(SettingsKey.baby_step_z_offset, "0"); + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, "0"); // Require user confirmation after this point this.RequireCancelConfirmation = true; diff --git a/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/LastPageInstructions.cs b/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/LastPageInstructions.cs index 2f635ea26..86137ba1f 100644 --- a/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/LastPageInstructions.cs +++ b/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/LastPageInstructions.cs @@ -75,6 +75,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling // Invoke setter forcing persistence of leveling data printer.Settings.Helpers.PrintLevelingData = levelingData; printer.Settings.SetValue(SettingsKey.baby_step_z_offset, "0"); + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, "0"); printer.Connection.AllowLeveling = true; printer.Settings.Helpers.DoPrintLeveling(true); diff --git a/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs b/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs index 5d1f327df..7c6605c84 100644 --- a/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs +++ b/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs @@ -684,13 +684,22 @@ namespace MatterHackers.MatterControl.PartPreviewWindow upButton.Click += (s, e) => { - var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); - currentZ += babyStepAmount; - printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + if (printer.Connection.ActiveExtruderIndex == 0) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + currentZ += babyStepAmount; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + } + else if (printer.Connection.ActiveExtruderIndex == 1) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); + currentZ += babyStepAmount; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, currentZ.ToString("0.##")); + } }; // add in the current position display - var zTuning = babySteppingControls.AddChild(new ZTuningWidget(printer.Settings, theme, false) + var zTuning = babySteppingControls.AddChild(new ZTuningWidget(printer, theme, false) { HAnchor = HAnchor.Center | HAnchor.Fit, VAnchor = VAnchor.Fit, @@ -716,9 +725,18 @@ namespace MatterHackers.MatterControl.PartPreviewWindow }); downButton.Click += (s, e) => { - var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); - currentZ -= babyStepAmount; - printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + if (printer.Connection.ActiveExtruderIndex == 0) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + currentZ -= babyStepAmount; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + } + else if (printer.Connection.ActiveExtruderIndex == 1) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); + currentZ -= babyStepAmount; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, currentZ.ToString("0.##")); + } }; // build the bottom row to hold re-slice diff --git a/MatterControlLib/PrinterCommunication/Io/BabyStepsStream.cs b/MatterControlLib/PrinterCommunication/Io/BabyStepsStream.cs index 9911cac69..3b7359d68 100644 --- a/MatterControlLib/PrinterCommunication/Io/BabyStepsStream.cs +++ b/MatterControlLib/PrinterCommunication/Io/BabyStepsStream.cs @@ -42,7 +42,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io private PrinterMove outputWithBabyStepping = PrinterMove.Unknown; private PrinterMove inputNoBabyStepping = PrinterMove.Unknown; - public Vector3 BabbyStepOffset { get; private set; } = Vector3.Zero; + public Vector3 BabbyStepOffsetT0 { get; private set; } = Vector3.Zero; + + public Vector3 BabbyStepOffsetT1 { get; private set; } = Vector3.Zero; public BabyStepsStream(PrinterConfig printer, GCodeStream internalStream) : base(printer, internalStream) @@ -51,7 +53,8 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io extruderIndex = printer.Connection.ActiveExtruderIndex; - BabbyStepOffset = new Vector3(0, 0, printer.Settings.GetValue(SettingsKey.baby_step_z_offset)); + BabbyStepOffsetT0 = new Vector3(0, 0, printer.Settings.GetValue(SettingsKey.baby_step_z_offset)); + BabbyStepOffsetT1 = new Vector3(0, 0, printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1)); ReadExtruderOffsets(); } @@ -76,8 +79,13 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io { if (e?.Data == SettingsKey.baby_step_z_offset) { - var currentOffset = BabbyStepOffset.Z; - BabbyStepOffset = new Vector3(0, 0, printer.Settings.GetValue(SettingsKey.baby_step_z_offset)); + var currentOffset = BabbyStepOffsetT0.Z; + BabbyStepOffsetT0 = new Vector3(0, 0, printer.Settings.GetValue(SettingsKey.baby_step_z_offset)); + } + else if (e?.Data == SettingsKey.baby_step_z_offset_t1) + { + var currentOffset = BabbyStepOffsetT1.Z; + BabbyStepOffsetT1 = new Vector3(0, 0, printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1)); } else if (e?.Data == SettingsKey.extruder_offset && !printer.Connection.Printing @@ -94,7 +102,15 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io // calculate our offset to pass on to internal streams inputNoBabyStepping = outputWithBabyStepping; - inputNoBabyStepping.position -= BabbyStepOffset; + if (extruderIndex == 1) + { + inputNoBabyStepping.position -= BabbyStepOffsetT1; + } + else + { + inputNoBabyStepping.position -= BabbyStepOffsetT0; + } + inputNoBabyStepping.position += extruderOffsets[Math.Min(extruderIndex, 4)]; internalStream.SetPrinterPosition(inputNoBabyStepping); @@ -134,7 +150,15 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io // it is a struct so this is making a new copy we con modify PrinterMove moveToSend = inputNoBabyStepping; - moveToSend.position += BabbyStepOffset; + if (extruderIndex == 1) + { + moveToSend.position += BabbyStepOffsetT1; + } + else + { + moveToSend.position += BabbyStepOffsetT0; + } + moveToSend.position -= extruderOffsets[Math.Min(extruderIndex, 4)]; if (moveToSend.HaveAnyPosition) diff --git a/MatterControlLib/PrinterControls/ControlWidgets/MovementControls.cs b/MatterControlLib/PrinterControls/ControlWidgets/MovementControls.cs index 36e643b40..05a697297 100644 --- a/MatterControlLib/PrinterControls/ControlWidgets/MovementControls.cs +++ b/MatterControlLib/PrinterControls/ControlWidgets/MovementControls.cs @@ -34,6 +34,7 @@ using MatterHackers.Agg.Platform; using MatterHackers.Agg.UI; using MatterHackers.Localizations; using MatterHackers.MatterControl.CustomWidgets; +using MatterHackers.MatterControl.DataStorage; using MatterHackers.MatterControl.PrinterCommunication; using MatterHackers.MatterControl.SlicerConfiguration; using MatterHackers.MatterControl.Utilities; @@ -188,7 +189,7 @@ namespace MatterHackers.MatterControl.PrinterControls }; toolbar.AddChild(offsetStreamLabel); - var ztuningWidget = new ZTuningWidget(printer.Settings, theme); + var ztuningWidget = new ZTuningWidget(printer, theme); toolbar.AddChild(ztuningWidget); toolbar.AddChild(new HorizontalSpacer()); @@ -265,44 +266,90 @@ namespace MatterHackers.MatterControl.PrinterControls public Color ZColor { get; } } - public class ZTuningWidget : GuiWidget + public class ZTuningWidget : FlowLayoutWidget { - private GuiWidget clearZOffsetButton; - - private PrinterSettings printerSettings; + private PrinterConfig printer; private ThemeConfig theme; - private FlowLayoutWidget zOffsetStreamContainer; + private TextWidget zOffsetStreamDisplayT0; - private TextWidget zOffsetStreamDisplay; + private TextWidget zOffsetStreamDisplayT1; - public ZTuningWidget(PrinterSettings printerSettings, ThemeConfig theme, bool showClearButton = true) + public ZTuningWidget(PrinterConfig printer, ThemeConfig theme, bool showClearButton = true) + : base(FlowDirection.TopToBottom) { this.theme = theme; - this.printerSettings = printerSettings; + this.printer = printer; this.HAnchor = HAnchor.Fit; this.VAnchor = VAnchor.Fit | VAnchor.Center; - zOffsetStreamContainer = new FlowLayoutWidget(FlowDirection.LeftToRight) - { - Margin = new BorderDouble(3, 0), - Padding = new BorderDouble(3), - HAnchor = HAnchor.Fit, - VAnchor = VAnchor.Center, - Height = 20 * GuiWidget.DeviceScale - }; - this.AddChild(zOffsetStreamContainer); - - double zoffset = printerSettings.GetValue(SettingsKey.baby_step_z_offset); - zOffsetStreamDisplay = new TextWidget(zoffset.ToString("0.##"), pointSize: theme.DefaultFontSize) + var zOffset = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + zOffsetStreamDisplayT0 = new TextWidget(zOffset.ToString("0.##"), pointSize: theme.DefaultFontSize) { AutoExpandBoundsToText = true, TextColor = theme.TextColor, Margin = new BorderDouble(5, 0, 8, 0), VAnchor = VAnchor.Center }; - zOffsetStreamContainer.AddChild(zOffsetStreamDisplay); + + AddExtruder(printer.Settings, SettingsKey.baby_step_z_offset, zOffsetStreamDisplayT0); + + AddDisplay(printer.Settings, theme, showClearButton, SettingsKey.baby_step_z_offset, zOffsetStreamDisplayT0); + + if (printer.Settings.GetValue(SettingsKey.extruder_count) > 1) + { + zOffset = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); + + zOffsetStreamDisplayT1 = new TextWidget(zOffset.ToString("0.##"), pointSize: theme.DefaultFontSize) + { + AutoExpandBoundsToText = true, + TextColor = theme.TextColor, + Margin = new BorderDouble(5, 0, 8, 0), + VAnchor = VAnchor.Center + }; + AddExtruder(printer.Settings, SettingsKey.baby_step_z_offset_t1, zOffsetStreamDisplayT1); + + AddDisplay(printer.Settings, theme, showClearButton, SettingsKey.baby_step_z_offset_t1, zOffsetStreamDisplayT1); + } + } + + private void AddDisplay(PrinterSettings printerSettings, + ThemeConfig theme, + bool showClearButton, + string setting, + TextWidget widget) + { + GuiWidget clearZOffsetButton = null; + void Printer_SettingChanged(object s, StringEventArgs e) + { + if (e?.Data == setting) + { + double zOffset = printerSettings.GetValue(setting); + bool hasOverriddenZOffset = zOffset != 0; + + if (clearZOffsetButton != null) + { + clearZOffsetButton.Visible = hasOverriddenZOffset; + } + + widget.Text = zOffset.ToString("0.##"); + AddExtruder(printerSettings, setting, widget); + } + } + + var zOffsetStreamContainer = new FlowLayoutWidget(FlowDirection.LeftToRight) + { + Margin = new BorderDouble(3, 0), + Padding = new BorderDouble(3), + HAnchor = HAnchor.Fit | HAnchor.Right, + VAnchor = VAnchor.Absolute, + Height = 20 * GuiWidget.DeviceScale + }; + this.AddChild(zOffsetStreamContainer); + + var zoffset = printerSettings.GetValue(setting); + zOffsetStreamContainer.AddChild(widget); if (showClearButton) { @@ -312,36 +359,31 @@ namespace MatterHackers.MatterControl.PrinterControls clearZOffsetButton.Visible = zoffset != 0; clearZOffsetButton.Click += (sender, e) => { - printerSettings.SetValue(SettingsKey.baby_step_z_offset, "0"); + printerSettings.SetValue(setting, "0"); }; zOffsetStreamContainer.AddChild(clearZOffsetButton); } - // Register listeners printerSettings.SettingChanged += Printer_SettingChanged; - } - public override void OnClosed(EventArgs e) - { - // Unregister listeners - printerSettings.SettingChanged -= Printer_SettingChanged; - - base.OnClosed(e); - } - - private void Printer_SettingChanged(object s, StringEventArgs e) - { - if (e?.Data == SettingsKey.baby_step_z_offset) + this.Closed += (s, e) => { - double zoffset = printerSettings.GetValue(SettingsKey.baby_step_z_offset); - bool hasOverriddenZOffset = zoffset != 0; + printerSettings.SettingChanged -= Printer_SettingChanged; + }; + } - if (clearZOffsetButton != null) + private static void AddExtruder(PrinterSettings printerSettings, string setting, TextWidget widget) + { + if (printerSettings.GetValue(SettingsKey.extruder_count) > 1) + { + if (setting == SettingsKey.baby_step_z_offset) { - clearZOffsetButton.Visible = hasOverriddenZOffset; + widget.Text += " E1"; + } + else + { + widget.Text += " E2"; } - - zOffsetStreamDisplay.Text = zoffset.ToString("0.##"); } } } diff --git a/MatterControlLib/PrinterControls/JogControls.cs b/MatterControlLib/PrinterControls/JogControls.cs index 417a9f455..85fb63a9c 100644 --- a/MatterControlLib/PrinterControls/JogControls.cs +++ b/MatterControlLib/PrinterControls/JogControls.cs @@ -397,9 +397,19 @@ namespace MatterHackers.MatterControl { if (printer.Connection.CommunicationState == CommunicationStates.Printing) { - var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); - currentZ += moveAmountPositive; - printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + if (printer.Connection.ActiveExtruderIndex == 0) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + currentZ += moveAmountPositive; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + } + else if (printer.Connection.ActiveExtruderIndex == 1) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); + currentZ += moveAmountPositive; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, currentZ.ToString("0.##")); + } + e.Handled = true; } else @@ -413,9 +423,18 @@ namespace MatterHackers.MatterControl { if (printer.Connection.CommunicationState == CommunicationStates.Printing) { - var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); - currentZ += moveAmountPositive; - printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + if (printer.Connection.ActiveExtruderIndex == 0) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset); + currentZ -= moveAmountPositive; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset, currentZ.ToString("0.##")); + } + else if (printer.Connection.ActiveExtruderIndex == 1) + { + var currentZ = printer.Settings.GetValue(SettingsKey.baby_step_z_offset_t1); + currentZ -= moveAmountPositive; + printer.Settings.SetValue(SettingsKey.baby_step_z_offset_t1, currentZ.ToString("0.##")); + } e.Handled = true; } diff --git a/MatterControlLib/SlicerConfiguration/Settings/PrinterSettingsExtensions.cs b/MatterControlLib/SlicerConfiguration/Settings/PrinterSettingsExtensions.cs index 809aa3d66..dd9e0eeae 100644 --- a/MatterControlLib/SlicerConfiguration/Settings/PrinterSettingsExtensions.cs +++ b/MatterControlLib/SlicerConfiguration/Settings/PrinterSettingsExtensions.cs @@ -43,6 +43,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration [SettingsKey.print_leveling_enabled] = "0", [SettingsKey.probe_has_been_calibrated] = "0", [SettingsKey.baby_step_z_offset] = "0", + [SettingsKey.baby_step_z_offset_t1] = "0", [SettingsKey.xy_offsets_have_been_calibrated] = "0", [SettingsKey.filament_has_been_loaded] = "0", [SettingsKey.filament_1_has_been_loaded] = "0"