Making it possible to set a bed surface and have settings for bed temperature / material
This commit is contained in:
parent
2266428005
commit
fa86c58a7c
18 changed files with 429 additions and 43 deletions
|
|
@ -100,6 +100,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
SettingsKey.bed_shape,
|
||||
SettingsKey.bed_size,
|
||||
SettingsKey.bed_temperature,
|
||||
SettingsKey.bed_temperature_blue_tape,
|
||||
SettingsKey.bed_temperature_buildtak,
|
||||
SettingsKey.bed_temperature_garolite,
|
||||
SettingsKey.bed_temperature_glass,
|
||||
SettingsKey.bed_temperature_kapton,
|
||||
SettingsKey.bed_temperature_pei,
|
||||
SettingsKey.bed_temperature_pp,
|
||||
SettingsKey.has_swappable_bed,
|
||||
SettingsKey.bed_surface,
|
||||
SettingsKey.before_toolchange_gcode,
|
||||
SettingsKey.before_toolchange_gcode_1,
|
||||
SettingsKey.before_toolchange_gcode_2,
|
||||
|
|
@ -1030,7 +1039,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
if (setting == SettingsKey.first_layer_bed_temperature
|
||||
&& !this.Slicer.Exports.ContainsKey(SettingsKey.first_layer_bed_temperature))
|
||||
{
|
||||
value = $"{this.GetValue<double>(SettingsKey.bed_temperature)}";
|
||||
value = $"{this.Helpers.ActiveBedTemperature}";
|
||||
}
|
||||
|
||||
// braces then brackets replacement
|
||||
|
|
@ -1348,9 +1357,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
string value = this.GetValue(settingsKey);
|
||||
|
||||
if (SettingsData.TryGetValue(settingsKey, out SliceSettingData settingsData)
|
||||
&& settingsData.Converter is ValueConverter resolver)
|
||||
&& settingsData.Converter != null)
|
||||
{
|
||||
return resolver.Convert(value, this);
|
||||
return settingsData.Converter.Convert(value, this);
|
||||
}
|
||||
|
||||
return value;
|
||||
|
|
|
|||
|
|
@ -204,8 +204,62 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
|
||||
public double ActiveBedTemperature
|
||||
{
|
||||
get
|
||||
{
|
||||
var temp = printerSettings.GetValue<double>(ActiveBedTemperatureSetting);
|
||||
// check if it might be trying to use the default
|
||||
if (temp == 0)
|
||||
{
|
||||
// it is either the default (actual bed_temperature) or a 0. This will get the true temp requested
|
||||
return printerSettings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
}
|
||||
|
||||
public void DoPrintLeveling(bool doLeveling)
|
||||
// fonud a good temp return it
|
||||
return temp;
|
||||
}
|
||||
}
|
||||
|
||||
public string ActiveBedTemperatureSetting
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!printerSettings.GetValue<bool>(SettingsKey.has_swappable_bed))
|
||||
{
|
||||
return SettingsKey.bed_temperature;
|
||||
}
|
||||
|
||||
switch(printerSettings.GetValue(SettingsKey.bed_surface))
|
||||
{
|
||||
case "Blue Tape":
|
||||
return SettingsKey.bed_temperature_blue_tape;
|
||||
|
||||
case "BuildTak":
|
||||
return SettingsKey.bed_temperature_buildtak;
|
||||
|
||||
case "Garolite":
|
||||
return SettingsKey.bed_temperature_garolite;
|
||||
|
||||
case "Glass":
|
||||
return SettingsKey.bed_temperature_glass;
|
||||
|
||||
case "Kapton":
|
||||
return SettingsKey.bed_temperature_kapton;
|
||||
|
||||
case "PEI":
|
||||
return SettingsKey.bed_temperature_pei;
|
||||
|
||||
case "Polypropylene":
|
||||
return SettingsKey.bed_temperature_pp;
|
||||
|
||||
default:
|
||||
return SettingsKey.bed_temperature;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void DoPrintLeveling(bool doLeveling)
|
||||
{
|
||||
// Early exit if already set
|
||||
if (doLeveling == printerSettings.GetValue<bool>(SettingsKey.print_leveling_enabled))
|
||||
|
|
|
|||
|
|
@ -46,6 +46,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
public const string bed_shape = nameof(bed_shape);
|
||||
public const string bed_size = nameof(bed_size);
|
||||
public const string bed_temperature = nameof(bed_temperature);
|
||||
public const string bed_temperature_blue_tape = nameof(bed_temperature_blue_tape);
|
||||
public const string bed_temperature_buildtak = nameof(bed_temperature_buildtak);
|
||||
public const string bed_temperature_garolite = nameof(bed_temperature_garolite);
|
||||
public const string bed_temperature_glass = nameof(bed_temperature_glass);
|
||||
public const string bed_temperature_kapton = nameof(bed_temperature_kapton);
|
||||
public const string bed_temperature_pei = nameof(bed_temperature_pei);
|
||||
public const string bed_temperature_pp = nameof(bed_temperature_pp);
|
||||
public const string has_swappable_bed = nameof(has_swappable_bed);
|
||||
public const string bed_surface = nameof(bed_surface);
|
||||
public const string before_toolchange_gcode = nameof(before_toolchange_gcode);
|
||||
public const string before_toolchange_gcode_1 = nameof(before_toolchange_gcode_1);
|
||||
public const string before_toolchange_gcode_2 = nameof(before_toolchange_gcode_2);
|
||||
|
|
|
|||
|
|
@ -136,6 +136,97 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
DefaultValue = "70"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_blue_tape,
|
||||
PresentationName = "Blue Tape Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is coverd with blue tape. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_buildtak,
|
||||
PresentationName = "BuildTak Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is using BuildTak. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_garolite,
|
||||
PresentationName = "Garolite Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is using garolite. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_glass,
|
||||
PresentationName = "Glass Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is using glass. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_kapton,
|
||||
PresentationName = "Kapton Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is coverd in kapton tape. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_pei,
|
||||
PresentationName = "PEI Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is using PEI. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_temperature_pp,
|
||||
PresentationName = "Polypropylene Bed Temperature".Localize(),
|
||||
HelpText = "The temperature to print when the bed is polypropylene. Set to 0 to use default.".Localize(),
|
||||
DataEditType = DataEditTypes.POSITIVE_DOUBLE,
|
||||
Units = "°C".Localize(),
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.has_swappable_bed,
|
||||
PresentationName = "Has Swappable Bed".Localize(),
|
||||
HelpText = "This should be checked if the printer supports multiple bed surfaces and the bed temperature for the different surfaces needs to vary.".Localize(),
|
||||
DataEditType = DataEditTypes.CHECK_BOX,
|
||||
RequiredDisplayDetail = DisplayDetailRequired.Advanced,
|
||||
ShowIfSet = "has_heated_bed",
|
||||
UiUpdate = UiUpdateRequired.Application,
|
||||
DefaultValue = "0"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.bed_surface,
|
||||
PresentationName = "Bed Surface".Localize(),
|
||||
HelpText = "The current bed surfaces that the printer is using. This is used to set the correct bed temperature for a given material.".Localize(),
|
||||
DataEditType = DataEditTypes.LIST,
|
||||
ShowIfSet = "has_heated_bed&has_swappable_bed",
|
||||
ListValues = "Default,Blue Tape,BuildTak,Garolite,Glass,Kapton,PEI,Polypropylene",
|
||||
DefaultValue = "Default"
|
||||
},
|
||||
new SliceSettingData()
|
||||
{
|
||||
SlicerConfigName = SettingsKey.first_layer_bed_temperature,
|
||||
PresentationName = "First Layer Bed Temperature".Localize(),
|
||||
|
|
|
|||
|
|
@ -137,6 +137,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}),
|
||||
("Adhesion", new[]
|
||||
{
|
||||
("Bed", new []
|
||||
{
|
||||
SettingsKey.bed_surface,
|
||||
}),
|
||||
("Skirt", new[]
|
||||
{
|
||||
SettingsKey.create_skirt,
|
||||
|
|
@ -209,6 +213,13 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
SettingsKey.temperature2,
|
||||
SettingsKey.temperature3,
|
||||
SettingsKey.bed_temperature,
|
||||
SettingsKey.bed_temperature_blue_tape,
|
||||
SettingsKey.bed_temperature_buildtak,
|
||||
SettingsKey.bed_temperature_garolite,
|
||||
SettingsKey.bed_temperature_glass,
|
||||
SettingsKey.bed_temperature_kapton,
|
||||
SettingsKey.bed_temperature_pei,
|
||||
SettingsKey.bed_temperature_pp,
|
||||
SettingsKey.inactive_cool_down,
|
||||
SettingsKey.seconds_to_reheat,
|
||||
}),
|
||||
|
|
@ -350,6 +361,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
SettingsKey.has_fan_per_extruder,
|
||||
SettingsKey.has_hardware_leveling,
|
||||
SettingsKey.has_heated_bed,
|
||||
SettingsKey.has_swappable_bed,
|
||||
SettingsKey.has_sd_card_reader,
|
||||
SettingsKey.has_power_control,
|
||||
SettingsKey.filament_runout_sensor,
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
{
|
||||
var widget = new IgnoredPopupWidget()
|
||||
{
|
||||
Width = 300 * GuiWidget.DeviceScale,
|
||||
Width = 340 * GuiWidget.DeviceScale,
|
||||
HAnchor = HAnchor.Absolute,
|
||||
VAnchor = VAnchor.Fit,
|
||||
Padding = new BorderDouble(12, 0),
|
||||
|
|
@ -88,9 +88,9 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
};
|
||||
widget.AddChild(container);
|
||||
|
||||
GuiWidget hotendRow;
|
||||
GuiWidget heatedBedSettingItem;
|
||||
|
||||
container.AddChild(hotendRow = new SettingsItem(
|
||||
container.AddChild(heatedBedSettingItem = new SettingsItem(
|
||||
"Heated Bed".Localize(),
|
||||
menuTheme,
|
||||
new SettingsItem.ToggleSwitchConfig()
|
||||
|
|
@ -98,13 +98,13 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
Checked = printer.Connection.TargetBedTemperature > 0,
|
||||
ToggleAction = (itemChecked) =>
|
||||
{
|
||||
var goalTemp = itemChecked ? printer.Settings.GetValue<double>(SettingsKey.bed_temperature) : 0;
|
||||
var goalTemp = itemChecked ? printer.Settings.Helpers.ActiveBedTemperature : 0;
|
||||
printer.Connection.TargetBedTemperature = goalTemp;
|
||||
}
|
||||
},
|
||||
enforceGutter: false));
|
||||
|
||||
var toggleWidget = hotendRow.Children.Where(o => o is ICheckbox).FirstOrDefault();
|
||||
var toggleWidget = heatedBedSettingItem.Children.Where(o => o is ICheckbox).FirstOrDefault();
|
||||
toggleWidget.Name = "Toggle Heater";
|
||||
|
||||
heatToggle = toggleWidget as ICheckbox;
|
||||
|
|
@ -112,14 +112,6 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
int tabIndex = 0;
|
||||
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
|
||||
|
||||
var settingsData = PrinterSettings.SettingsData[SettingsKey.bed_temperature];
|
||||
var temperatureRow = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, menuTheme, ref tabIndex, allUiFields);
|
||||
container.AddChild(temperatureRow);
|
||||
|
||||
// Add the temperature row to the always enabled list ensuring the field can be set when disconnected
|
||||
alwaysEnabled.Add(temperatureRow);
|
||||
alwaysEnabled.Add(hotendRow);
|
||||
|
||||
// add in the temp graph
|
||||
var graph = new DataViewGraph()
|
||||
{
|
||||
|
|
@ -127,20 +119,74 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
MinValue = 0,
|
||||
ShowGoal = true,
|
||||
GoalColor = menuTheme.PrimaryAccentColor,
|
||||
GoalValue = printer.Settings.GetValue<double>(SettingsKey.bed_temperature),
|
||||
GoalValue = printer.Settings.Helpers.ActiveBedTemperature,
|
||||
MaxValue = 150, // could come from some profile value in the future
|
||||
Width = widget.Width - 20 * GuiWidget.DeviceScale,
|
||||
Height = 35 * GuiWidget.DeviceScale, // this works better if it is a common multiple of the Width
|
||||
Margin = new BorderDouble(0, 5, 0, 0),
|
||||
};
|
||||
|
||||
var temperatureRow = new FlowLayoutWidget()
|
||||
{
|
||||
HAnchor = HAnchor.Stretch
|
||||
};
|
||||
|
||||
var bedSettingBeingEdited = printer.Settings.Helpers.ActiveBedTemperatureSetting;
|
||||
|
||||
void SettingChanged(object s, StringEventArgs stringEvent)
|
||||
{
|
||||
if (stringEvent.Data == SettingsKey.bed_temperature
|
||||
|| stringEvent.Data == bedSettingBeingEdited)
|
||||
{
|
||||
graph.GoalValue = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
}
|
||||
else if (stringEvent.Data == SettingsKey.bed_surface)
|
||||
{
|
||||
AddTemperatureControlForBedSurface();
|
||||
graph.GoalValue = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
}
|
||||
}
|
||||
|
||||
void AddTemperatureControlForBedSurface()
|
||||
{
|
||||
temperatureRow.CloseChildren();
|
||||
|
||||
bedSettingBeingEdited = printer.Settings.Helpers.ActiveBedTemperatureSetting;
|
||||
|
||||
var settingsData = PrinterSettings.SettingsData[bedSettingBeingEdited];
|
||||
var bedTemperature = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, menuTheme, ref tabIndex, allUiFields);
|
||||
|
||||
var settingsRow = bedTemperature.DescendantsAndSelf<SliceSettingsRow>().FirstOrDefault();
|
||||
|
||||
// make sure we are not still connected when changing settings
|
||||
printer.Settings.SettingChanged -= SettingChanged;
|
||||
// connect it
|
||||
printer.Settings.SettingChanged += SettingChanged;
|
||||
// and make sure we dispose when done
|
||||
printer.Disposed += (s, e) => printer.Settings.SettingChanged -= SettingChanged;
|
||||
|
||||
temperatureRow.AddChild(bedTemperature);
|
||||
}
|
||||
|
||||
AddTemperatureControlForBedSurface();
|
||||
container.AddChild(temperatureRow);
|
||||
|
||||
// Add the temperature row to the always enabled list ensuring the field can be set when disconnected
|
||||
alwaysEnabled.Add(temperatureRow);
|
||||
alwaysEnabled.Add(heatedBedSettingItem);
|
||||
|
||||
var bedSurfaceChanger = CreateBedSurfaceSelector(printer, menuTheme, ref tabIndex);
|
||||
if (bedSurfaceChanger != null)
|
||||
{
|
||||
container.AddChild(bedSurfaceChanger);
|
||||
alwaysEnabled.Add(bedSurfaceChanger);
|
||||
}
|
||||
|
||||
runningInterval = UiThread.SetInterval(() =>
|
||||
{
|
||||
graph.AddData(this.ActualTemperature);
|
||||
}, 1);
|
||||
|
||||
var settingsRow = temperatureRow.DescendantsAndSelf<SliceSettingsRow>().FirstOrDefault();
|
||||
|
||||
void Printer_SettingChanged(object s, StringEventArgs stringEvent)
|
||||
{
|
||||
if (stringEvent != null)
|
||||
|
|
@ -156,14 +202,6 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
userInitiated: false);
|
||||
}
|
||||
}
|
||||
|
||||
if (stringEvent.Data == SettingsKey.bed_temperature)
|
||||
{
|
||||
var temp = printer.Settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
graph.GoalValue = temp;
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -175,6 +213,21 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
return widget;
|
||||
}
|
||||
|
||||
public static GuiWidget CreateBedSurfaceSelector(PrinterConfig printer, ThemeConfig theme, ref int tabIndex)
|
||||
{
|
||||
if (!printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed)
|
||||
|| !printer.Settings.GetValue<bool>(SettingsKey.has_swappable_bed))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
|
||||
var settingsData = PrinterSettings.SettingsData[SettingsKey.bed_surface];
|
||||
|
||||
var surfaceSelector = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, theme, ref tabIndex);
|
||||
return surfaceSelector;
|
||||
}
|
||||
|
||||
public override void OnClosed(EventArgs e)
|
||||
{
|
||||
// Unregister listeners
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
bool heatedBed = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed);
|
||||
|
||||
double bedTemperature = printer.Settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
double bedTemperature = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
|
||||
if (heatedBed
|
||||
&& printer.Connection.IsConnected
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
|
|||
|
||||
// check that the bed temperature at probe time was close enough to the current print bed temp
|
||||
double requiredLevelingTemp = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed) ?
|
||||
printer.Settings.GetValue<double>(SettingsKey.bed_temperature)
|
||||
printer.Settings.Helpers.ActiveBedTemperature
|
||||
: 0;
|
||||
|
||||
// check that the number of points sampled is correct for the solution
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
|
|||
|
||||
// start heating up now so it has more time to heat
|
||||
var bedTemperature = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed) ?
|
||||
printer.Settings.GetValue<double>(SettingsKey.bed_temperature)
|
||||
printer.Settings.Helpers.ActiveBedTemperature
|
||||
: 0;
|
||||
if (bedTemperature > 0)
|
||||
{
|
||||
|
|
@ -207,7 +207,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
|
|||
double targetHotendTemp = 0;
|
||||
if (printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed))
|
||||
{
|
||||
targetBedTemp = printer.Settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
targetBedTemp = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
}
|
||||
|
||||
if (!printer.Settings.Helpers.ProbeBeingUsed)
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
|
|||
{
|
||||
// start heating up the bed as that will be needed next
|
||||
var bedTemperature = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed) ?
|
||||
printer.Settings.GetValue<double>(SettingsKey.bed_temperature)
|
||||
printer.Settings.Helpers.ActiveBedTemperature
|
||||
: 0;
|
||||
if (bedTemperature > 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling
|
|||
levelingData.CreationDate = DateTime.Now;
|
||||
// record the temp the bed was when we measured it (or 0 if no heated bed)
|
||||
levelingData.BedTemperature = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed) ?
|
||||
printer.Settings.GetValue<double>(SettingsKey.bed_temperature)
|
||||
printer.Settings.Helpers.ActiveBedTemperature
|
||||
: 0;
|
||||
levelingData.IssuedLevelingTempWarning = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
|
|||
queuedCommands.Add("M82; use absolute distance for extrusion");
|
||||
|
||||
bool hasHeatedBed = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed);
|
||||
double bedTemp = printer.Settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
double bedTemp = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
if (hasHeatedBed && bedTemp > 0)
|
||||
{
|
||||
// start heating the bed
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
|
|||
printer.Connection.CanceleRequested += Connection_PrintCanceled;
|
||||
|
||||
if (!printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed)
|
||||
|| printer.Settings.GetValue<double>(SettingsKey.bed_temperature) == 0)
|
||||
|| printer.Settings.Helpers.ActiveBedTemperature == 0)
|
||||
{
|
||||
// If we don't have a bed or we are not going to set the temperature
|
||||
// do not wait for an M190
|
||||
|
|
@ -311,7 +311,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io
|
|||
levelingData.CreationDate = DateTime.Now;
|
||||
// record the temp the bed was when we measured it (or 0 if no heated bed)
|
||||
levelingData.BedTemperature = printer.Settings.GetValue<bool>(SettingsKey.has_heated_bed) ?
|
||||
printer.Settings.GetValue<double>(SettingsKey.bed_temperature)
|
||||
printer.Settings.Helpers.ActiveBedTemperature
|
||||
: 0;
|
||||
levelingData.IssuedLevelingTempWarning = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -383,7 +383,9 @@ namespace MatterHackers.MatterControl.PrinterCommunication
|
|||
}
|
||||
}
|
||||
|
||||
if (stringEvent.Data == SettingsKey.bed_temperature)
|
||||
if (stringEvent.Data == Printer.Settings.Helpers.ActiveBedTemperatureSetting
|
||||
|| stringEvent.Data == SettingsKey.bed_temperature
|
||||
|| stringEvent.Data == SettingsKey.bed_surface)
|
||||
{
|
||||
if (this.Printing
|
||||
&& this.DetailedPrintingState == DetailedPrintingState.HeatingBed)
|
||||
|
|
@ -394,7 +396,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
|
|||
double goalTemp = this.TargetBedTemperature;
|
||||
if (goalTemp > 0)
|
||||
{
|
||||
var newGoal = printer.Settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
var newGoal = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
this.TargetBedTemperature = newGoal;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ namespace MatterHackers.MatterControl.PrinterControls
|
|||
preHeatButton.Click += (s, e) =>
|
||||
{
|
||||
// turn on the bed
|
||||
printer.Connection.TargetBedTemperature = printer.Settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
printer.Connection.TargetBedTemperature = printer.Settings.Helpers.ActiveBedTemperature;
|
||||
for (int extruderIndex = 0; extruderIndex < hotendCount; extruderIndex++)
|
||||
{
|
||||
printer.Connection.SetTargetHotendTemperature(extruderIndex, printer.Settings.Helpers.ExtruderTargetTemperature(extruderIndex));
|
||||
|
|
|
|||
|
|
@ -678,7 +678,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
};
|
||||
AddDefaultIfNotPresent(preStartGCode, "G21", startGCodeLines, "set units to millimeters");
|
||||
AddDefaultIfNotPresent(preStartGCode, "M107", startGCodeLines, "fan off");
|
||||
double bed_temperature = settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
double bed_temperature = settings.Helpers.ActiveBedTemperature;
|
||||
if (bed_temperature > 0
|
||||
&& settings.GetValue<bool>(SettingsKey.has_heated_bed))
|
||||
{
|
||||
|
|
@ -747,7 +747,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
"; automatic settings after start_gcode"
|
||||
};
|
||||
|
||||
double bed_temperature = settings.GetValue<double>(SettingsKey.bed_temperature);
|
||||
double bed_temperature = settings.Helpers.ActiveBedTemperature;
|
||||
if (bed_temperature > 0
|
||||
&& settings.GetValue<bool>(SettingsKey.has_heated_bed)
|
||||
&& !startGCode.Contains("M109"))
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ Translated:5x5 Mesh
|
|||
English:7 Point Disk
|
||||
Translated:7 Point Disk
|
||||
|
||||
English:A comma separated list of bed names and temperatures (e.g. "Glass,70,PEI,65,Kapton,55"). When selected the bed temperature will be set to the chosen value.
|
||||
Translated:A comma separated list of bed names and temperatures (e.g. "Glass,70,PEI,65,Kapton,55"). When selected the bed temperature will be set to the chosen value.
|
||||
|
||||
English:A component must be selected
|
||||
Translated:A component must be selected
|
||||
|
||||
|
|
@ -256,6 +259,9 @@ Translated:At least 1 part must be selected
|
|||
English:At least 2 parts must be selected
|
||||
Translated:At least 2 parts must be selected
|
||||
|
||||
English:Attempting to connect
|
||||
Translated:Attempting to connect
|
||||
|
||||
English:Attempting to connect again may address the issue.
|
||||
Translated:Attempting to connect again may address the issue.
|
||||
|
||||
|
|
@ -337,6 +343,12 @@ Translated:Bed Shape
|
|||
English:Bed Size
|
||||
Translated:Bed Size
|
||||
|
||||
English:Bed Surface
|
||||
Translated:Bed Surface
|
||||
|
||||
English:Bed Surface Temperatures
|
||||
Translated:Bed Surface Temperatures
|
||||
|
||||
English:Bed Temperature
|
||||
Translated:Bed Temperature
|
||||
|
||||
|
|
@ -367,6 +379,12 @@ Translated:Bevel Steps
|
|||
English:Bevel Top
|
||||
Translated:Bevel Top
|
||||
|
||||
English:Blue Tape
|
||||
Translated:Blue Tape
|
||||
|
||||
English:Blue Tape Bed Temperature
|
||||
Translated:Blue Tape Bed Temperature
|
||||
|
||||
English:Bottom Inset
|
||||
Translated:Bottom Inset
|
||||
|
||||
|
|
@ -391,6 +409,12 @@ Translated:Brim Extruder
|
|||
English:Build Height
|
||||
Translated:Build Height
|
||||
|
||||
English:BuildTak
|
||||
Translated:BuildTak
|
||||
|
||||
English:BuildTak Bed Temperature
|
||||
Translated:BuildTak Bed Temperature
|
||||
|
||||
English:Calculate and transmit a standard rep-rap checksum for all commands.
|
||||
Translated:Calculate and transmit a standard rep-rap checksum for all commands.
|
||||
|
||||
|
|
@ -463,6 +487,9 @@ Translated:Check For Update
|
|||
English:Checking Cloud Services
|
||||
Translated:Checking Cloud Services
|
||||
|
||||
English:Checking with webservice
|
||||
Translated:Checking with webservice
|
||||
|
||||
English:Checks before each print that the layer height is less than the nozzle diameter (important for filament adhesion)
|
||||
Translated:Checks before each print that the layer height is less than the nozzle diameter (important for filament adhesion)
|
||||
|
||||
|
|
@ -574,6 +601,9 @@ Translated:Connect to the currently selected printer
|
|||
English:Connect to your printer to continue
|
||||
Translated:Connect to your printer to continue
|
||||
|
||||
English:Connect your printer to check for firmware updates.
|
||||
Translated:Connect your printer to check for firmware updates.
|
||||
|
||||
English:Connected
|
||||
Translated:Connected
|
||||
|
||||
|
|
@ -583,6 +613,9 @@ Translated:Connected to Emulator
|
|||
English:Connection Failed
|
||||
Translated:Connection Failed
|
||||
|
||||
English:Connection succeeded
|
||||
Translated:Connection succeeded
|
||||
|
||||
English:Continue
|
||||
Translated:Continue
|
||||
|
||||
|
|
@ -709,6 +742,9 @@ Translated:Cube
|
|||
English:Current Default
|
||||
Translated:Current Default
|
||||
|
||||
English:Currently available serial ports.
|
||||
Translated:Currently available serial ports.
|
||||
|
||||
English:Curve
|
||||
Translated:Curve
|
||||
|
||||
|
|
@ -778,6 +814,9 @@ Translated:Detect gaps between perimeters that are too thin to fill with normal
|
|||
English:Detect perimeters that cross over themselves and combine them.
|
||||
Translated:Detect perimeters that cross over themselves and combine them.
|
||||
|
||||
English:Detecting device firmware...
|
||||
Translated:Detecting device firmware...
|
||||
|
||||
English:Detects sections of the model that would be too thin to print and expands them to make them printable.
|
||||
Translated:Detects sections of the model that would be too thin to print and expands them to make them printable.
|
||||
|
||||
|
|
@ -841,6 +880,9 @@ Translated:Downloading
|
|||
English:Downloads
|
||||
Translated:Downloads
|
||||
|
||||
English:Dual Contouring
|
||||
Translated:Dual Contouring
|
||||
|
||||
English:Dual Extrusion Align
|
||||
Translated:Dual Extrusion Align
|
||||
|
||||
|
|
@ -1192,6 +1234,12 @@ Translated:Furthest Back
|
|||
English:g/cm³
|
||||
Translated:g/cm³
|
||||
|
||||
English:Garolite
|
||||
Translated:Garolite
|
||||
|
||||
English:Garolite Bed Temperature
|
||||
Translated:Garolite Bed Temperature
|
||||
|
||||
English:G-Code
|
||||
Translated:G-Code
|
||||
|
||||
|
|
@ -1255,6 +1303,12 @@ Translated:Generates an outline around the support material to improve strength
|
|||
English:GitHub Personal Access Token
|
||||
Translated:GitHub Personal Access Token
|
||||
|
||||
English:Glass
|
||||
Translated:Glass
|
||||
|
||||
English:Glass Bed Temperature
|
||||
Translated:Glass Bed Temperature
|
||||
|
||||
English:Good
|
||||
Translated:Good
|
||||
|
||||
|
|
@ -1309,6 +1363,9 @@ Translated:Has Power Control
|
|||
English:Has SD Card Reader
|
||||
Translated:Has SD Card Reader
|
||||
|
||||
English:Has Swappable Bed
|
||||
Translated:Has Swappable Bed
|
||||
|
||||
English:Has Z Probe
|
||||
Translated:Has Z Probe
|
||||
|
||||
|
|
@ -1564,6 +1621,12 @@ Translated:Iterations
|
|||
English:Jerk Velocity
|
||||
Translated:Jerk Velocity
|
||||
|
||||
English:Kapton
|
||||
Translated:Kapton
|
||||
|
||||
English:Kapton Bed Temperature
|
||||
Translated:Kapton Bed Temperature
|
||||
|
||||
English:Keys
|
||||
Translated:Keys
|
||||
|
||||
|
|
@ -1759,6 +1822,9 @@ Translated:Make Selection
|
|||
English:Make the first layer on top of partial infill use the speed and fan for bridging.
|
||||
Translated:Make the first layer on top of partial infill use the speed and fan for bridging.
|
||||
|
||||
English:Manual Z Calibration complete.
|
||||
Translated:Manual Z Calibration complete.
|
||||
|
||||
English:Manually Configure Connection
|
||||
Translated:Manually Configure Connection
|
||||
|
||||
|
|
@ -1813,6 +1879,9 @@ Translated:Max Velocity
|
|||
English:Maximum Speed
|
||||
Translated:Maximum Speed
|
||||
|
||||
English:Measure the nozzle offset
|
||||
Translated:Measure the nozzle offset
|
||||
|
||||
English:Measure Tool
|
||||
Translated:Measure Tool
|
||||
|
||||
|
|
@ -2215,6 +2284,12 @@ Translated:Pause G-Code
|
|||
English:Pause Print
|
||||
Translated:Pause Print
|
||||
|
||||
English:PEI
|
||||
Translated:PEI
|
||||
|
||||
English:PEI Bed Temperature
|
||||
Translated:PEI Bed Temperature
|
||||
|
||||
English:Percentage of
|
||||
Translated:Percentage of
|
||||
|
||||
|
|
@ -2311,6 +2386,12 @@ Translated:Point Size
|
|||
English:Polygons
|
||||
Translated:Polygons
|
||||
|
||||
English:Polypropylene
|
||||
Translated:Polypropylene
|
||||
|
||||
English:Polypropylene Bed Temperature
|
||||
Translated:Polypropylene Bed Temperature
|
||||
|
||||
English:Port In Use
|
||||
Translated:Port In Use
|
||||
|
||||
|
|
@ -2386,6 +2467,9 @@ Translated:Print Leveling is an optional feature for this printer that can help
|
|||
English:Print Leveling measures the plane of the bed.
|
||||
Translated:Print Leveling measures the plane of the bed.
|
||||
|
||||
English:Print Leveling will run automatically at the start of each print.
|
||||
Translated:Print Leveling will run automatically at the start of each print.
|
||||
|
||||
English:Print Leveling Wizard
|
||||
Translated:Print Leveling Wizard
|
||||
|
||||
|
|
@ -2476,6 +2560,9 @@ Translated:Pro Tools
|
|||
English:Probe
|
||||
Translated:Probe
|
||||
|
||||
English:Probe at bed center
|
||||
Translated:Probe at bed center
|
||||
|
||||
English:Probe Offset
|
||||
Translated:Probe Offset
|
||||
|
||||
|
|
@ -2572,6 +2659,9 @@ Translated:Reduced Width
|
|||
English:Re-enter Password
|
||||
Translated:Re-enter Password
|
||||
|
||||
English:Refresh
|
||||
Translated:Refresh
|
||||
|
||||
English:Refresh Folder
|
||||
Translated:Refresh Folder
|
||||
|
||||
|
|
@ -2599,6 +2689,9 @@ Translated:Remove Mode
|
|||
English:Remove Subtract Objects
|
||||
Translated:Remove Subtract Objects
|
||||
|
||||
English:Remove the paper
|
||||
Translated:Remove the paper
|
||||
|
||||
English:Rename
|
||||
Translated:Rename
|
||||
|
||||
|
|
@ -2788,6 +2881,9 @@ Translated:s
|
|||
English:Sailfish Communication
|
||||
Translated:Sailfish Communication
|
||||
|
||||
English:Sample the bed center position to determine the probe distance to the bed
|
||||
Translated:Sample the bed center position to determine the probe distance to the bed
|
||||
|
||||
English:Save
|
||||
Translated:Save
|
||||
|
||||
|
|
@ -2902,6 +2998,9 @@ Translated:Sets MatterControl to attempt to connect to a printer over the networ
|
|||
English:Sets MatterControl to use s3g communication method. (You must disconnect and reconnect for this to take effect)
|
||||
Translated:Sets MatterControl to use s3g communication method. (You must disconnect and reconnect for this to take effect)
|
||||
|
||||
English:Setting Name
|
||||
Translated:Setting Name
|
||||
|
||||
English:Settings
|
||||
Translated:Settings
|
||||
|
||||
|
|
@ -3073,6 +3172,9 @@ Translated:Slice Engine
|
|||
English:Slice Height
|
||||
Translated:Slice Height
|
||||
|
||||
English:Slice Presets Editor
|
||||
Translated:Slice Presets Editor
|
||||
|
||||
English:Slice Settings
|
||||
Translated:Slice Settings
|
||||
|
||||
|
|
@ -3325,6 +3427,9 @@ Translated:The color of the first material.
|
|||
English:The color of the second material (extruder 2).
|
||||
Translated:The color of the second material (extruder 2).
|
||||
|
||||
English:The current bed surfaces that the printer is using. This is used to set the correct bed temperature for a given material.
|
||||
Translated:The current bed surfaces that the printer is using. This is used to set the correct bed temperature for a given material.
|
||||
|
||||
English:The date this file was originally created.
|
||||
Translated:The date this file was originally created.
|
||||
|
||||
|
|
@ -3556,6 +3661,9 @@ Translated:The semaphore timeout period has expired.
|
|||
English:The serial port communication speed of the printers firmware.
|
||||
Translated:The serial port communication speed of the printers firmware.
|
||||
|
||||
English:The 'Serial Port' section lists all available serial\nports on your device. Changing which USB port the printer\nis connected to may change the associated serial port.\n\nTip: If you are uncertain, unplug/plug in your printer\nand hit refresh. The new port that appears should be\nyour printer.
|
||||
Translated:The 'Serial Port' section lists all available serial\nports on your device. Changing which USB port the printer\nis connected to may change the associated serial port.\n\nTip: If you are uncertain, unplug/plug in your printer\nand hit refresh. The new port that appears should be\nyour printer.
|
||||
|
||||
English:The serial port to use while connecting to this printer.
|
||||
Translated:The serial port to use while connecting to this printer.
|
||||
|
||||
|
|
@ -3619,6 +3727,45 @@ Translated:The target temperature the extruder will attempt to reach during the
|
|||
English:The temperature at which the extruder will wipe the nozzle, as specified by Custom G-Code.
|
||||
Translated:The temperature at which the extruder will wipe the nozzle, as specified by Custom G-Code.
|
||||
|
||||
English:The temperature to print when the bed is coverd in kapton tape. Set to 0 to disable.
|
||||
Translated:The temperature to print when the bed is coverd in kapton tape. Set to 0 to disable.
|
||||
|
||||
English:The temperature to print when the bed is coverd in kapton tape. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is coverd in kapton tape. Set to 0 to use default.
|
||||
|
||||
English:The temperature to print when the bed is coverd with blue tape. Set to 0 to disable.
|
||||
Translated:The temperature to print when the bed is coverd with blue tape. Set to 0 to disable.
|
||||
|
||||
English:The temperature to print when the bed is coverd with blue tape. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is coverd with blue tape. Set to 0 to use default.
|
||||
|
||||
English:The temperature to print when the bed is polypropylene. Set to 0 to disable.
|
||||
Translated:The temperature to print when the bed is polypropylene. Set to 0 to disable.
|
||||
|
||||
English:The temperature to print when the bed is polypropylene. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is polypropylene. Set to 0 to use default.
|
||||
|
||||
English:The temperature to print when the bed is using BuildTak. Set to 0 to disable.
|
||||
Translated:The temperature to print when the bed is using BuildTak. Set to 0 to disable.
|
||||
|
||||
English:The temperature to print when the bed is using BuildTak. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is using BuildTak. Set to 0 to use default.
|
||||
|
||||
English:The temperature to print when the bed is using garolite. Set to 0 to disable.
|
||||
Translated:The temperature to print when the bed is using garolite. Set to 0 to disable.
|
||||
|
||||
English:The temperature to print when the bed is using garolite. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is using garolite. Set to 0 to use default.
|
||||
|
||||
English:The temperature to print when the bed is using glass. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is using glass. Set to 0 to use default.
|
||||
|
||||
English:The temperature to print when the bed is using PEI. Set to 0 to disable.
|
||||
Translated:The temperature to print when the bed is using PEI. Set to 0 to disable.
|
||||
|
||||
English:The temperature to print when the bed is using PEI. Set to 0 to use default.
|
||||
Translated:The temperature to print when the bed is using PEI. Set to 0 to use default.
|
||||
|
||||
English:The temperature to which the bed will be set for the duration of the print. Set to 0 to disable.
|
||||
Translated:The temperature to which the bed will be set for the duration of the print. Set to 0 to disable.
|
||||
|
||||
|
|
@ -3682,6 +3829,9 @@ Translated:This is the name of your printer that will be displayed in the choose
|
|||
English:This is used to increase the number of downloads allowed when browsing GitHub repositories
|
||||
Translated:This is used to increase the number of downloads allowed when browsing GitHub repositories
|
||||
|
||||
English:This should be checked if the printer supports multiple bed surfaces and the bed temperature for the different surfaces needs to vary.
|
||||
Translated:This should be checked if the printer supports multiple bed surfaces and the bed temperature for the different surfaces needs to vary.
|
||||
|
||||
English:This will ensure that no filament is stuck to your nozzle.
|
||||
Translated:This will ensure that no filament is stuck to your nozzle.
|
||||
|
||||
|
|
@ -4024,6 +4174,9 @@ Translated:What to do when there is not a good place to hide the seam.
|
|||
English:What went wrong?
|
||||
Translated:What went wrong?
|
||||
|
||||
English:What's this?
|
||||
Translated:What's this?
|
||||
|
||||
English:wheel
|
||||
Translated:wheel
|
||||
|
||||
|
|
@ -4054,6 +4207,9 @@ Translated:Wipe Shield Distance
|
|||
English:Wipe Tower Size
|
||||
Translated:Wipe Tower Size
|
||||
|
||||
English:Wizard
|
||||
Translated:Wizard
|
||||
|
||||
English:Write Filter
|
||||
Translated:Write Filter
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit b307efd64007c2bf6ed9d1d1b7b2605e0c80eb38
|
||||
Subproject commit 0a76ef80eeab6ec0f17ef3e23c81e635434e2f10
|
||||
Loading…
Add table
Add a link
Reference in a new issue