Heater Fault Event Handling while Paused
-
I would like to understand the intended behaviour for heater faults and how best to handle them with the new events system.
I have just upgraded my toolchanger to 3.5b4, and do not have any even macros setup, so everything is just using default behaviours. I am not sure if some of what I am seeting is Beta FW related, or just me needing to better handle things. Running a D3Mini5+ with 4x toolboards and a distribution board
I am occasionally getting heater faults occurring during the toolchange macro when selecting tool T1. These appear with a notification box on the PanelDue and on DWC, but there is no log in the console on either - Is this expected behaviour?
Side note, I believe these faults may be false negatives from 3.5b4 as the heater traces look fine and I have not seen them previously on 3.4.5. They are somewhat sporadic though so it is hard to recreate, and I have been playing around with things so it could be something in my toolchange macros.
I am trying to print a file that was previously sliced for T0 with T1. I do this by pausing the print as soon as it starts printing the skirt, selecting T1, then resuming. The trouble I have had, is that this means the print is already paused when the toolchange macro occurs, so the heater fault occurs when the print is already paused, and no extra fault handling happens. I have tended to hit resume while it's doing the toolchange (so before the fault has occured) , so didn't see the popup. The print then resumed and started okay (because the temp was high enough), but obviously failed soon after as the heater was turned off and in fault mode. I didn't spot this and it carried on failing to extrude for another 15mins til I caught it.
Should this condition be handled in the default behavior (either in the current firmware, or as an enhancement in future)? I would have thought that the printer would pause or trigger the heater-fault if trying to extrude with a faulted tool?
Any thoughts on how best to catch this in the current setup as a workaround? I was thinking of putting some meta commands in resume.g along the lines of 'if current tool is in fault condition, don't resume'. I am not sure however how to stop the resume happening from within resume.g though as my understanding is that the abort command will also cancel the current print? Is ther another meta command I am missing?
I wonder if I might also be better catching it in daemon.g and doing 'if printing and current tool is in fault condition, run pause.g'? I might lose some of the print if this happened, but it might be more 'safe'? -