Merge pull request #3884 from larsbrubaker/master

Better logic of when to run probe calibration
This commit is contained in:
johnlewin 2018-10-24 20:34:56 -07:00 committed by GitHub
commit d4d9a42bbe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 41 additions and 9 deletions

View file

@ -44,8 +44,17 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
public static bool UsingZProbe(PrinterConfig printer)
{
PrintLevelingData levelingData = printer.Settings.Helpers.GetPrintLevelingData();
var required = printer.Settings.GetValue<bool>(SettingsKey.print_leveling_required_to_print);
if (required && levelingData == null)
{
// need but don't have data
return true;
}
// we have a probe that we are using and we have not done leveling yet
return printer.Settings.GetValue<bool>(SettingsKey.print_leveling_enabled)
return (required || printer.Settings.GetValue<bool>(SettingsKey.print_leveling_enabled))
&& printer.Settings.GetValue<bool>(SettingsKey.has_z_probe)
&& printer.Settings.GetValue<bool>(SettingsKey.use_z_probe);
}

View file

@ -138,7 +138,7 @@ namespace MatterHackers.MatterControl.DataStorage.ClassicDB
printerSettings.Helpers.SetComPort(printer.ComPort);
printerSettings.Save();
printerSettings.Save(clearBlackListSettings: true);
}
private static void LoadMaterialSettings(PrinterSettings layeredProfile, Printer printer)

View file

@ -333,7 +333,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
}
printer.Settings.ClearUserOverrides();
printer.Settings.Save();
printer.Settings.Save(clearBlackListSettings: true);
if (onlyReloadSliceSettings)
{

View file

@ -218,7 +218,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}
}
if(orResult == false)
if (orResult == false)
{
return false;
}
@ -381,7 +381,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
[JsonIgnore]
public bool AutoSave { get; set; } = true;
public void Save()
Dictionary<string, string> blackListSettings = new Dictionary<string, string>()
{
["spiral_vase"] = "0",
["bottom_clip_amount"] = "0",
["layer_to_pause"] = "",
["print_leveling_data"] = "",
["print_leveling_enabled"] = "0",
["probe_has_been_calibrated"] = "0"
};
public void Save(bool clearBlackListSettings = false)
{
// Skip save operation if on the EmptyProfile
if (!this.PrinterSelected || !this.AutoSave)
@ -389,6 +399,18 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return;
}
if(clearBlackListSettings)
{
foreach(var kvp in blackListSettings)
{
if (UserLayer.ContainsKey(kvp.Key))
{
UserLayer.Remove(kvp.Key);
}
OemLayer[kvp.Key] = kvp.Value;
}
}
Save(DocumentPath);
}

View file

@ -459,7 +459,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
printerInfo.Model = printerSettings.OemLayer[SettingsKey.model] ?? "Other";
}
printerSettings.Save();
printerSettings.Save(clearBlackListSettings: true);
importSuccessful = true;
}
break;
@ -508,12 +508,13 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
printerSettings.Helpers.SetName(printerInfo.Name);
printerSettings.Save();
printerSettings.Save(clearBlackListSettings: true);
importSuccessful = true;
}
}
break;
}
return importSuccessful;
}
@ -548,7 +549,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
});
// Persist changes to PrinterSettings - must come after adding to Profiles above
printerSettings.Save();
printerSettings.Save(clearBlackListSettings: true);
// Set as active profile
ProfileManager.Instance.LastProfileID = guid;

@ -1 +1 @@
Subproject commit 2ee11e09eeaf6fb5c62a70cbb6bd0ad7cfaa1c68
Subproject commit baad05282aaa163abd4375b563952b698bb5c8ed