Switch to printer rather that PrinterSettings dependency

- MatterHackers/MCCentral#4299
Leveling data ignored by running MatterControl instance
This commit is contained in:
John Lewin 2018-10-28 12:08:06 -07:00
parent df8db9fe22
commit 544f389946
5 changed files with 20 additions and 20 deletions

View file

@ -38,16 +38,16 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
private bool activePrinting;
private LevelingFunctions currentLevelingFunctions = null;
private double currentProbeOffset;
private PrinterSettings printerSettings;
private bool wroteLevelingStatus = false;
private bool gcodeAlreadyLeveled = false;
private PrinterConfig printer;
public PrintLevelingStream(PrinterSettings printerSettings, GCodeStream internalStream, bool activePrinting)
public PrintLevelingStream(PrinterConfig printer, GCodeStream internalStream, bool activePrinting)
: base(internalStream)
{
// always reset this when we construct
AllowLeveling = true;
this.printerSettings = printerSettings;
this.printer = printer;
this.activePrinting = activePrinting;
}
@ -60,8 +60,8 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
get
{
return AllowLeveling
&& printerSettings.GetValue<bool>(SettingsKey.print_leveling_enabled)
&& !printerSettings.GetValue<bool>(SettingsKey.has_hardware_leveling);
&& printer.Settings.GetValue<bool>(SettingsKey.print_leveling_enabled)
&& !printer.Settings.GetValue<bool>(SettingsKey.has_hardware_leveling);
}
}
@ -128,18 +128,18 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
private string GetLeveledPosition(string lineBeingSent, PrinterMove currentDestination)
{
PrintLevelingData levelingData = printerSettings.Helpers.GetPrintLevelingData();
PrintLevelingData levelingData = printer.Settings.Helpers.GetPrintLevelingData();
if (levelingData != null
&& printerSettings?.GetValue<bool>(SettingsKey.print_leveling_enabled) == true
&& printer.Settings?.GetValue<bool>(SettingsKey.print_leveling_enabled) == true
&& (lineBeingSent.StartsWith("G0 ") || lineBeingSent.StartsWith("G1 ")))
{
if (currentLevelingFunctions == null
|| currentProbeOffset != printerSettings.GetValue<double>(SettingsKey.z_probe_z_offset)
|| currentProbeOffset != printer.Settings.GetValue<double>(SettingsKey.z_probe_z_offset)
|| !levelingData.SamplesAreSame(currentLevelingFunctions.SampledPositions))
{
currentProbeOffset = printerSettings.GetValue<double>(SettingsKey.z_probe_z_offset);
currentLevelingFunctions = new LevelingFunctions(printerSettings, levelingData);
currentProbeOffset = printer.Settings.GetValue<double>(SettingsKey.z_probe_z_offset);
currentLevelingFunctions = new LevelingFunctions(printer.Settings, levelingData);
}
lineBeingSent = currentLevelingFunctions.ApplyLeveling(lineBeingSent, currentDestination.position);

View file

@ -44,12 +44,12 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
private QueuedCommandsStream queueStream;
private PrinterSettings printerSettings;
private PrinterConfig printer;
public ProcessWriteRegexStream(PrinterSettings printerSettings, GCodeStream internalStream, QueuedCommandsStream queueStream)
public ProcessWriteRegexStream(PrinterConfig printer, GCodeStream internalStream, QueuedCommandsStream queueStream)
: base(internalStream)
{
this.printerSettings = printerSettings;
this.printer = printer;
this.queueStream = queueStream;
}
@ -82,10 +82,10 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
{
lock (WriteLineReplacements)
{
if (writeRegexString != printerSettings.GetValue(SettingsKey.write_regex))
if (writeRegexString != printer.Settings.GetValue(SettingsKey.write_regex))
{
WriteLineReplacements.Clear();
writeRegexString = printerSettings.GetValue(SettingsKey.write_regex);
writeRegexString = printer.Settings.GetValue(SettingsKey.write_regex);
foreach (string regExLine in writeRegexString.Split(new string[] { "\\n" }, StringSplitOptions.RemoveEmptyEntries))
{
var matches = getQuotedParts.Matches(regExLine);