• Yes exactly, but I've got gcode in my filament-change.g macro and it still just pauses

  • Just curious what the contents of pause.g and filament-change.g are.

  • Pause.g
    ; called when a print from SD card is paused
    ; generated by RepRapFirmware Configuration Tool on Mon Feb 19 2018 19:56:04 GMT+1100 (AEDT)
    M83 ; relative extruder moves
    G1 E-5 F2000 ; retract 5mm of filament
    G91 ; relative positioning
    G1 Z10 F360 ; lift Z by 5mm
    G90 ; absolute positioning
    G1 X0 Y0 F6000 ; go to X=0 Y=0

    T-1 ; deselect tool to unload filament
    G90 ; absolute moves
    G1 U75 F2000 ; move selector out of the way
    G1 V900 F5000 ; drive filament out the front of MMU2
    G1 W78 F10000 ; move W axis to safe position
    M291 P"remove old filament, load new filament and press OK" R"Filament has run out" S2 ; display message to change filament Filament has run out
    T R1 ; select previous tool
    M24 ; resume print

  • administrators

    @gavatron3000 said in Filament-change.g:

    Hey just curious if anyone else has had issues with getting filament-change.g to work? I've got the macro in the /sys/ folder but it won't use it. I'm sure I've missed setting something up. I'm on v2.03b3

    Is this when you send M600, or when a filament monitor detects a problem and pauses the print?

  • to be honest ive never manually sent a M600, im refering to when a filament out situation is detected during a print

  • administrators

    I don't think that running filament-change.g automatically on a filament error would suit most people, because many filament errors are not caused by running out of filament. Perhaps we should run a new file such as filament-error.g instead? That file could use M291 to ask the user whether he/she wants to change the filament or not.

  • Ok so I've misinterpreted the behaviour of the filament-change.g.
    So when the filament runs out a pause.g is called then when I intervene I'm meant to run M600? Woops I didn't realise

  • @gavatron3000 No, i don't think that's quite it either.

    Originally, to do a filament change on the Duet you would use M226 inserted into your print gcode to pause the print with pause.g at a specific layer and you would manually change the filament.

    Marlin was using M600 which let you specify a few more options specific to filament changes.

    So when M600 was implemented in RRF it was meant to work similar to pause.g but would let you specify what you wanted to happen in filament-change.g. Which would keep your M226 pause.g seperate and more generic, and M600 filament-change.g specific to how you wanted to change filament.

    Filament runout detection is totally separate from either of these, though in practice you could execute behaviour of either.

  • Hmmmm. So whats the trigger for it to function thats the bit I'm missing or haven't understood

  • You'd place M600 in your gcode file. Usually at a layer change to do a color swap.

  • Ok no worries

Log in to reply