Pull Request: Fine grained heater control



  • Re: Fine Grained Heater Control

    This discussion's been going on a year and a half now so it's time to resurrect for the third?, fourth? time.
    https://github.com/Duet3D/RepRapFirmware/pull/407

    Enhance M140, M141 and T with heater state controls
    
    * M140, M141
      Added "Q" parameter that takes the following values:
        0: Turn heater off
        1: Set heater to standby
        2: Set heater on
      The default is "2" which mimics the existing the behavior
      of turning the heater on.
    
      Examples:
      M140 H0 S70 R55 Q0  ; Set the active and standby temperatures
                          ; for H0 but do NOT actually turn the heater on.
    
      M140 H0 Q1          ; Set the heater state to standby.
    
      M140 H0 Q0          ; Turn the bed heater OFF without changing
                          ; the previously set active and standby temps.
    
      M140 H0 Q2          ; Turn the heater on using the previously set
                          ; "active" temperature.
    
    * T
      Added "H" and "Q" parameters
      "H" selects which tool heater to apply the state to.
          The numbers start at 0 so H0 refers to the first heater
          assigned to the tool, not the global heater number.
      "Q" sets the heater state as above.
      Using "H" does NOT actually select the tool, it
      only sets the heater state set by "Q"
    
      Example:
      M563 S"FilamentA" P0 D0 H1   ; Define Tool 0 with H1
      M563 S"FilamentB" P1 D0 H2:3 ; Define Tool 1 with H2 and H3
    
      G10 P0 R160 S225        ; Set their active and standby temps.
      ...
      T0 H0 Q1                ; Set tool 0's heater to standby.
      T1 H0 Q1                ; Set tool 1's first heater to standby.
      T1 H1 Q2                ; Set tool 1's second heater to active.
                              ; Neither tool is actually selected.


  • @dc42 There's no downside to this feature and it doesn't alter any existing behavior. What do you say?


  • administrators

    RRF 3.2 will provide a means for switching tools between active and standby. I'd like to consider the feature you propose in that context.

    In particular, what is the use case for tool switching tool heaters individually between off and standby, rather than switching the entire tool between off and standby?



  • @dc42 said in Pull Request: Fine grained heater control:

    RRF 3.2 will provide a means for switching tools between active and standby. I'd like to consider the feature you propose in that context.

    In particular, what is the use case for tool switching tool heaters individually between off and standby, rather than switching the entire tool between off and standby?

    I don't have a use case for that. I was just being flexible in the design. Since you can have multiple heaters for a tool I thought being able to control them separately was the most future-proof. Although, there isn't a way to set different temps for them at this time maybe there should be, I'm not sure. Maybe for preheating some material or something along those lines?


Log in to reply