Duet Web Control 2.1.1 released
-
I'm happy to announce the release of DWC 2.1.1 with a couple of bug fixes and full support for the new object model that RepRapFirmware provides. It can be obtained here: https://github.com/chrishamm/DuetWebControl/releases/tag/2.1.1
Please use this thread to report issues if you encounter any DWC-related problems.
Users of DSF (Duet 3 + Raspberry Pi) should wait until it is made available from the Duet package feeds. Testers using the unstable package feed can install it by performing a regular system update.
-
Just updated to DWC 2.1.1 and found out that the "Turn everything iff" - Button is not working. The following error is shown in the browser console.
vue.runtime.esm.js:1888 TypeError: Cannot read property 'forEach' of undefined at ToolsPanel.vue:407 at c (runtime.js:45) at Generator._invoke (runtime.js:274) at Generator.forEach.e.<computed> [as next] (runtime.js:97) at Dt (asyncToGenerator.js:3) at o (asyncToGenerator.js:25) at asyncToGenerator.js:32 at new Promise (<anonymous>) at asyncToGenerator.js:21 at o.turnEverythingOff (ToolsPanel.vue:399)
Board: Duet WiFi 1.02 or later (duetwifi102)
Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 3.0 (2020-01-03b3)
Duet WiFi Server Version: 1.23Regards,
Martin -
I'm not familiar with the object model, so I don't know if this is a bug with DWC 2.1.1 or a bug with RRF 3.0.1RC6 (on the duet3 board.)
My part cooling fan is configured as:
M950 F0 C"out3" Q15000
M106 P0 C"berd-air" S0 H-1 L0.25 X0.6 B0The "X" parameter seems to be breaking something with DWC. It specifies that the max speed of the fan is 60%, and RRF (properly) modifies any S parameter to fit within that value. (So S128 would set an actual speed of 30%, S255 would set an actual speed of 60%)
When the fan is turned on to "100%" (M106 S255 - which is actually 60%), my PanelDue properly shows that the fan is at 100% and I can change the value (which is properly scaled as described above.) However, when the fan set to 100% (S255), DWC's fan slider is showing 60%, and won't allow me to change the value. Neither the slider nor +/- buttons work. If gcode sets the fan to half power, the PanelDue properly shows "50%", but PanelDue is showing 30%.
If it helps, M409 k"fans" has the following (partial) result when the fan is set to 100% (but limited via a X0.6 param)
{"actualValue":0.60,"blip":0,"max":0.60,"min":0.25,"name":"berd-air","requestedValue":1.00,"rpm":-1,"thermostatic":{"heaters":[]}}
So, my guess is that DWC is displaying the 'actualValue' instead of the 'requestedValue'. As for why I can't change the value from DWC, I have no clue.
This worked properly with DWC 2.0.7.
-
@chrishamm
I noticed that M122 is broken in the Console. If I type a M122 nothing is displayed.On 2.0.7 it is working fine.
-
I'm having a problem with the parts fan slider not being displayed on the Status page.
I'm using a Berd-air pump as a parts fan connected to the E1 heater output. Previous versions showed the fan slider on the Status page. With with 2.1.1 it is no longer displayed.
The config.sys line is:
M950 F0 C"E1_HEAT" Q15000However, if I change M950 in config.sys to:
M950 F0 C"FAN3" Q15000
the fan slider is displayed correctly in 2.1.1 -
@insertnamehere I had this also on my duet 2. I now upgraded to RC6 and it is working fine
-
I'm another with a fan thing happening. Using the laser/servo pwm with a blower on a Duet 3 for part cooling and the blower works as intended, but displays as 0 speed in DWC during a print.
M950 F1 C"out9" Q25000 M106 P1 C"Partcooling" S0 H-1 B0 X0.3
-
With regard to the fan being missing form the DWC, I too found that initially.
However it was simply hidden and had to be re-selected for display.
It functions normally.
See progression shots.
Initial install
Click on "Change visibility"
Voila
-
@OwenD Unfortunately that's not the issue, at least with those of using using slightly odder part cooling.
More information in general for what's happening specifically for me;
When I call a fan name in M106, the slider is in DWC while not printing, but doesn't actually do anything. When printing, the part cooling fan works as it should, but the slider sits at zero unless I touch it (and I do then have control), until the gcode changes the fan setting (at which point the slider stays where I put it and the fan changes to the speed the gcode called for). In this instance, the option for Tool Fan and the same fan as the name I've set in M106 are available.
If I remove the fan name from M106, it is not available while not printing at all (and neither is Tool Fan), but it otherwise functions the same during a print (Tool Fan becomes available).
If I run M106 P1 S0.5 while not in a print, it does work.
edit:
After updating to RC6, the functioning slider is back while not printing, but it's displaying the pre- X value set in M106. In my case, X0.3 and setting the fan slider at 50% will cause it to snap back to 15. Using the + and - buttons is sort of fruitless unless you click really fast. -
@smoki3 said in Duet Web Control 2.1.1 released:
@insertnamehere I had this also on my duet 2. I now upgraded to RC6 and it is working fine
Thanks, I just needed to update to RC6 and it works now.
-
@chrishamm
Found this this morning.'Turn Everything Off' does not do anything.
FIRMWARE_NAME: RepRapFirmware for Duet 2 Maestro FIRMWARE_VERSION: 3.0 ELECTRONICS: Duet Maestro 1.0 FIRMWARE_DATE: 2020-01-03b3
-
-
Ever since RC6 I have been getting disconnects and the following error from "Journalctl -f"
Apr 06 14:34:56 duet3 DuetControlServer[2170]: at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 140
Apr 06 14:34:56 duet3 DuetControlServer[2170]: [info] Aux: Running code from firmware 'M20 S2 P0:/macros' on channel Aux
Apr 06 14:34:57 duet3 DuetWebServer[551]: info: DuetWebServer.Controllers.WebSocketController[0]
Apr 06 14:34:57 duet3 DuetWebServer[551]: WebSocket disconnected from ::ffff:127.0.0.1:35260
Apr 06 14:34:57 duet3 DuetControlServer[2170]: [fatal] Update task faulted
Apr 06 14:34:57 duet3 DuetControlServer[2170]: System.ArgumentException: Requested value 'fault' was not found.
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Enum.TryParseByName(RuntimeType enumType, String originalValueString, ReadOnlySpan1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result) Apr 06 14:34:57 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2] Apr 06 14:34:57 duet3 DuetWebServer[551]: Executed action DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer) in 535.3719ms ^CApr 06 14:34:57 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Apr 06 14:34:57 duet3 DuetWebServer[551]: Executed endpoint 'DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer)' Apr 06 14:34:57 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Apr 06 14:34:57 duet3 DuetWebServer[551]: Request finished in 540.9393ms 101 Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Enum.TryParseInt32Enum(RuntimeType enumType, String originalValueString, ReadOnlySpan
1 value, Int32 minInclusive, Int32 maxInclusive, Boolean ignoreCase, Boolean throwOnFailure, TypeCode type, Int32& result)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetAPI.Utility.JsonLowerCaseStringEnumConverter.JsonLowerCaseStringEnumConverterInner1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Utility/JsonLowerCaseStringEnumConverter.cs:line 62 Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Text.Json.JsonPropertyInfoNullable
2.OnRead(ReadStack& state, Utf8JsonReader& reader)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 282
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 227
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 264
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 248
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 134
Apr 06 14:34:57 duet3 DuetControlServer[2170]: at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 140 -
Apr 06 14:59:45 duet3 DuetControlServer[7457]: Duet Control Server v1.3.1
Apr 06 14:59:45 duet3 DuetControlServer[7457]: Written by Christian Hammacher for Duet3D
Apr 06 14:59:45 duet3 DuetControlServer[7457]: Licensed under the terms of the GNU Public License Version 3
Apr 06 14:59:46 duet3 DuetControlServer[7457]: [info] Settings loaded
Apr 06 14:59:46 duet3 DuetControlServer[7457]: [info] Environment initialized
Apr 06 14:59:46 duet3 DuetControlServer[7457]: [info] Connection to Duet established
Apr 06 14:59:46 duet3 DuetControlServer[7457]: [info] IPC socket created at /var/run/dsf/dcs.sock
Apr 06 14:59:47 duet3 DuetControlServer[7457]: [info] Aux: Running code from firmware 'M20 S2 P0:/macros' on channel Aux
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Apr 06 14:59:47 duet3 DuetWebServer[551]: Request starting HTTP/1.1 GET http://duet3/machine
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
Apr 06 14:59:47 duet3 DuetWebServer[551]: Executing endpoint 'DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer)'
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3]
Apr 06 14:59:47 duet3 DuetWebServer[551]: Route matched with {action = "Get", controller = "WebSocket"}. Executing controller action with signature System.Threading.Tasks.Task Get() on controller DuetWebServer.Controllers.WebSocketController (DuetWebServer).
Apr 06 14:59:47 duet3 DuetControlServer[7457]: [fatal] Abnormal program termination
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: DuetWebServer.Controllers.WebSocketController[0]
Apr 06 14:59:47 duet3 DuetWebServer[551]: WebSocket connected from ::ffff:127.0.0.1:36822
Apr 06 14:59:47 duet3 DuetControlServer[7457]: [fatal] Update task faulted
Apr 06 14:59:47 duet3 DuetControlServer[7457]: System.ArgumentException: Requested value 'fault' was not found.
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.TryParseByName(RuntimeType enumType, String originalValueString, ReadOnlySpan1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result) Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.TryParseInt32Enum(RuntimeType enumType, String originalValueString, ReadOnlySpan
1 value, Int32 minInclusive, Int32 maxInclusive, Boolean ignoreCase, Boolean throwOnFailure, TypeCode type, Int32& result)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Utility.JsonLowerCaseStringEnumConverter.JsonLowerCaseStringEnumConverterInner1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Utility/JsonLowerCaseStringEnumConverter.cs:line 62 Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonPropertyInfoNullable
2.OnRead(ReadStack& state, Utf8JsonReader& reader)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 282
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 227
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 264
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 248
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 134
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 140
Apr 06 14:59:47 duet3 DuetControlServer[7457]: [fatal] Update task faulted
Apr 06 14:59:47 duet3 DuetControlServer[7457]: System.ArgumentException: Requested value 'fault' was not found.
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.TryParseByName(RuntimeType enumType, String originalValueString, ReadOnlySpan1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result) Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.TryParseInt32Enum(RuntimeType enumType, String originalValueString, ReadOnlySpan
1 value, Int32 minInclusive, Int32 maxInclusive, Boolean ignoreCase, Boolean throwOnFailure, TypeCode type, Int32& result)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Utility.JsonLowerCaseStringEnumConverter.JsonLowerCaseStringEnumConverterInner1.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Utility/JsonLowerCaseStringEnumConverter.cs:line 62 Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonPropertyInfoNullable
2.OnRead(ReadStack& state, Utf8JsonReader& reader)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options)
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 282
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 227
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 264
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 248
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 134
Apr 06 14:59:47 duet3 DuetControlServer[7457]: at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 140
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: DuetWebServer.Controllers.WebSocketController[0]
Apr 06 14:59:47 duet3 DuetWebServer[551]: WebSocket disconnected from ::ffff:127.0.0.1:36822
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]
Apr 06 14:59:47 duet3 DuetWebServer[551]: Executed action DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer) in 374.0239ms
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
Apr 06 14:59:47 duet3 DuetWebServer[551]: Executed endpoint 'DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer)'
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Apr 06 14:59:47 duet3 DuetWebServer[551]: Request finished in 374.9353ms 101
Apr 06 14:59:47 duet3 DuetWebServer[551]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] -
@chrishamm And fan sliders do not work or indicate current speed.
Sorry. -
Version 2.0.7 ran fine on v0.6 and v0.8.5 boards. Is version 2.1+ dependant on using RepRapFirmware 2+ or 3+?
-
Its dependant on RRF3.01+ as it uses the object model
-
@jay_s_uk cheers, that's what I expected but I wasn't sure if it used the object model it available, or exclusively. From what you say it is the latter.
-
@PaulHew said in Duet Web Control 2.1.1 released:
@chrishamm
Found this this morning.'Turn Everything Off' does not do anything.
FIRMWARE_NAME: RepRapFirmware for Duet 2 Maestro FIRMWARE_VERSION: 3.0 ELECTRONICS: Duet Maestro 1.0 FIRMWARE_DATE: 2020-01-03b3
Also strange is that with a dual set-up the loaded filament is moved from T1 to T0 and cannot be unloaded.
(To be clear, T1 has a filament loaded, I do a pause, then immediately a cancel and suddenly T0 is loaded with T1 filament and that cannot be loaded to T1 again and T0 does not what to unload it. Temp settings is still on as espected on T1 (old temp) and t0 also as before...)I had to delete the file "filaments.csv" and do a "EMERGENCY STOP" to get T0 to relese the T1 filament...
I think this happen when I cancel a print...
Which I do a lot since I try to get my filament to stick.
Would be nice to be able to cancel directly and not need to pause and then cancel...This time I do not see the "filament.csv" so I pray to god that a power on of cycle get my printer back...
I did... the file was not shown until I made a power on/off cycle.
That would be nice if it did.
I also do not understand why the file "filament.csv" kept after a power cycle? At least a forced unload feature would be useful... -
For some reason I cannot change the wording mistake I did above (someServer.com identified post as spam)
So a power OFF/ON did work...