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

    Firmware Retraction causing odd pauses

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    3
    405
    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.
    • deadwood83undefined
      deadwood83
      last edited by

      I am trying to move away from S3D (no development) and Cura (slow, unstable) into Prusa Slicer.

      While tuning my newest printer with Duet Wifi, I have noticed that there is a definite pause when the printer is performing a firmware retract. I have no such pauses with retracts baked into the gcode using slicer parameters. I can't seem to find any information on this on the forum, but perhaps I am using the incorrect search terms.

      Please find M122 output, config.g, and gcode below as well as a video showing the issue. The first pause happens at ~41 seconds.

      https://youtu.be/SvlKPNYZXGg

      M122:

      8/18/2020, 6:27:40 PM 	M122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later
      Board ID: 0JD0M-9K662-MG5TD-6J9D6-3SJ6S-1ALLX
      Used output buffers: 3 of 24 (16 max)
      === RTOS ===
      Static ram: 27980
      Dynamic ram: 94300 of which 44 recycled
      Exception stack ram used: 536
      Never used ram: 8212
      Tasks: NETWORK(ready,708) HEAT(blocked,1224) MAIN(running,1552) IDLE(ready,80)
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:33:28 ago, cause: software
      Last software reset time unknown, reason: User, spinning module GCodes, available RAM 8420 bytes (slot 2)
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04417000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
      Error status: 8
      MCU temperature: min 40.5, current 42.2, max 42.5
      Supply voltage: min 23.6, current 23.8, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
      Driver 0: ok, SG min/max 0/1023
      Driver 1: ok, SG min/max 0/225
      Driver 2: standstill, SG min/max not available
      Driver 3: ok, SG min/max 0/299
      Driver 4: standstill, SG min/max not available
      Date/time: 2020-08-18 18:27:39
      Cache data hit count 3373496550
      Slowest loop: 29.67ms; fastest: 0.13ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 9
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 11.1ms, write time 4.5ms, max retries 0
      === Move ===
      Hiccups: 0(0), FreeDm: 156, MinFreeDm: 128, MaxWait: 0ms
      Bed compensation in use: mesh, comp offset 0.000
      === MainDDARing ===
      Scheduled moves: 6147, completed moves: 6131, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: 3
      === AuxDDARing ===
      Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
      === Heat ===
      Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
      Heater 0 is on, I-accum = 0.2
      Heater 1 is on, I-accum = 0.5
      === GCodes ===
      Segments left: 1
      Movement lock held by null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is doing "G1 X142.985 Y144.775 E0.01617" in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger is idle in state(s) 0
      Queue is idle in state(s) 0
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty.
      === Network ===
      Slowest loop: 199.66ms; fastest: 0.09ms
      Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
      HTTP sessions: 1 of 8
      - WiFi -
      Network state is active
      WiFi module is connected to access point 
      Failed messages: pending 0, notready 0, noresp 1
      WiFi firmware version 1.23
      WiFi MAC address 48:3f:da:4e:c4:bc
      WiFi Vcc 3.37, reset reason Unknown
      WiFi flash size 4194304, free heap 21912
      WiFi IP address 10.10.30.28
      WiFi signal strength -48dBm, reconnections 0, sleep mode modem
      Socket states: 4 0 0 0 0 0 0 0
      

      Config.g:

      ; Drives
      M569 P0 S0                                     ; physical drive 0 (X) goes backwards 
      M569 P1 S0                                     ; physical drive 1 (Y) goes backwards 
      M569 P2 S0                                     ; physical drive 2 (Z) goes backwards 
      M569 P3 S0                                     ; physical drive 3 (E0) goes backwards 
      M569 P4 S0                                     ; physical drive 4 (E1) goes backwards 
      M584 X0 Y1 Z2:4 E3                             ; set drive mapping for dual Z
      M350 X16 Y16 Z16:16 E16 I1                     ; configure microstepping with interpolation
      M906 X1275 Y1275 Z1150:1150 E1000 I30          ; set motor currents (mA) and motor idle factor in per cent
      M92 X80 Y80 Z400:400 E413                      ; set steps per mm
      M84 S30                                        ; Set idle timeout
      
      ; Speeds
      M566 X900 Y900 Z600:600 E120                   ; set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z600:600 E7200              ; set maximum speeds (mm/min)
      M201 X3500 Y3500 Z120:120 E10000               ; set accelerations (mm/s^2)
      M204 P2500 T3500                               ; Set printing and travel accelerations (mm/s^2)
      
      ; Axis Limits
      M208 X0 Y0 Z-5 S1                               ; set axis minima
      M208 X300 Y300 Z325 S0                         ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"!xstop"                           ; configure active-low endstop for low end on X via pin xstop
      M574 Y2 S1 P"!ystop"                           ; configure active-low endstop for low end on Y via pin ystop
      M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
      
      ; Z-Probe
      M950 S0 C"exp.heater3"                              ; create servo pin 0 for BLTouch
      M558 P9 C"^zprobe.in" H5 F100 T4000 A10 R0.5 S0.020 ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X0 Y-42.8 Z.6                              ; set Z probe trigger value, offset and trigger height
      M671 X-20:320 Y150:150 S5.0                         ; Define Z leadscrews on either side
      M557 X0:300 Y0:257.2 S50                            ; define mesh grid
      
      ; Sensors
      M308 S3 P"mcu-temp" Y"mcu-temp" A"MCU"         ; Create sensor for MCU temp
      M308 S4 P"drivers" Y"drivers" A"TMC"           ; Create senhsor for drivers
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
      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
      M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4092  ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
      
      ; Fans
      M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
      
      ; Virtual Fans used as Variables
      M950 F2 C"duex.fan8"                           ; virtual fan on duex fan 8 pin
      M106 P2 S0 C"vFan Homeall"                     ; set name for macro use
      
      ; Tools
      M563 P0 S"Dragon" 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
      
      ; Firmware Retraction
      M207 T0 S5.55 R0 F2400 T2400 Z0                ; firmware retract G10/G11 5.55mm at 40mm/s no z-hop
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      T0                                             ; select first tool
      M575 P1 S1 B57600
      
      M501                                           ; Load Config Overrides
      

      gcode file is available here. I can't seem for the life of me to figure out why this is pausing. The slowness makes the retraction distance meaningless since the hotend has time to dribble filament anyway.

      Any assistance is greatly appreciated.

      1 Reply Last reply Reply Quote 0
      • botundefined
        bot
        last edited by

        The T word of M207 refers to the unretract speed, not the tool. You have set your unretract speed to 0 mm/min, then again to T2400. I do not know how problematic that is, but it's not correct. You should put P0 to refer to tool 0.

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

        *not actually a robot

        1 Reply Last reply Reply Quote 3
        • deadwood83undefined
          deadwood83
          last edited by

          You're a wizard. That solved everything. It is now flying as I would expect it to!

          Thank you so much for the second set of eyes.

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