Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    tfree1.g is being ignored

    Scheduled Pinned Locked Moved
    General Discussion
    2
    6
    260
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Mentaluproarundefined
      Mentaluproar
      last edited by Mentaluproar

      I have a very simple tfree1.g. I have a y joiner on a single nozzle hotend and want to pull out filament 100mm, the push in 100mm of the other filament when needed. I can get it to handle one extruder at a time, but when it come to tool changes, my macros are completely ignored. It seems to do a normal retraction rather than a normal retract followed by tfree1.g or tfree0.g.

      Weirdly, if I just run the macros in the webui manually, they work fine.

      tfree0.g

      T0;  troubleshooting tool changes.  Probably should remove this when finished
      M83; relative mode
      G1 E-100 F2500; rip it upward
      

      tfree1.g

      T1;  troubleshooting tool changes.  Probably should remove this when finished
      M83; relative mode
      G1 E-100 F2500; rip it upward
      

      tpost0.g

      T0; select itself -_-
      M83; relative mode
      G1 E100 F2500 ; ram it down
      

      tpost1.g

      T1; select itself -_-
      M83; relative mode
      G1 E100 F2500 ; ram it down
      

      config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed Feb 26 2020 15:22:01 GMT-0500 (Eastern Standard Time)
      
      ; General preferences
      G90                                                                         ; send absolute coordinates...
      M83                                                                         ; ...but relative extruder moves
      M550 P"foamboard forge"                                                     ; set printer name
      
      ; Network
      M552 S1                                                                     ; enable network
      M586 P0 S1                                                                  ; enable HTTP
      M586 P1 S0                                                                  ; disable FTP
      M586 P2 S0                                                                  ; disable Telnet
      
      ; Drives
      M569 P0 S1                                                                  ; physical drive 0 goes forwards
      M569 P1 S1                                                                  ; physical drive 1 goes forwards
      M569 P2 S0                                                                  ; physical drive 2 goes backwards
      M569 P5 S1                                                                  ; physical drive 5 goes forwards
      M569 P6 S1                                                                  ; physical drive 6 goes forwards
      M584 X0 Y1 Z2 E5:6                                                          ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1                                                  ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z400.00 E824.00:824.00                                    ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00:120.00                                  ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z1800.00 E1200.00:1200.00                            ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00:250.00                                  ; set accelerations (mm/s^2)
      M906 X800 Y800 Z800 E800:800 I30                                            ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                                     ; Set idle timeout
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                                            ; set axis minima
      M208 X320 Y300 Z350 S0                                                      ; set axis maxima
      
      ; Endstops
      M574 X1 S0 P"xstop"                                                         ; configure active-low endstop for low end on X via pin xstop
      M574 Y1 S0 P"ystop"                                                         ; configure active-low endstop for low end on Y via pin ystop
      M574 Z1 S0 P"zstop"                                                         ; configure active-low endstop for low end on Z via pin zstop
      
      ; Z-Probe
      M558 P9 C"^duex.e2stop" H5 F120 T6000
      M950 S0 C"duex.e3heat"                                                      ; create servo pin 0 for BLTouch
      G31 P25 X-40.2 Y-7.5 Z2.9                                                     ; set Z probe trigger value, offset and trigger height
      M557 X29:270 Y27:267 S24:24                                                 ; define mesh grid
      ; M557 X40:340 Y10:310 S24
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4138                              ; configure sensor 0 as thermistor on pin bedtemp
      ; M308 S0 P"e0temp" Y"thermistor" T100000 B4138                              ; configure sensor 0 as thermistor on pin e1temp
      M950 H0 C"e0heat" T0                                                        ; create bed heater output on e0heat and map it to sensor 0
      M143 H0 S120                                                                ; set temperature limit for heater 0 to 120C
      M307 H0 B0 S1.00                                                            ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                                                     ; map heated bed to heater 0
      M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4138                          ; configure sensor 1 as thermistor on pin duex.e2temp
      M950 H1 C"duex.e2heat" T1                                                   ; create nozzle heater output on duex.e2heat and map it to sensor 1
      M143 H1 S280                                                                ; set temperature limit for heater 1 to 280C
      M307 H1 B0 S1.00                                                            ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans
      M950 F0 C"duex.fan5" Q500                                                   ; create fan 0 on pin duex.fan5 and set its frequency
      M106 P0 C"part cooler" S0 H-1                                               ; set fan 0 name and value. Thermostatic control is turned off
      M950 F1 C"duex.fan4" Q100                                                   ; create fan 1 on pin duex.fan4 and set its frequency
      M106 P1 C"hotend" S0 H1:1 T30                                               ; set fan 1 name and value. Thermostatic control is turned on
      M950 F2 C"duex.fan3" Q500                                                   ; create fan 2 on pin duex.fan3 and set its frequency
      M106 P2 C"mcu" S0 H-1                                                       ; set fan 2 name and value. Thermostatic control is turned off
      M950 F3 C"duex.fan6" Q500                                                   ; create fan 3 on pin duex.fan6 and set its frequency
      M106 P3 C"lighting" S1 H-1 B0                                                 ; set fan 3 name and value. Thermostatic control is turned off
      
      ; Tools
      M563 P0 S"hotend" D0 H1 F0                                                  ; define tool 0
      G10 P0 X0 Y0 Z0                                                             ; set tool 0 axis offsets
      G10 P0 R0 S0                                                                ; set initial tool 0 active and standby temperatures to 0C
      M563 P1 S"hotend" D1 H1 F0                                                  ; define tool 1
      G10 P1 X0 Y0 Z0                                                             ; set tool 1 axis offsets
      G10 P1 R0 S0                                                                ; set initial tool 1 active and standby temperatures to 0C
      
      ; Custom settings
      M308 S2 P"duex.e3temp" Y"thermistor" A"chamber temp" T100000 B3988 C0 R2200 ; chamber temperature sensor
      M307 H0 A150.1 C1119.9 D1.6 V24.2 B0									    ; calibrate bed heater
      M307 H1 A348.9 C165.7 D3.7 C24.2 B0										    ; calibrate hotend heater
      ; M558 P9 C"^duex.gp1" H5 F120 T2000										; config UI does not allow gpio/endstop assignments to zprobe input but rrf3 does.  Put it in manually. ^duex.e2stop or ^duex.gp1
      
      ; TODO
      ; When a separate lighting control method is found, break lighting out from fan controls
      

      and finally, the attached test gcode file. testrun2.gcode

      I'm sure its obvious, but I cannot find what's going wrong. It just wants to jam filament together rather than pull one completely out and put the other completely in.

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        This is just a guess, but can you try adding some M400 commands to your macros?

        https://duet3d.dozuki.com/Wiki/Gcode#Section_M400_Wait_for_current_moves_to_finish

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Mentaluproarundefined
          Mentaluproar
          last edited by

          Where in the macros would be helpful? Doesn't it normally complete a line before acting on the next one?

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            At the start of the macro? Like I said, it's more a guess.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • Mentaluproarundefined
              Mentaluproar
              last edited by

              I did some more playing around to get the behavior of this setup closer to that of the gcode the original creator's generator puts out. I had to guess and check the extrusion lengths, speeds, and replace some weird wiggle thing with dwell time, but it's kind of working now.

              I can't call it a success though. The part it pulls out of the hotend has a wider diameter tip than the rest of the filament so when it goes to push it back in, it gets stuck. From what I can tell, its because I'm using an all metal hotend and there's nothing narrow inside to scrape it off on. 😕

              1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                I think the prusa MMU was having similar issues with tip diameter, maybe look into how they were dealing with it.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 1
                • First post
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA