Wait while heating vs heating/cooling for extruder
-
@Merlin246 whats wrong with M116? I use that when heating a tool using M568
-
@Merlin246 AFAIK there is no equivalent to the M190 "S" parameter to wait only when heating (but not when cooling) for M116. I believe that is because M116 can be specified for a specific heater (i.e. the one you want to heat) so these terms are less useful for M116. Please can you describe your use case for an equivalent to the M190 "S" parameter for M116.
-
I don't if this helps as the OP's specific use case is unclear, but I use conditional gcode a lot for this sort of thing.
This is an example that is specific to the hot end heater and no others, so it might fit the bill .........
while sensors.analog[1].lastReading < 120 M291 P"Waiting for hot end to pre-heat" R"Pre-Print Macro" echo "Hot end", sensors.analog[1].lastReading G4 S5
In this case, I'm waiting for the hot end to get equal to or above 120 deg C before proceeding. The reason for using it as opposed to M116 or M109 is that I only want to ensure that any blobs of plastic have softened before probing the bed with the nozzle. So I don't care if the hot end is already above 120 deg C. If it happened to be at print temperature (or anything more than 120 deg C) then M116 or M109 would wait for it to cool, which is an unnecessary waste of time - especially as I'm likely to want to fully heat the nozzle to print temperature shortly after this homing (probing) step.
-
@T3P3Tony the use case is admittedly incredibly niche.
When heating up V6/volcano style heaters (metal block, heater cartridge, temp sensor cartridge), they tend to heat quite slowly, but also cool quite slowly. I run a ToolChanger, so sometimes I will stop a print for whatever reason and get another one going immediately after and the hotend will be hotter than it's standby temperature, if so I don't want to wait for the hotend to cool down and then heat back up again as this can take what seems like ages. It would be useful to have a M190 "S" parameter for the initial heatup so the system doesn't wait for hotends to cool down but only heatup to standby temperature.
-
@Merlin246 you can just not wait for the inactive hotend that's cooling. use M116 to wait only for the tool you want to use?
-
@Merlin246 To elaborate on what both @T3P3Tony and @jay_s_uk have said, you can use M116 Pn (or Hn) to specify a specific tool or heater when using M116. So you don't have to wait for the inactive tool to cool. Or you can use something like the conditional gcode I posted above.
-
@T3P3Tony this is for the case where I'm waiting for the actual hotend that is going to be used. For instance if I'm just using T0 for the print (no toolchanging).
- T0 starts at 250C as I just finished a print, or had to stop it for some reason, whatever it is--the tool is hot.
- Start code waits for T0 to reach 180C, which is it's standby temperature (as well as other hotends if used, and bed).
- Homing
- Toolhead goes to pickup T0
- Printer waits for T0 to heat back up to 250C
It would be nice if it was possible to recognize if the tool was already at or above the standby temperature so it didn't wait to cooldown just to heat back up again.
I'm going to try using conditional gcode for this, but it would be nice if it was just an alternative parameter in the M116 gcode.
-
@Merlin246 can you not change the start gcode to only wait for the hotend that you are about to print with and ignore the others. Something like M116 P{state.currentTool}
-
@T3P3Tony yes this is what I'm going to do, but would just be easier if it had a gcode command instead of using conditional code.
-
@Merlin246 ok agreed, will move this to the firmware wishlist for future considerations.
-