M144 opt. H parameter (default=0) for single-extr. printers



  • Hi duet-folks,

    maybe I have overseen something and you can help me out, otherwise my firmware-wish might (at least to me) make sense, we will see:

    Usecase:
    Several diffrent company printers (diffrent formost in size and gantry-style) BUT all have only 1 extruder and only 1 heatplate (for now)

    -> We print several diffrent materials depending on the technical requirement (e.g. is it for High-temperatur or is it for liquid and if so what liquid, etc. pp.)
    -> So though all of them only have 1 extruders we change filament frequently

    So I ask myself how to, in my filament-config.g, that is of course also called within the general config.g in the startup to have the correct "active"-vals, I can "set" but without to go directly to the temperatures:

    ; Tool setting:
    ;G10 P0 S220 R60									; set standby and active temperatures for tool 1
    G10 P0 S220	R0 								; set standby and active temperatures for tool 1 -> since standby is used in pause (since off cancels the vals within active & standby) we set it for now to 0°C
    ;M563 P0 S"filament-name"				;define a tool
    
    ; constrain HEAT-PLATE temp
    ;M140 S90 R60							; heat-plate, set ca. 90°C for PETG, R=standby-temp
    M140 S90 R0							; heat-plate, set ca. 90°C for PETG, R=standby-temp -> since we use "standby" in pause since "off" for now cancels all vals we set it as 0
    ;M140 S-273								; set active temp to abs min.
    
    ;after setting active & standby temps, put tool-state "Standby"/"OFF" all tools, to avoid temperature-raid:
    M400
    ;"STANDBY":
    ;heaterX standby currently not supported?	;
    M144 S0								; put Heatplate to S 0=standby/1=active
    ;"OFF":
    ;M0
    ;M0 H1
    ;M1
    ;DESELECT TOOLS (Never the heatplate, only e.g. Hotends, etc.):
    T-1 P0 								; deselect all tools but don't run any tool change macro files -> puts last active tools to "STANDBY"
    M400
    

    BUT -> Instead of putting the extruder via "T-1 P0" into "STANDBY" by DESELECTING THE WHOLE TOOL
    (now there comes the firmware-wish)
    I would rather have within M144 an optional H parameter that defaults to 0 (what would by default equal to H0 if omitted/not-specified as the heatplate-heater, to keep it backwards compatible) but also be able to only and specifically put e.g. my extruder-heater H1 to standby via using

    M144 H1 S0
    

    So that no tool-fiddling is needed to somehow get to standby

    BECAUSE then I could delete or at least keep empty ALL the Tool-related files like "tfree0.g","tpost0.g" & "Tpre0.g" because currently I do not really need them but reselct the tool that was deselected just because I cannot figure out how to put the extruder via commandline to "Standby" without using "T-1 P0"

    Every help appreciated!
    Regards,
    Lucas



  • @LB I'm not exactly sure that I understand your use case. But I don't use any of the tool change macros. T-1 will turn a tool off - that's not exactly the same as setting it's standby temperature. To set the active and standby temperatures I use G10 https://duet3d.dozuki.com/Wiki/Gcode#Section_G10_Tool_Offset_and_Temperature_Setting

    Does that help?



  • @deckingman said in M144 opt. H parameter (default=0) for single-extr. printers:

    @LB I'm not exactly sure that I understand your use case. But I don't use any of the tool change macros. T-1 will turn a tool off - that's not exactly the same as setting it's standby temperature. To set the active and standby temperatures I use G10 https://duet3d.dozuki.com/Wiki/Gcode#Section_G10_Tool_Offset_and_Temperature_Setting

    Does that help?

    Thanks for the fast reply!

    Exactly: It is not the same, so far I understand.

    My question is the opposite of what you formulated, exactly: How to put the one and only extruder to standby without having to fiddle with the concept of tools via command line (not using dwc or paneldue to be able to put it as code in some macros)?

    With the heatplate it is simple to set a temperature and set it to either active or standby:

    M140 S90 R60 ;put whatever you want -> ALSO makes it active
    M144 S0								; put Heatplate to S 0=standby/1=active
    

    With tools that is more complicated, so I just ask myself if I only have 1 extruder why I have to deal with the concept of tools in the first place?

    Maybe it is me -> I have a hard time understanding how to:

    • put my extruder to standby without deselecting the tool
    • how to put new active & standby temperatures without making the heater activer or standby

    I will re-read your link - maybe I went over it too fast 😉


  • administrators

    I don't understand the use case either. Why don't you want to deselect the tool when you put it into standby?



  • @dc42 said in M144 opt. H parameter (default=0) for single-extr. printers:

    I don't understand the use case either. Why don't you want to deselect the tool when you put it into standby?

    Thanks for the fast reply!

    I guess you could call it lazyness or philosophical:
    The concept of tools might be really needed if one would have more then one tool. With single-heatplate single-extruder printers, I just ask myself, why I cannot avoid everything related to "tools"?

    With that optional H paramter within M144 I think I could throw out all tool-related stuff everywhere, but in the config.g, where it simply selects the one and only tool 0 in the end of it, and that´s it. -> Would only need tools on those printers that have more then one

    (hm - I know I know - a lot of ideas that I post here - )

    Is there any other way to call via command-line the extruderheater (H1) to standby without having to deselect the whole tool?

    Edit: I have always asked myself what is DWC sending to the mainboard when I click on the picture to toggle through the states to go from "active" to "standby" (and finally "off" until it starts again)
    5da46ce1-5012-46b2-80de-b0f296804c5b-grafik.png
    ?

    Edit-edit: To put it straight, by my firmware-wish, I could get rid of all tool-related macros like "tfree0.g","tpost0.g" & "tpre0.g"



  • Maybe you close this. This is maybe too far off.

    I just cannot wrap my head around why I can toggle between "active" & "standby" for the heatplate but do not find any information to do the same for the tool (without de-/selecting it)

    I think I rather go to sleep now -> Next morning the world might look better already 🙂


  • Moderator

    It's the generalized nature of RRF that gives it its power and flexibility.



  • @Phaedrux

    Thanks! Yep, guess there is some truth in that statement.
    Could you please close this post -> Will open a new "help" post in the "general" field to see how far it get´s me 🙂
    Also my intent was to get things "simpler", having more and more option is a difficult way to contribute to the KeepItSimple-principle. Too many new stuff: Variables, conditions 😉 Guess next should be to contribute to the documentation of all that



  • @dc42

    I thought about it and I guess I settled with the idea that for the single-extruder I will be fine by just setting the active temp from 0 to whatsneeded and just ignore to use standby (or do I just do not get how to access standby-temperature without de-/selecting a tool?)


  • Moderator

    standby is still useful in a single tool printer. like lowering the temp on pause.



  • @Phaedrux

    Thanks for replying.

    I just do not get what is the G-/M-code for doing it (not using DWC or PanelDue)?


  • Moderator



  • @Phaedrux

    Ah, but then I am again back fiddling with Tools, which I wanted to avoid to fiddle with as long as the printer is single-extruder. Thanks anyway. I guess currently there is no way to toggle between active/standby temps without using Tools. Thanks so much for tryin to help me here! There are other things more important -> let´s close this post. I do not wanna "euch auf den Keks gehen" as we say in Deutsch (guess it translates to something like: I do not wanna walk over your cookies or so if that makes any sense)


  • Moderator

    The paradigm is tools. That's just the basis of how it all works.

    Not sure why it's such a hang up though.

    If Tn is used to select tool n but that tool is already active, the command does nothing. Otherwise, the sequence followed is:

    If another tool is already selected and all axes have been homed, run macro tfree#.g where # is the number of that tool
    If another tool is already selected, deselect it and set its heaters to their standby temperatures (as defined by the R parameter in the most recent G10 command for that tool)
    If all axes have been homed, run macro tpre#.g where # is the number of the new tool
    Set the new tool to its operating temperatures specified by the S parameter in the most recent G10 command for that tool
    If all axes have been homed, run macro tpost#.g where # is the number of the new tool. Typically this file would contain at least a M116 command to wait for its temperatures to stabilise.
    Apply any X, Y, Z offset for the new tool specified by G10
    Use the new tool.


  • Moderator

    @LB said in M144 opt. H parameter (default=0) for single-extr. printers:

    I do not wanna walk over your cookies

    I get the sentiment. 😉



  • Hi forum-member, if you´ve read that far, you can continue for ongoing forum-discussion here: https://forum.duet3d.com/topic/21649/command-to-turn-heaters-active-standby-off


Log in to reply