I made this simple 3 in 1 tool to :
There are 2 versions and need support :
For use the detection, you need to :
Configuration.h (if wiring between GND and Signal on the board like recommended ):
- #define FILAMENT_RUNOUT_SENSOR // needed for the detection
- //#define FIL_RUNOUT_PULLUP // uncomment because wiring on the GND
- #define FIL_RUNOUT_PULLDOWN // because wiring on the GND
- #define FILAMENT_RUNOUT_SCRIPT "M600" // for play the pause if undetect
Configuration_adv.h :
- #define GCODE_REPEAT_MARKERS // for use loop in the gcode
- #define ADVANCED_PAUSE_FEATURE // needed for pause function
- #define PAUSE_PARK_RETRACT_LENGTH 0 // for pause function and not filament change
- #define FILAMENT_CHANGE_UNLOAD_LENGTH 0 // same
- #define ADVANCED_PAUSE_PURGE_LENGTH 0 // same
- //#define ADVANCED_PAUSE_RESUME_PRIME 0 // same
- #define FILAMENT_UNLOAD_PURGE_RETRACT 0 // same
- #define FILAMENT_UNLOAD_PURGE_LENGTH 0 // same
src\MarlinCore.cpp :
- //TERN_(GCODE_REPEAT_MARKERS, repeat.reset()); // uncomment to can pause the M808 loop
The “Repeat marker” function (gcode M808) give us the way for can stop rapidly when the switch is no longer trigged (if use small E0 rotation order) and cherry over the cake, the infinite loop reduce the gcode and make it more polyvalent.
After detection, you confirm the return and have to stop it manually with the LCD menu after the end of the strip.
Standard gcode example with 210 °C and 900 mm/s:
;Recreating filament Gcode
M104 S210 ;heat to 210°C
M109 S210 ;wait 210°C
M808 L0 ;initiate infinite loop
M117 Recreating filament; LCD display
G92 E0 ;reset E0 position for retract/wash the nozzle
G0 E1 F900 ;E0 rotation of 1 mm at 900 mm/s
M808 ; loop Marker
Another gcode example with 210°C and 2 step of acceleration for finish to 1800 mm/s :
;Recreating filament Gcode
M104 S210 ;heat to 210°C
M109 S210 ;wait 210°C
M808 L2000 ;initiate loop with 2000 cycles
M117 Recreating filament; LCD display
G92 E0 ;reset E0 position for retract/wash nozzle
G0 E1 F900 ;E0 rotation of 1 mm at 900 mm/s
M808 ; loop Marker
M808 L1000 ;initiate loop with 1000 cycles
M117 Recreating filament; LCD display
G92 E0 ;reset E0 position for retract/wash nozzle
G0 E1 F1300 ;E0 rotation of 1 mm at 1300 mm/s
M808 ; loop Marker
M808 L0 ;initiate infinite loop
M117 Recreating filament; LCD display
G92 E0 ;reset E0 position for retract/wash nozzle
G0 E1 F1800 ;E0 rotation of 1 mm at 1800 mm/s
M808 ; loop Marker
The author remixed this model.