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

Random pauses with 3.5.0-rc.3+8

Scheduled Pinned Locked Moved Solved
Beta Firmware
4
9
253
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.
  • undefined
    balajiramani
    last edited by 8 Apr 2024, 12:01

    I tried the new 3.5.0-rc.3+8 firmware and I see random pauses. Here is a video that shows the pause. The pause is between 11 and 13 seconds into the video.

    Here is the output of M122 taken after one such pause:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.0-rc.3+8 (2024-04-05 15:37:41) running on Duet WiFi 1.0 or 1.01
    Board ID: 08DAM-999TL-MQ4SD-6JTDL-3SS6N-968BX
    Used output buffers: 2 of 26 (23 max)
    === RTOS ===
    Static ram: 23256
    Dynamic ram: 73416 of which 20 recycled
    Never used RAM 12324, free system stack 110 words
    Tasks: NETWORK(1,ready,33.2%,220) HEAT(3,nWait 5,0.1%,313) Move(4,nWait 5,3.5%,258) MAIN(1,running,55.0%,745) IDLE(0,ready,8.3%,29), total 100.0%
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 00:31:47 ago, cause: power up
    Last software reset at 2024-04-07 11:33, reason: User, Gcodes spinning, available RAM 14388, slot 2
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
    Error status: 0x00
    Aux0 errors 0,0,0
    MCU temperature: min 34.7, current 47.5, max 49.1
    Supply voltage: min 23.4, current 24.2, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
    Heap OK, handles allocated/used 99/4, heap memory allocated/used/recyclable 2048/1212/1088, gc cycles 1
    Events: 0 queued, 0 completed
    Driver 0: ok, SG min 0
    Driver 1: ok, SG min 0
    Driver 2: ok, SG min 0
    Driver 3: phase B may be disconnected, SG min 0
    Driver 4: standstill, SG min n/a
    Driver 5:
    Driver 6:
    Driver 7:
    Driver 8:
    Driver 9:
    Driver 10:
    Driver 11:
    Date/time: 2024-04-07 16:00:29
    Cache data hit count 4294967295
    Slowest loop: 233.94ms; fastest: 0.13ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Storage ===
    Free file entries: 7
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest read time 53.6ms, write time 15.3ms, max retries 1
    === Move ===
    DMs created 83, segments created 53, maxWait 490265ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval -24898, bad calcs 0, ebfmin 0.00, ebfmax 1.00
    next step interrupt due in 64 ticks, disabled
    Moves shaped first try 826, on retry 580, too short 4644, wrong shape 93438, maybepossible 1202
    === DDARing 0 ===
    Scheduled moves 118046, completed 118006, hiccups 48, stepErrors 0, LaErrors 0, Underruns [116, 3, 184], CDDA state 3
    === Heat ===
    Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
    Heater 0 is on, I-accum = 0.1
    Heater 1 is on, I-accum = 0.2
    === GCodes ===
    Movement locks held by null
    HTTP is idle in state(s) 0
    Telnet is idle in state(s) 0
    File is doing "G1 X-21.782 Y13.17 E.00871" 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
    LCD is idle in state(s) 0
    Daemon is idle in state(s) 0 0, running macro
    Autopause is idle in state(s) 0
    Q0 segments left 1
    Code queue 0 is empty
    === Network ===
    Slowest loop: 131.97ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    HTTP sessions: 1 of 8
    === WiFi ===
    Interface state: active
    Module is connected to access point
    Failed messages: pending 0, notrdy 0, noresp 0
    Firmware version 2.1beta6
    MAC address 5c:cf:7f:2c:25:00
    Module reset reason: Turned on by main processor, Vcc 3.40, flash size 2097152, free heap 43088
    WiFi IP address 192.168.1.61
    Signal strength -45dBm, channel 6, mode 802.11n, reconnections 0
    Clock register 00002002
    Socket states: 0 0 0 0 0 0 0 0
    undefined 1 Reply Last reply 8 Apr 2024, 12:02 Reply Quote 0
    • undefined balajiramani referenced this topic 8 Apr 2024, 12:02
    • undefined
      jay_s_uk @balajiramani
      last edited by 8 Apr 2024, 12:02

      @balajiramani can you provide the gcode, and if possible highlight the code being ran when the pause occurred?.
      also supply your config

      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

      undefined 1 Reply Last reply 8 Apr 2024, 12:46 Reply Quote 0
      • undefined
        balajiramani @jay_s_uk
        last edited by 8 Apr 2024, 12:46

        @jay_s_uk Here is the gcode. Silica-box_lid_50mm_small_0.2mm_PLA_BigDelta_1h39m.gcode

        I think it is between lines 202363 and 202453.

        Here is the config.

        ; Setup some global variables
        global power_fail_retract = 2 ; Retract 2mm when power fails
        global RunDaemon = true;
        ; Communication and general
        M550 P"BigDelta" ; Machine name and Netbios name (can be anything you like)
        M551 Preprap ; Machine password (used for FTP)
        M552 S1 ; Enable WiFi. Disabled for setup and testing. Enable once set up on your network.
        ; Enable telnet
        M586 S1 P2
        ; Debugging
        M111 S0 ; Debug off
        M929 P"eventlog.txt" S1 ; Start logging to file eventlog.txt
        M555 P2 ; Set output to look like Marlin
        G21 ; Work in millimetres
        G90 ; Send absolute coordinates...
        M83 ; ...but relative extruder moves
        ; Axis and motor configuration
        M569 P0 S0 ; Drive 0 goes backwards
        M569 P1 S0 ; Drive 1 goes backwards
        M569 P2 S0 ; Drive 2 goes backwards
        M569 P3 S0 ; Drive 3 goes backwards
        ; Assign extruder drive
        M584 E3
        ; Set homing switch config
        M574 X2 S1 P"!xstop" ; Set homing switch configuration on S1 = high-end, active-low
        M574 Y2 S1 P"!ystop" ; Set homing switch configuration on S1 = high-end, active-low
        M574 Z2 S1 P"!zstop" ; Set homing switch configuration on S1 = high-end, active-low
        ; Set it as a linear delta
        M669 K3
        ; Setup paneldue 5i
        M575 P1 S1 B57600
        M665 L395.647:395.647:395.647 R214.811 H359.735 B160.0 X-0.041 Y0.017 Z0.000
        M666 X-1.119 Y-1.265 Z2.385 A0.00 B0.00
        M350 X16 Y16 Z16 E16 I1 ; Set 16x microstepping with interpolation
        M92 X200 Y200 Z200 ; Set axis steps/mm
        M906 X1400 Y1400 Z1400 E1400 I60 ; Set motor currents (mA) and increase idle current to 60%
        M84 S60 ; Set idle timeout
        M201 X12000 Y12000 Z2000 E10000 ; Accelerations (mm/s^2)
        M203 X20000 Y20000 Z5000 E3600 ; Maximum speeds (mm/min)
        ;M566 X900 Y900 Z300 E3600 P1 ; Maximum instant speed changes mm/minute
        M566 X600 Y600 Z300 E450 P1 ; Maximum instant speed changes mm/minute
        M204 P6000 T6000 ; Set acceleration for print and travel moves
        ; Configure Input shaping
        M593 P"zvdd" F42 S0.05
        ;M593 P"mzv" F42 S0.05
        ; Thermistors
        M308 S0 P"bed_temp" Y"thermistor" T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
        ;M308 S1 P"e0_temp" Y"thermistor" T100000 B3950 R4700 H30 L0 ; 100K NTC
        M308 S1 P"e0_temp" Y"thermistor" T100000 B4658 C6.5338987554e-08 ; 104-NT
        M950 H0 C"bed_heat" T0 ; Set up H0 as the bed heater using T0 as the sensor
        M950 H1 C"e0_heat" T1 ; Set up H1 as the extruder heater using T1 as the sensor
        M140 H0 ; Map H0 as the bed heater
        ; Set temperature excursion warnings
        M570 H0 P20
        M570 H1 P20
        M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
        M308 S4 Y"drivers" A"Drivers" ; configure sensor 4 as temperature warning and overheat flags on the TMC2660 on Duet
        M912 P0 S-3.5 ; Calibrate MCU temp
        ; Fan definitions
        M950 F0 C"fan0"
        M950 F1 C"fan1"
        M950 F2 C"fan2"
        ; Thermostatic fan on 1 for cooling the hotend
        M106 P1 T50 H1
        ; Thermostatic fan on 2 for cooling the board
        M106 P2 H3:4 L.3 X1 B0.3 T35:70 ; set fan 2 value
        ; Tool definitions
        M563 P0 D0 H1 ; Define tool 0
        G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
        ;M92 E1392 ; Based on https://www.thingiverse.com/thing:1359717; 2023/01/06
        M92 E1077.1646 ; This is the new value for the hobb-goblin extruder. 03/07/2023
        ;M92 E319.2005 ; Set extruder steps per mm. This is for the MK8 gear
        ; Z probe and compensation definition
        M558 P8 C"^!zprobe.in" R0.4 H4 F1200 T6000 A5 S0.01 ; Z probe is a piezo sensor
        G31 X0 Y0 Z-0.08 P100 ; Set the zprobe height and threshold
        M557 R150 S20 ; Probe within a radius of 150mm and mesh spacing of 20
        M376 H5 ; Taper off bed compensation after 5mm
        ; Configure power failure and resume
        M911 S21.0 R23.0 P"G91 M83 G1 Z3 E{-global.power_fail_retract} F1000" ; Relative movement and extrusion. Move head up and retract 2mm filament.
        M208 S1 Z-0.5 ; set minimum Z
        T0 ; select first hot end
        M501 ; Load any config overrides
        undefined 1 Reply Last reply 8 Apr 2024, 12:47 Reply Quote 0
        • undefined
          jay_s_uk @balajiramani
          last edited by 8 Apr 2024, 12:47

          @balajiramani thanks. can you also post your daemon.g?

          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

          undefined 1 Reply Last reply 8 Apr 2024, 13:01 Reply Quote 0
          • undefined
            balajiramani @jay_s_uk
            last edited by 8 Apr 2024, 13:01

            @jay_s_uk Here daemon.g

            ; /sys/daemon.g
            ; Used to execute regular tasks, the firmware executes it and once the end of file is reached it waits. If the file is not found it waits and then looks for it again.
            ; Loop, to be able to turn on/off daemon.g
            while global.RunDaemon
            ; Stuff goes here
            ; Resume after filament change
            if exists(global.FilamentCHG)
            if global.FilamentCHG = true && state.status="paused"
            M24 ; Resume the pause automatically now that the manual filament change is done
            set global.FilamentCHG = false
            NeoDueundefined dc42undefined 2 Replies Last reply 9 Apr 2024, 00:16 Reply Quote 0
            • Phaedruxundefined Phaedrux marked this topic as a question 8 Apr 2024, 19:55
            • NeoDueundefined
              NeoDue @balajiramani
              last edited by NeoDue 4 Sept 2024, 00:28 9 Apr 2024, 00:16

              @balajiramani you might want to take a look at the manual - you are running an endless (as long as your global variable is active) loop in daemon.g which is normally not needed since RRF runs daemon.g in fixed intervals.
              In such cases, it is highly suggested to add a recurring wait into the loop since it might clog up the processor otherwise, but in your case my guess would be to simply change the "while" in line 5 with an "if", unless the default wait time is too long for your needs.

              1 Reply Last reply Reply Quote 0
              • dc42undefined
                dc42 administrators @balajiramani
                last edited by dc42 4 Sept 2024, 11:44 9 Apr 2024, 11:10

                @balajiramani the main issue with your daemon.g file is that there is no delay command in the while-loop. I suggest you add a delay at the end, like this:

                ; /sys/daemon.g
                ; Used to execute regular tasks, the firmware executes it and once the end of file is reached it waits. If the file is not found it waits and then looks for it again.
                ; Loop, to be able to turn on/off daemon.g
                while global.RunDaemon
                ; Stuff goes here
                ; Resume after filament change
                if exists(global.FilamentCHG)
                if global.FilamentCHG = true && state.status="paused"
                M24 ; Resume the pause automatically now that the manual filament change is done
                set global.FilamentCHG = false
                G4 S2

                I've added a delay of 2 seconds, but use a longer delay if that will still respond quickly enough for you.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                undefined 1 Reply Last reply 9 Apr 2024, 11:34 Reply Quote 0
                • undefined
                  balajiramani @dc42
                  last edited by 9 Apr 2024, 11:34

                  Thank you all for the suggestion. Let me remove daemon.g, as I am currently not using it and will try again.

                  undefined 1 Reply Last reply 9 Apr 2024, 12:07 Reply Quote 0
                  • undefined
                    balajiramani @balajiramani
                    last edited by 9 Apr 2024, 12:07

                    So, after removing daemon.g, there are no pauses. Sorry for the false alarm.

                    1 Reply Last reply Reply Quote 1
                    • undefined balajiramani has marked this topic as solved 9 Apr 2024, 12:08
                    1 out of 9
                    • First post
                      1/9
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA