Skip to content

Commit

Permalink
Greatly imporved MMU_FORM_TIP functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
moggieuk committed Sep 14, 2023
1 parent a7aa6d9 commit 5c8408e
Show file tree
Hide file tree
Showing 4 changed files with 224 additions and 152 deletions.
9 changes: 6 additions & 3 deletions config/base/mmu_software.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,12 @@ variable_parking_distance: 0 # Final filament parking position after f
# A negative value means that Happy hare will automatically calculate the park position based on the aggregate
# movement of the extruder. However, in some tip forming setups (e.g. filament cutter), the tip forming procedure
# must decide its own park position and report this back to Happy Hare by setting the output variable to a
# positive value.
# positive value. Also note that one side effect of setting this is the reduced ability to sense if filament was
# really loaded in the extruder.
#
# The value can be set dynamically in gcode with this construct:
# SET_GCODE_VARIABLE MACRO=_MMU_FORM_TIP_STANDALONE VARIABLE=output_park_pos VALUE=-1
#
variable_output_park_pos: -1 # The park position (output variable passed back to Happy Hare)

gcode:
Expand Down Expand Up @@ -219,8 +224,6 @@ gcode:
G92 E0
G90

# Optionally report the park distance (-1 = let Happy Hare measure)
SET_GCODE_VARIABLE MACRO=_MMU_FORM_TIP_STANDALONE VARIABLE=output_park_pos VALUE=-1

###########################################################################
# Callback macros for modifying Happy Hare behavior
Expand Down
1 change: 1 addition & 0 deletions doc/command_ref.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ Firstly you can get a quick reminder of commands using the `MMU_HELP` command fr
| `MMU_PAUSE` | Pause the current print and lock the MMU operations. (`MMU_UNLOCK + RESUME` or just `RESUME` to continue print) | `FORCE_IN_PRINT=[0\|1]` This option forces the handling of pause as if it occurred in print and is useful for testing. Calls `PAUSE` by default or your `pause_macro` if set |
| `MMU_RECOVER` | Recover filament position and optionally reset MMU state. Useful to call prior to RESUME if you intervene/manipulate filament by hand | `TOOL=[0..n]\|-2` Optionally force set the currently selected tool (-2 = bypass). Use caution! <br>`GATE=[0..n]` Optionally force set the currently selected gate if TTG mapping is being leveraged otherwise it will get the gate associated with current tool. Use caution! <br>`LOADED=[0\|1]` Optionally specify if the filamanet is fully loaded or fully unloaded. Use caution! If not specified, MMU will try to discover filament position <br>`STRICT=[0\|1]` If automatically detecting impose stricter testing for filament position (temporarily sets 'strict_filament_recovery' parameter) |
| `MMU_ENCODER` | Displays the current value of the MMU encoder or explicitly enable or disable the encoder. Note that the encoder state is set automatically so this will only be sticky until next tool change | `ENABLE=[0\|1]` Enable/Disable <br>`VALUE=..` Set the current distance |
| `MMU_FORM_TIP` : Convenience macro to call to test the standalone tip forming functionality | Any valid `_MMU_FORM_TIP_STANDALONE` gcode variable can be supplied as a parameter and will override the defaults in the `mmu_software.cfg` file. overrides will remain active (sticky) until called with `RESET=1` which will cause Happy Hare to revert to starting values in `mmu_software.cfg` |
| `MMU_TOOL_OVERRIDES` | Displays, sets or clears tool speed and extrusion factors (M220 & M221) | `TOOL=[0..n]` Specify tool to set <br> `M220=[0-200]` Speed (feedrate) multiplier percentage <br> `M221=[0-200]` Extrusion multiplier percentage <br> `RESET=1` Reset specified override for specified tool to default 100%. Note that omitting `TOOL=` will reset all tools |
| `MMU_UNLOCK` | Wakeup the MMU prior to RESUME to restore temperatures and timeouts | None |
| `MMU_HELP` | Generate reminder list of command set | `TESTING=[0\|1]` Also list the testing commands <br>`MACROS=[0\|1]` Also list the callback backros |
Expand Down
7 changes: 6 additions & 1 deletion doc/gcode_customization.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,12 @@ variable_final_eject: 0 # default 0, enable during standalone tun
# A negative value means that Happy hare will automatically calculate the park position based on the aggregate
# movement of the extruder. However, in some tip forming setups (e.g. filament cutter), the tip forming procedure
# must decide its own park position and report this back to Happy Hare by setting the output variable to a
# positive value.
# positive value. Also note that one side effect of setting this is the reduced ability to sense if filament was
# really loaded in the extruder.
#
# The value can be set dynamically in gcode with this construct:
# SET_GCODE_VARIABLE MACRO=_MMU_FORM_TIP_STANDALONE VARIABLE=output_park_pos VALUE=-1
#
variable_output_park_pos: -1 # The park position (output variable passed back to Happy Hare)
```

Expand Down
Loading

0 comments on commit 5c8408e

Please sign in to comment.