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

    3.5.0rc1: Input shaping causes layer shifts!?

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    19
    196
    15.7k
    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.
    • vaike_peeterundefined
      vaike_peeter @dc42
      last edited by

      @dc42

      Made test print with your rc2+ firmware. Layer shifted at 16,05mm
      Layer_shift.jpg

      I didn't get M122 directly after layer shift, I did it when I disovered it.

      M122 toolhead

      M122 B121
      Diagnostics for board 121:
      Duet TOOL1LC rev 1.1 or later firmware version 3.5.0-rc.2 (2023-12-14 08:58:51)
      Bootloader ID: SAMC21 bootloader version 2.8 (2023-07-25)
      All averaging filters OK
      Never used RAM 2672, free system stack 89 words
      Tasks: Move(3,nWait,1.6%,71) HEAT(2,nWait,6.4%,91) CanAsync(5,nWait,0.0%,54) CanRecv(3,nWait,0.6%,77) CanClock(5,nWait,0.4%,67) ACCEL(3,nWait,0.0%,17) TMC(2,nWait,61.9%,57) MAIN(1,running,86.2%,316) IDLE(0,ready,0.0%,27) AIN(2,delaying,92.7%,114), total 249.8%
      Last reset 21:44:27 ago, cause: software
      Last software reset time unknown, reason: OutOfMemory, available RAM 16088, slot 0
      Software reset code 0x01c0 ICSR 0x00000000 SP 0x20002770 Task MAIN Freestk 784 ok
      Stack: 00004000 00005e8b 00004000 000041cf a5a5a5a5 00004000 a5a5a5a5 a5a5a5a5 a5a5a5a5 0001d199 a5a5a5a5 0001d1b5 a5a5a5a5 00005a4f a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5
      Driver 0: pos 0, 617.6 steps/mm, ok, SG min 0, read errors 2, write errors 1, ifcnt 144, reads 54569, writes 16, timeouts 140, DMA errors 0, CC errors 0, failedOp 0x71, steps req 0 done 15440450
      Moves scheduled 261208, completed 261207, in progress 1, hiccups 4282, segs 40, step errors 0, maxLate 1 maxPrep 564, maxOverdue 5374, maxInc 2158, mcErrs 0, gcmErrs 0, ebfmin -1.00 max 1.00
      Peak sync jitter -6/8, peak Rx sync delay 260, resyncs 0/0, no timer interrupt scheduled
      VIN voltage: min 24.2, current 24.4, max 29.8
      MCU temperature: min 28.9C, current 75.1C, max 75.2C
      Last sensors broadcast 0x00001002 found 2 241 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 1568794, send timeouts 6, received 969293, lost 0, errs 34187, boc 0, free buffers 18, min 17, error reg 110000
      Last cancelled message type 4525 dest 0
      dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 420, adv 35575/74660
      Accelerometer: LIS3DH, status: 00
      Inductive sensor: not found
      I2C bus errors 0, naks 6, contentions 0, other errors 0
      

      M122 Mainboard

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 Mini 5+ version 3.5.0-rc.2+ (2024-01-15 11:56:10) running on Duet 3 Mini5plus Ethernet (standalone mode)
      Board ID: KHLQ8-GU8LU-F65J0-409N2-1313Z-H6T1G
      Used output buffers: 8 of 40 (32 max)
      === RTOS ===
      Static ram: 103168
      Dynamic ram: 116132 of which 16 recycled
      Never used RAM 18404, free system stack 128 words
      Tasks: NETWORK(1,ready,23.0%,173) ETHERNET(5,nWait 7,0.2%,569) HEAT(3,nWait 6,0.7%,326) Move(4,nWait 6,6.8%,241) CanReceiv(6,nWait 1,1.0%,774) CanSender(5,nWait 7,0.2%,327) CanClock(7,delaying,0.1%,348) TMC(4,nWait 6,15.4%,66) MAIN(1,running,35.8%,667) IDLE(0,ready,0.0%,30) AIN(4,delaying,16.6%,256), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 21:45:00 ago, cause: software
      Last software reset at 2024-01-15 21:55, reason: User, Gcodes spinning, available RAM 27976, slot 2
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      MCU revision 3, ADC conversions started 78301312, completed 78301310, timed out 0, errs 0
      MCU temperature: min 17.7, current 33.9, max 34.4
      Supply voltage: min 23.7, current 23.8, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/3, heap memory allocated/used/recyclable 2048/1296/1220, gc cycles 0
      Events: 1 queued, 1 completed
      Driver 0: ok, SG min 0, read errors 0, write errors 1, ifcnt 196, reads 57358, writes 25, timeouts 0, DMA errors 0, CC errors 0
      Driver 1: ok, SG min 0, read errors 0, write errors 1, ifcnt 196, reads 57358, writes 25, timeouts 0, DMA errors 0, CC errors 0
      Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 39, reads 57352, writes 30, timeouts 0, DMA errors 0, CC errors 0
      Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 38, reads 57352, writes 30, timeouts 0, DMA errors 0, CC errors 0
      Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 37, reads 57353, writes 30, timeouts 0, DMA errors 0, CC errors 0
      Driver 5: not present
      Driver 6: not present
      Date/time: 2024-01-16 19:51:08
      Cache data hit count 4294967295
      Slowest loop: 258.21ms; fastest: 0.11ms
      === Storage ===
      Free file entries: 18
      SD card 0 detected, interface speed: 22.5MBytes/sec
      SD card longest read time 4.8ms, write time 10.9ms, max retries 0
      === Move ===
      DMs created 83, segments created 35, maxWait 68167851ms, bed compensation in use: none, height map offset 0.000, max steps late 1, ebfmin 0.00, ebfmax 0.00
      next step interrupt due in 35 ticks, enabled
      Moves shaped first try 9805, on retry 12276, too short 53284, wrong shape 153332, maybepossible 8084
      === DDARing 0 ===
      Scheduled moves 281191, completed 281158, hiccups 0, stepErrors 0, LaErrors 211, Underruns [0, 0, 5], CDDA state 3
      === DDARing 1 ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1, chamber heaters 9 -1 -1 -1, ordering errs 0
      Heater 0 is on, I-accum = 0.5
      Heater 1 is on, I-accum = 0.0
      === GCodes ===
      Movement locks held by null, null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is doing "G1 X220.349 Y71.367 E.00382" 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
      SBC is idle in state(s) 0
      Daemon is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      File2 is doing "M0" in state(s) 0, sync state 1
      Queue2 is idle in state(s) 0
      Q0 segments left 1, axes/extruders owned 0x0000807
      Code queue 0 is empty
      Q1 segments left 0, axes/extruders owned 0x0000000
      Code queue 1 is empty
      === CAN ===
      Messages queued 970855, received 1569669, lost 0, errs 1, boc 0
      Longest wait 5ms for reply type 4014, peak Tx sync delay 420, free buffers 26 (min 24), ts 391502/391501/0
      Tx timeouts 0,0,0,0,0,0
      === Network ===
      Slowest loop: 230.49ms; fastest: 0.03ms
      Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      = Ethernet =
      Interface state: active
      Error counts: 0 0 9158 0 0 0
      Socket states: 5 2 2 2 2 2 0 0
      

      config.g

      ; Configuration file for Duet 3 Mini 5+ (firmware version 3.5)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.16 on Thu Nov 23 2023 20:11:54 GMT+0200 (Eastern European Standard Time)
      
      ; General preferences
      M575 P1 S1 B57600                                ; enable support for PanelDue
      G90                                              ; send absolute coordinates...
      M83                                              ; ...but relative extruder moves
      M550 P"VT1011"                                   ; set printer name
      M669 K1                                          ; select CoreXY mode
      
      ; Wait a moment for the CAN expansion boards to start
      G4 S2
      
      ; Network
      M552 P192.168.90.200 S1                          ; enable network and set IP address
      M553 P255.255.255.0                              ; set netmask
      M554 P192.168.90.1                               ; set gateway
      M586 P0 S1                                       ; enable HTTP
      M586 P1 S1                                       ; enable FTP
      M586 P2 S0                                       ; disable Telnet
      
      ;          --- Drive map ---
      ; (While looking at the printer top down)
      
      ;             0.0-----0.1
      ;              |  0.2  |
      ;              |-------|
      ;              |0.3|0.4|
      ;               ---+---
      ;                Front
      
      ; Drives for X & Y
      M569 P0.0 S1 D2                                    ; physical drive 0.0 goes forwards
      M569 P0.1 S1 D2                                    ; physical drive 0.1 goes forwards
      
      ; Drives for Z
      M569 P0.2 S0 D3                                     ; physical drive 0.2 goes backwards Stealthchop  | Z1
      M569 P0.3 S0 D3                                    ; physical drive 0.3 goes backwards Stealthchop  | Z0
      M569 P0.4 S0 D3                                    ; physical drive 0.4 goes backwards Stealthchop  | Z2
      
      ; Drive for Extruder 
      M569 P121.0 S0 D2                                   ; physical drive 121.0 goes backwards
      
      ; Motor mapping and steps per mm
      M584 X0.0 Y0.1 Z0.3:0.2:0.4 E121.0               ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                          ; configure microstepping with interpolation
      M92 X160 Y160 Z800                               ; set steps per mm
      M92 E617.6470588                                 ; galileo 2 steps per mm
      
      ; Drive currents
      M906 X1700 Y1700 Z1000 E700 I30                   ; set motor currents (mA) and motor idle factor in per cent
      M84 X Y Z E0 S30                                 ; Set idle timeout
      
      ; Axis accelerations and speeds
      M566 X500 Y500 Z120 E300 P1                       ; set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z900 E7200                    ; set maximum speeds (mm/min)
      M201 X8000 Y8000.00 Z350 E2000                    ; set accelerations (mm/s^2)
      
      ; Reduced accelerations
      ;M201.1 X500 Y500 Z80 E500                        ; Set reduced acceleration for special move types (mm/s²)
      
      ; Printing and travel accelerations
      M204 P5000 T7000                                 ; Set printing acceleration and travel accelerations (mm/s²)
      
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                  ; set axis minimal
      
      M208 X300 Y305 Z240 S0                           ; set axis maximal
      
      ; Endstops
      M574 X2 S1 P"121.io1.in"                         ; configure sensorless endstop for high end on X
      M574 Y2 S1 P"io6.in"                             ; configure sensorless endstop for high end on Y
      
      ; Klicky
      M558 P8 C"^121.io2.in" T18000 F600:180 H2 A10 S0.01   ; set Z probe type to KLICKY and the dive height + speeds
      G31 P500 X0 Y28 Z4.80                            ; 5,4 set Z probe trigger value, offset and trigger height(Z_offset - bigger number bed closer to nozzle)
      
      ; Bed leveling
      M671 X-50:150:350 Y18:348:18 S5                  ; front left, back, front right
      M557 X15:285 Y30:285 P5                         ; define grid for mesh bed compensation, bed mesh distance 83mm to get 4x4 square
      
      ; Accelerometer
      M955 P121.0 I10                                  ; Configure accelerometer
      M593 P"mzv" F25 S0.01 L0.15                           ; disabled 3.5.0rc1 has layer shift issues when IS enabled
      
      ; Heaters
      ; Bed heater
      M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.06e-8 A"Bed" ; 4138 configure sensor 0 as thermistor on pin temp0
      M950 H0 C"out0" T0                               ; create bed heater output on out0 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
      M143 H0 A2 C0 S120                               ; Make sure bed heater stays below 120C
      M143 H0 A1 C0 S125                               ; Make sure bed heater shuts down at 125C
      
      ; Hodend heater
      M308 S1 P"121.temp0" Y"pt1000" A"Hotend"         ; configure sensor 1 as thermistor on pin 121.temp0
      M950 H1 C"121.out0" T1                           ; create nozzle heater output on 121.out0 and map it to sensor 1
      M307 H1 B0 S1.00                                 ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S350                                     ; set temperature limit for heater 1 to 350C
      
      
      ; Chamber heater
      M308 S9 P"temp1" Y"thermistor" A"Chamber" T100000 B4725 C7.06e-8 ; Chamber thermistor conf - ATC Semitec 104NT-4-R025H42G
      M950 H9 C"io5.in" Q1 T9                           ; dummy port used
      M307 H9 B0 S1.00
      M141 H9 ; fake chamber heater for reporting in DWC
      M143 H9 P0 S40 A2
      M143 H9 P1 S60
      
      ; Duet5+ mcu temp
      M308 S3 Y"mcu-temp" A"MCU"                       ; Configure sensor 2 as MCU temperature
      M912 P0 S-2.9                                    ; MCU temp calibration parameters
      
      ; toolhead temp
      M308 S12 Y"mcu-temp" P"121.dummy" A"1LC MCU"
      
      ; Fans
      ;Part cooling
      M950 F0 C"121.out1"                              ; create fan 0 on pin 121.out1 and set its frequency
      M106 P0 S0 H-1 C"Part Cooling"                   ; set fan 0 value. Thermostatic control is turned off
      
      ;Hotend fan
      M950 F1 C"121.out2"                              ; create fan 1 on pin 121.out2 and set its frequency
      M106 P1 S1 H1 T45 C"Hotend Fan"                  ; set fan 1 value. Thermostatic control is turned on
      
      ; Bed fan
      M950 F2 C"out3"                                  ; create fan 2 on pin out3 and set its frequency
      M106 P2 C"BEDF_12V" S0 H-1                       ; set fan 2 value. Thermostatic control is turned on
      
      ; Exhaust fan
      M950 F3 C"out6"                                  ; create fan 3 on pin out6 and set its frequency
      M106 P3 C"EXHAUSTF" S0 B0.1 H9 T45               ; set fan 3 value. Thermostatic control is turned on
      
      ; Nevermore filter
      M950 F4 C"out5"                                  ; create fan 4 on pin out5 and set its frequency
      M106 P4 C"FILTER" S0 B0.1 H0 T90                 ; set fan 4 value. Thermostatic control is turned on
      
      ; Tools
      M563 P0 S"Mosquito Magnum" 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
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M950 P0 C"out1"                                  ; Create output Port0 attached to out1 connector for LED lights
      M501                                             ; load saved parameters from non-volatile memory
      T0                                               ; select first tool
      

      Print file 3DBenchy-Voron-Trident-300-0.4-nozzle-1011-ABS-Orange-Polymaker.gcode

      Active IS graph IS

      oliofundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • oliofundefined
        oliof @vaike_peeter
        last edited by

        @vaike_peeter do you have a spec sheet of your stepper drivers at hand?

        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

        vaike_peeterundefined 1 Reply Last reply Reply Quote 0
        • vaike_peeterundefined
          vaike_peeter @oliof
          last edited by vaike_peeter

          @oliof

          Z-motors - LDO-42STH40-1684L300E

          A and B(x,y) motors - LDO-42STH48-2004MAH

          I already checked current if you think that.

          oliofundefined 1 Reply Last reply Reply Quote 0
          • oliofundefined
            oliof @vaike_peeter
            last edited by

            @vaike_peeter with your .9 degree steppers you hit like 48kHz step rate per axis on CoreXY with 16x microstepping. You should get fine prints dropping down to 8x microstepping and giving more headroom for additional computation like IS.

            There are some other considerations like maximum RPM and torque that you may be hitting with the 2004s. Check the back emf calculator and the TDS of your steppers for the physical stepper limits too. https://www.reprapfirmware.org/emf.html

            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

            vaike_peeterundefined 2 Replies Last reply Reply Quote 0
            • vaike_peeterundefined
              vaike_peeter @oliof
              last edited by

              @oliof
              I will test this when I get back home👍

              1 Reply Last reply Reply Quote 1
              • benecitoundefined
                benecito
                last edited by

                FYI had something similar happen this night on a machine running just closed loop motors.

                IMG_2203.jpg

                Just installed the RC2+ and will see if it happens again.
                Already sent this to @dc42 directly as well.

                1 Reply Last reply Reply Quote 0
                • NeoDueundefined
                  NeoDue @dc42
                  last edited by

                  @dc42 just to make sure since I have no experience yet with the test firmware versions you provide: On my 6HC with no further addon electronics than the PanelDue (a clone, as already noted somewhere here in the forum, since the original PanelDue has too large footprint for this printer - I would have used the one I already own otherwise) and the Wifi module I just need to upload and install Duet3Firmware_MB6HC.bin - correct?

                  droftartsundefined 1 Reply Last reply Reply Quote 0
                  • droftartsundefined
                    droftarts administrators @NeoDue
                    last edited by

                    @NeoDue said in 3.5.0rc1: Input shaping causes layer shifts!?:

                    I just need to upload and install Duet3Firmware_MB6HC.bin - correct?

                    Correct!

                    Ian

                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                    NeoDueundefined 1 Reply Last reply Reply Quote 0
                    • vaike_peeterundefined
                      vaike_peeter @oliof
                      last edited by

                      @oliof That was really good hint. My test print came out without layer shift. Will continue testing but seems promising. Thank you.
                      Now X and Y motors are configured 8 microsteping with 80 steps per mm.

                      1 Reply Last reply Reply Quote 1
                      • NeoDueundefined
                        NeoDue @droftarts
                        last edited by NeoDue

                        @droftarts thanks! But I fear I need to report that did not work as intended at all - the last information I got from the DWC was that it was updating the board firmware... and now I am having a dead printer. I fear I need to work my way to the Duet in the printer and do a restore via USB this weekend instead of doing the test. Now where was the website explaining that process, it has been ages since I needed that...

                        droftartsundefined 1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @NeoDue
                          last edited by

                          @NeoDue Oh dear, sorry! Maybe your iap file was out of date?

                          USB firmware flashing: https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          NeoDueundefined 1 Reply Last reply Reply Quote 0
                          • NeoDueundefined
                            NeoDue @droftarts
                            last edited by NeoDue

                            @droftarts The one that was in the Duet was suitable to update from 3.5.0 beta4 to rc1 and then to rc2. Do I need another one for the test version? There is none in the dropbox folder...

                            droftartsundefined 1 Reply Last reply Reply Quote 0
                            • droftartsundefined
                              droftarts administrators @NeoDue
                              last edited by

                              @NeoDue No, that was probably the latest. Looks like it hasn't been updated for a couple of years: https://github.com/Duet3D/DuetIAP

                              Sorry, not sure why your update failed. Is the DIAG light glowing? See https://docs.duet3d.com/en/User_manual/Troubleshooting/Duet_wont_respond for troubleshooting, just in case it is recoverable.

                              Ian

                              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                              NeoDueundefined 2 Replies Last reply Reply Quote 0
                              • NeoDueundefined
                                NeoDue @droftarts
                                last edited by NeoDue

                                @droftarts Thanks for the links! I will check that. But for now there is a little mechanical work needed - the Snapmaker J1 has its electronics compartment in the base, and I need to remove the housing windows and screw up the z axis before I can unscrew and lift the metal plate covering it... quite some screws before I can see the Duet again 😉

                                1 Reply Last reply Reply Quote 0
                                • NeoDueundefined
                                  NeoDue @droftarts
                                  last edited by

                                  @droftarts Edit: I just managed to catch a glimpse through an unused former USB port opening. If I saw correctly from the reflection, the four voltage LEDs are active, but that's about it. But as noted above, I need to take open the compartment to get a clear look.

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators @vaike_peeter
                                    last edited by

                                    @vaike_peeter thanks for the data. How confident are you that if you disable input shaping, you can do the same print at the same speed without getting any layer shifting?

                                    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

                                    vaike_peeterundefined 2 Replies Last reply Reply Quote 0
                                    • vaike_peeterundefined
                                      vaike_peeter @dc42
                                      last edited by

                                      @dc42 I will do teat print with IS disabled and then post results. I modified my config for x and y steppers and changed print external perimeter accel to 2000 because of ringing. Defaul accel is 5k. I’m off my printer right now.

                                      1 Reply Last reply Reply Quote 0
                                      • NeoDueundefined
                                        NeoDue @dc42
                                        last edited by NeoDue

                                        @dc42 Okay, after a flash with Bossa the printer is up and running again ( @droftarts it turned out to be an outdated IAP file after all, the last version is from November '22 and mine was from June '22), and here is the requested data:

                                        The print file is in the first post of this thread.

                                        The current config.g is this one, it includes the M593 command:

                                        ; Konfigurationsdatei für Duet WiFi Firmware 3.5.0rc2
                                        ; Stand: 26.12.2023
                                        
                                        G4 P2000                ; 2s warten, daß die Duet in Ruhe starten kann - hilft bei einem Reset??
                                        
                                        ; Allgemeine Einstellungen
                                        ;
                                        M451                                ; FDM-Drucker
                                        M669 K0 S50                         ; Kartesischer Drucker, 20ms Mindest-Segmentzeit von Marlin-Sourcen des J1 übernommen
                                        M111 S0                             ; Debugging aus
                                        G21                                 ; Basiseinheit Millimeter
                                        G90                                 ; Absolute Koordinaten...
                                        M83                                 ; ... außer beim Extruder
                                        M555 P1                             ; Firmware-Kompatibilität wie RepRapFirmware
                                        M200 D1.75                          ; Filamentdurchmesser 1,75mm für alle Extruder (nicht notwendig, aber es schadet nicht)
                                        
                                        ; globale Variablen
                                        ;
                                        if !exists(global.Druckplattendicke)
                                            global Druckplattendicke = 5.00 ; Dicke der Druckplatte
                                        if !exists(global.Z_Limit_min)
                                            global Z_Limit_min = 200        ; kleinster zulässiger Max-Wert für Z
                                        if !exists(global.Z_Limit_max)
                                            global Z_Limit_max = 216        ; größter zulässiger Max-Wert für Z
                                        
                                         
                                        ; PanelDue
                                        ;
                                        ;M575 P1 S1 B115200                 ; IO-Port für PanelDue aktivieren
                                        M575 P1 S1 B57600                   ; testweise auf 57600 Baud reduziert
                                        
                                        
                                        ; Definition der Sensoren - 2x PT100 mit Vorverstärker am Hotend, 1x 100K-NTC (laut Marlin ein Epcos 100k-Thermistor?) am Bett
                                        ;
                                        M308 S0 P"temp0" Y"thermistor" A"T_Heizbett" T100000 B4092              ; Sensor 0 = Heizbett-Temperatursensor
                                        ; Hotend-Temperatursensoren - Anmerkungen: 
                                        ; 1. die Vorverstärker im Hotend arbeiten nur im Bereich von 120...310°C linear. Daher weichen die Anzeigewerte insbesondere bei Raumtemperatur ca. 10...15° nach unten ab.
                                        ; 2. Originalwerte laut der Sensorkurve von Snapmaker in Marlin: B-121.551 C549.644. Damit ist der Ausgabewert aber  bei 190°C mindestens 2°C zu niedrig (außen am Heizblock gemessen)
                                        ; Daher Anzeigewert um 5°C nach oben korrigiert auf: 
                                        M308 S1 P"temp1" Y"linear-analog" A"T_Hotend1" F1 B-116.551 C554.644    ; Sensor 1 = PT100 mit Vorverstärker am Hotend 1 (links). GND und 3,3V kommen vom Filamentsensor, Signal an Pin Temp1 legen!
                                        M308 S2 P"temp2" Y"linear-analog" A"T_Hotend2" F1 B-116.551 C554.644    ; Sensor 2 = PT100 mit Vorverstärker am Hotend 1 (links). GND und 3,3V kommen vom Filamentsensor, Signal an Pin Temp2 legen!
                                        ; M308 S3 P"temp3" Y"thermistor" A"Bauraum" T100000 B4092               ; reserviert für Sensor 3 = Sensor für Bauraumheizung
                                        M308 S10 Y"mcu-temp" A"Elektronik"                                      ; Sensor 10 = Prozessortemperatur der Duet für Elektronikraumkühlung - die Stepper haben nur einen dreistufigen Temperatursensor
                                        M308 S11 Y"drivers" A"Steppertreiber"                                   ; Sensor 11 = Steppertreibertemperatur der Duet. 0°C=normal, 100°C=Überhitzungswarnung, 130°C=überhitzt.
                                        
                                        
                                        
                                        ; Definition der Anschlüsse
                                        ; Führendes "!": Pin wird zum Prozessor hin invertiert, die Firmware macht das automatisch)
                                        ; 2-Pin-Lüfter am 4-Pin-Anschluß: einfach nur die beiden Pins V_OUTLCx und OUTx benutzen, den Rest frei lassen
                                        ; Lüfter mit VIN (24V) betreiben - Jumper entsprechend setzen
                                        ;
                                        M950 H0 C"out0" T0              ; Heizelement 0 (Heizbett mit Temperatursensor 0)
                                        M950 H1 C"out1" T1              ; Heizelement 1 (Extruder-Heizung mit Temperatursensor 1)
                                        M950 H2 C"out2" T2              ; Heizelement 2 (Extruder-Heizung mit Temperatursensor 2)
                                        ; H3 (out3) freihalten für Bauraumheizung
                                        M950 F0 C"out4" Q50             ; Lüfter 1 (Bauteilkühlung Hotend 1) PWM-Frequenz 50 Hz (sonst schwankt die Drehzhl)
                                        M950 F1 C"out5" Q50             ; Lüfter 2 (Bauteilkühlung Hotend 2) PWM-Frequenz 50 Hz (sonst schwankt die Drehzahl)
                                        M950 F2 C"out7" Q500            ; Lüfter 3 (Hotendkühlung Hotend 1)
                                        M950 F3 C"out8" Q500            ; Lüfter 4 (Hotendkühlung Hotend 2)
                                        M950 F4 C"out6"    Q50          ; Lüfter 5 (Elektronikraumlüfter) PWM-Frequenz 50 Hz (sonst schwankt die Drehzahl)
                                        M950 P9 C"out9"    Q100         ; LED-Streifen an Ausgang 9
                                        
                                        
                                        ; Definition der Antriebe
                                        ; falls die Timings manuell justiert werden müssen: Parameter T1:1:0.5:6 F6 = 1us min.step pulse, 1us min.step interval, 0,5us DIR setup time, hold time 6us, Toff=6
                                        ; Originale Daten:
                                        ;       Normal: TMC StealthChop für alle Achsen an, max. Tempo X200 Y200 mm/s, max. Beschleunigung X8000 Y8000 mm/s²
                                        ;       Silent: TMC StealthChop für alle Achsen an, max. Tempo X105 Y105 mm/s, max. Beschleunigung X3000 Y3000 mm/s²
                                        ;       Performance (Laut): TMC StealthChop für X und Y aus, max. Tempo X350 Y350 mm/s, max. Beschleunigung M201 X10000 Y10000 mm/s²
                                        ;   Steppereinstellungen von Snapmaker am TMC2210 - Achtung: Snapmaker ändert im Idle-Zustand einige der Parameter!
                                        ;     Stealthchop: für alle Stepper eingeschaltet <-- macht bei den Extrudern null Sinn.
                                        ;     TPWMTHRS: X und Y: 8, Z: 16, E: Defaultwert (welcher auch immer das sein mag...egal, s.o.)
                                        ;     Timing: off-time 4 --> F4, hysteresis_end 2, hysteresis_start 1 --> Y1:2
                                        ;   
                                        ;   Defaultwerte der Duet: ccr 0x08053, toff 3, tblank 1, thigh 200 (46.9 mm/sec), tpwmthrs 200 (46.9 mm/sec), pwmScaleSum 26, pwmScaleAuto 0, pwmOfsAuto 39, pwmGradAuto 0, pos 760
                                        ;
                                        ; Werte aus der Duet-Hilfe:
                                        ;   Cnnnn (firmware 2.0 and later, only applies to TMC2660, TMC22xx, TMC2160 and TMC516x stepper drivers) Lowest 17 bits of the chopper control register value.
                                        ; Bnn (firmware 2.02RC1 and later) Blanking time (tbl) in the chopper control register, 0 to 3. See the TMC driver datasheet.
                                        ; Hnn (firmware 2.02RC2 and later) thigh parameter for those stepper driver chips that support it, e.g. TMC5160 and TMC2160. 
                                        ;    Send M569 P# (where # is the driver number) with no additional parameters to see how this translates into mm/sec. See also the V parameter.
                                        ; Yaa:bb or Yaa:bb:cc (firmware 2.02RC2 and later) Hysteresis start, end and decrement values in the chopper control register. See the TMC driver datasheet for the meaning.
                                        ; Vnnn (firmware 2.02RC1 and later) tpwmthrs parameter for those stepper driver chips that support it. This is the interval in clock cycles between 1/256 microsteps below
                                        ;    which the drivers will switch from stealthChop to to spreadCycle mode. Only applies when the driver is configured in stealthChop mode. 
                                        ;    Typical value are from 100 (high speed) to 4000 (low speed). Send M569 P# (where # is the driver number) with no additional parameters to see how this translates into mm/sec.
                                        ; Fnn (firmware 2.02 and later) Off-time in the chopper control register, 1 to 15
                                        ;
                                        ; Verhältnisse laut TMC-Datenblatt: TCOOLTHRS ≥ TSTEP ≥ TPWMTHRS ≥ THIGH
                                        ; Werte für tpwmthrs: V94 = 100mm/s (XYU) bzw. V310 (Z) (sollte der Einstellung von Snapmaker entsprechen?), V25 = 375mm/s und damit für alle Bewegungen gültig
                                        ;
                                        
                                        ; M569 P0.0 S0 D3 H94 V94       ; Test - Defaultwerte. Ergebnis: Motor etwas lauter und mit weniger Drehmoment
                                        
                                        M569 P0.0 S0 F4 Y1:2 D3 H5 V25  ; Antrieb an DRIVER_0 (X) läuft rückwärts mit StealthChop2, thigh klein (sonst wird CoolStep abgedreht), tpwmhrs auf 375mm/s eingestellt,
                                        M915 P0.0 T1                    ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus ist
                                        M569 P0.1 S1 F4 Y1:2 D3 H5 V25  ; Antrieb an DRIVER_1 (U) läuft vorwärts mit StealthChop2, thigh klein (sonst wird CoolStep abgedreht), tpwmhrs auf 375mm/s eingestellt
                                        M915 P0.1 T1                    ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus ist
                                        M569 P0.2 S1 D2                 ; Antrieb an DRIVER_2 (Z) läuft vorwärts mit Spreadcycle
                                        ; M569 P0.3 S0 D2               ; testweise auf Spreadcycle umgestellt. Nutzt nix.
                                        M569 P0.3 S0 F4 Y1:2 D3 H5 V25  ; Antrieb an DRIVER_3 (Y) läuft rückwärts mit StealthChop2, thigh klein (sonst wird CoolStep abgedreht), tpwmhrs auf 375mm/s eingestellt
                                        M915 P0.3 T1                    ; ... und tcoolthrs extrem niedrig, so daß CoolStep immer aus ist
                                        M569 P0.4 S0 D2                 ; Antrieb an DRIVER_2 (E1) läuft rückwärts mit Spreadcycle
                                        M569 P0.5 S1 D2                 ; Antrieb an DRIVER_3 (E2) läuft vorwärts mit Spreadcycle
                                        
                                        
                                        ; Definition der Achsen und Extruder
                                        ; ACHTUNG beim Einstellen der Steprate und der Interpolation: mehr als 480kHz (max. 650kHz bei nur einem Motor in Betrieb) packt die Duet 3 6HC nicht. Das sollte aber dicke reichen...
                                        ;
                                        M584 X0.0 U0.1 Y0.3 Z0.2 E0.5:0.4           ; Antriebe zu Achsen zuweisen
                                        M350 E64:64 Z16 I0                          ; Mikrostepping ohne Interpolation für Z (mit der 2mm-Steigung der Schraube entspricht ein Vollschritt exakt 0,01mm) und E
                                        M350 X16 U16 Y16 I1                         ; Mikrostepping mit Interpolation für X, U, Y entspricht 0,0125mm pro Mikroschritt
                                        M92 X80 U80 Y80 Z1600 E138.58:138.58 S16    ; (Mikro-)Schritte pro mm
                                        ; M566 X600 U600 Y600 Z100 E300:300         ; testweise erhöht wg. Layer Shifts. Nutzt nix.
                                        M566 X342 U342 Y342 Z100 E300:300           ; Maximale sofortige Geschwindigkeitsänderungen (mm/min). E-Wert aus Marlin, XYUZ-Werte aus Junction Deviation 0,013 errechnet (vgl. https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html). Für XYU möglichst klein halten (Input Shaping)
                                        M203 X21000 U21000 Y21000 Z600 E4800:4800   ; Maximalgeschwindigkeiten (mm/min)
                                        M201 X1000 U1000 Y1000 Z500 E5000:5000      ; Maximalbeschleunigungen je Achse (mm/s²) (Z aus J1-Cura-Profil) - Snapmaker-Daten X,U,Y=10000 sind wegen des Werts in M204 völliger Humbug! (Gesamtbeschleunigung max 1000, daher können die XY-Komponenten nicht höher sein)
                                        M204 P900 T900                              ; höchste erlaubte Gesamtbeschleunigung für Druck und Bewegung (Originalwert Snapmaker: 1000, da fängt aber der Tisch an zu wackeln...)
                                        M906 X1000 U1000 Y1400 Z1000 E800:800 I95   ; Motorströme (mA) und Faktor des Ruhestroms in Prozent TODO höhere Ruhestromabsenkung möglich?
                                        M84 S30                                     ; Timeout für Ruhestrom (s)
                                        ; M915 X U Y S20 F1 R2                      ; Stallguard für X, U und Y TODO Wert festlegen: Snapmaker definiert den Wert als 8 bei einer Bandbreite von 0...255 beim TMC2209; der TMC2160 der Duet hat aber -64...63
                                        
                                        ; Beispielwerte für F von X und Y in mm/s: 
                                        ; F200 --> 100mm in 30s
                                        ; F1000 --> 100mm in 6,5s
                                        ; F2000 --> 100mm in 3,1s
                                        ; F3000 --> 100mm in 2,1s
                                        
                                        
                                        ; Koordinatendefinition
                                        ; Nullpunkt = Mittelpunkt des Druckbetts = Zentrum der XY-Korrekturöffnung
                                        ;
                                        M208 X-175.5 Y-101 Z0 U-151 S1          ; Achsen-Minima
                                        M208 X151 Y101 Z209 U175.5 S0           ; Achsen-Maxima - nur grobe Vorgabe für Z, korrekter Wert wird beim Bedleveling ermittelt und in der Datei z_max.g gespeichert
                                        
                                        
                                        ; Definition der I/O-Ports
                                        ; Achtung: IO_0 wird vom Flachbandkabel der PanelDue belegt, nicht nutzen!
                                        ;
                                        ; Endstops
                                        M574 X1 S1 P"io1.in"             ; X-Endstop: aktiv für Signal auf "High-Level" (NC-Schalter, paßt für die Gabellichtschranke)
                                        M574 U2 S1 P"io2.in"             ; U-Endstop: aktiv am oberen Ende für Signal auf "High-Level" (NC-Schalter, paßt für die Gabellichtschranke)
                                        M574 Y1 S1 P"io3.in"             ; Y-Endstop: aktiv für Signal auf "High-Level" (NC-Schalter, paßt für die Gabellichtschranke)
                                        M574 Z2 S1 P"io4.in"             ; Z-Endstop: aktiv am oberen Ende für Signal auf "High-Level" (NC-Schalter)
                                        ;
                                        ; Filamentsensoren
                                        ; Die Duet unterstützt keine analogen Filamensensoren! Daher müssen die Sensoren des J1 auf digitale Hallsensoren umgebaut oder z.B. ein Arduino als "Übersetzer" verwendet werden
                                        ; Werte für Umbau auf Hallsensor mit 2x12 Magneten je Sensor:
                                        M591 D0 P7 C"io5.in" L4.2 R50:150 E12.5 S0        ; Filamentsensor für Extruder 0, Impulssignal, an "io5.in", 4mm/Impuls, Toleranz 50...150%, erste 3 Pulse = 12,5mm verwerfen
                                        M591 D1 P7 C"io6.in" L4.2 R50:150 E12.5 S0        ; Filamentsensor für Extruder 1, Impulssignal, an "io6.in", 4mm/Impuls, Toleranz 50...150%, erste 3 Pulse = 12,5mm verwerfen
                                        ; gemessene Werte: TODO - nach einigen Drucken mit M591 D0 bzw. M591 D1 auslesen und anpassen!
                                        ; D0: 3.989mm/pulse, min 95%, max 131% over 143.6mm mit PETG
                                        ;     3.985mm/pulse, min 96%, max 130% over 143.6mm mit PETG
                                        ;     4.224mm/pulse, min 95%, max 128% over 143.6mm mit PETG
                                        
                                        ;
                                        ; Druckdüsen als Z-Sensoren
                                        ; Achtung, diese Werte werden von den drei Kalibriermakros temporär überschrieben!
                                        M558 P8 C"^!io7.in" H2 F150 R0.2 T720 K0 B0         ; Z-Sensor Hotend 1=binär ohne Entprellfilter, 2mm Antasthöhe, invertiert (active low)&Pulldownwiderstand aktiv, 300mm/min Meßgeschwindigkeit, 0,5s Recoveryzeit, XY-Bewegung zwischen Messungen 1800mm/min, Heizelemente an
                                        G31 K0 P500 X0 Y0 Z{-global.Druckplattendicke-2}    ; Z-Sensor Hotend 1: Triggerwert, Offset und Auslösehöhe
                                        M558 P8 C"^!io8.in" H2 F150 R0.2 T720 K1 B0         ; Z-Sensor Hotend 2=binär ohne Entprellfilter, 2mm Antasthöhe, invertiert (active low)&Pulldownwiderstand aktiv, 300mm/min Meßgeschwindigkeit, 0,5s Recoveryzeit, XY-Bewegung zwischen Messungen 1800mm/min, Heizelemente an
                                        G31 K1 P500 U0 Y0 Z{-global.Druckplattendicke-2}    ; Z-Sensor Hotend 2: Triggerwert, Offset und Auslösehöhe
                                        ; Hinweis: es darf nur an den Schrauben gemessen werden. Muß in bed.g definiert werden - M557 nicht verwenden!
                                        
                                        
                                        ; Bettleveling
                                        ;
                                        M671 X0:-114.5:114.5 Y86:-93:-93 S3.0 P0.5          ; Position der Einstellschrauben
                                        
                                        
                                        ; Einstellungen Heizbett (H0)
                                        ; auf PID umgestellt, Bang-Bang macht man auch beim Bett nicht mehr, produziert Z-Banding...
                                        M140 H0                             ; Heizelement 0 initialisieren
                                        M307 H0 R0.155 K0.140:0.000 D5.68 E1.35 S1.00 B0 ; Heizelement 0 (Heizbett) Kalibrierungsdaten
                                        M143 H0 S110                        ; Temperaturlimit für Heizelement 0 (Heizbett) = 110°C
                                        
                                        
                                        ; Einstellungen Heizelemente Hotends (H1 und H2)
                                        ;
                                        ; M307 H1 R2.186 K0.17:0.11 D5.67 S1.00 V24.0 ; Heizelement 1 (Hotend 1) alte Kalibrierungsdaten aus Marlin umgerechnet
                                        M307 H1 R2.461 K0.335:0.144 D6.09 E1.35 S1.00 B0 V23.9 ; Heizelement 1 (Hotend 1) Kalibrierungsdaten, kalibriert mit 250°C und F0.55
                                        M143 H1 S320                                    ; Temperaturlimit für Heizelement 1 = 320°C
                                        M570 H1 P5 T16                                  ; erlaubte Temperaturabweichung erhöhen, um die bei Raumtemperatur krumme Verstärkerkennlinie abzufangen (sonst Heater Fault)
                                        ; M307 H2 R2.186 K0.17:0.11 D5.67 S1.00 V24.0   ; Heizelement 2 (Hotend 2) alte Kalibrierungsdaten aus Marlin umgerechnet
                                        M307 H2 R2.476 K0.347:0.131 D5.52 E1.35 S1.00 B0 V23.9 ; ; Heizelement 2 (Hotend 2) Kalibrierungsdaten, kalibriert mit 250°C und F0.55
                                        M143 H2 S320                                    ; Temperaturlimit für Heizelement 2 = 320°C
                                        M570 H2 P5 T16                                  ; erlaubte Temperaturabweichung erhöhen, um die bei Raumtemperatur krumme Verstärkerkennlinie abzufangen (sonst Heater Fault)
                                        M302 P0 S160 R120                               ; Limit für Extruderbewegungen: extrudieren nur ab 160°, zurückziehen nur ab 120°
                                        
                                        
                                        ; Einstellungen Lüfter
                                        ;
                                        M106 P0 S0 H-1 B0.2 L0.17 X1.0 C"Werkzeuglüfter 1"      ; Lüfter 0: Startwert 0%, Steuerung via Thermosensor nicht aktiv, Blip-Dauer 0,2s, Geschwindigkeit von 17%-100%
                                        M106 P1 S0 H-1 B0.2 L0.17 X1.0 C"Werkzeuglüfter 2"      ; Lüfter 1: Startwert 0%, Steuerung via Thermosensor nicht aktiv, Blip-Dauer 0,2s, Geschwindigkeit von 17%-100%
                                        M106 P2 S1.0 H1 T45 C"Hotendlüfter 1"                   ; Lüfter 2: Startwert 100%, Aktiviert, wenn Heizelement 1 > 45°C
                                        M106 P3 S1.0 H2 T45 C"Hotendlüfter 2"                   ; Lüfter 3: Startwert 100%, Aktiviert, wenn Heizelement 2 > 45°C
                                        M106 P4 H10:11 T40:60 B0.2 L0.17 X1.0 C"Elektroniklüfter"   ; Lüfter 4: Aktiviert, wenn Prozessortemperatur > 40°C, läuft bei 70°C oder wenn Steppertreiber eine Überhitzungswarung ausgibt mit 100%.
                                        
                                        
                                        ; Werkzeuge (Tools)
                                        ;
                                        M563 S"Hotend 1" P0 D0 H1 F0            ; Werkzeug 0 = Extruder 0 + Heizelement 1
                                        G10 P0 X0 Y0 Z0                         ; Achsenoffsets für Werkzeug 0
                                        M568 P0 R0 S0                           ; Defaulttemperaturen Werkzeug 0 0°C (=aus)
                                        M563 S"Hotend 2" P1 D1 H2 F1 X3         ; Werkzeug 1 = Extruder 1 + Heizelement 2, X auf U gemappt
                                        G10 P1 X0 Y0 Z0                         ; Achsenoffsets für Werkzeug 1
                                        M568 P1 R0 S0                           ; Defaulttemperaturen Werkzeug 1 0°C (=aus)
                                        ; M563 S"Duplizieren" P2 D0:1 H1:2 X0:3 ; Werkzeug 2 = beide Extruder, 150mm versetzt
                                        ; G10 P2 X75 U-75 Y0 Z0                 ; Achsenoffsets für Werkzeug 2
                                        ; M567 P2 E1:1                          ; Extrusionsverhältnis für beide Hotends gleich
                                        ; M563 S"Spiegeln" P3 D0:1 H1:2 X0:3    ; Werkzeug 3 = Extruder 1 + Heizelement 2, X auf U gemappt und 300mm versetzt. U mit M579 U-1 invertieren, wenn das Tool aktiv ist! Homing anpassen!
                                        ; G10 P3 X75 U-75 Y0 Z0                 ; Achsenoffsets für Werkzeug 3
                                        ; M567 P3 E1:1                          ; Extrusionsverhältnis für beide Hotends gleich
                                        
                                        ; LEDs
                                        ;
                                        M42 P9 S0.5             ; LED-Streifen auf 50%
                                        
                                        
                                        ; Geschwindigkeitsverbesserndes Voodoo (Input Shaping, Pressure Advance etc.)
                                        ; Empfehlung: erst Input shaping justieren, dann Pressure Advance, dann Retraction!
                                        ;
                                        ; testweise Input Shaping deaktiviert
                                        M593 P"zvddd" F58 D0.1 L0.25    ; Input Shaping bei 58Hz, Dämpfungsfaktor 0,1 - TODO testen, ob ei2 oder zvddd besser ist. Dem Sensor nach sind beide ziemlich gleichauf
                                        ; M593 P"ei2" F58 D0.1 L0.03      ; Input Shaping bei 58Hz, Dämpfungsfaktor 0,1
                                        M572 D0:1 S0.05                 ; Pressure Advance. Originalwert 0,02 war klar zu niedrig... 
                                        M309 P0 S0.035                  ; Hotend 1 Feedforward-Wert
                                        M309 P1 S0.035                  ; Hotend 2 Feedforward-Wert
                                        ; Retractwerte (M207) siehe Filamente!
                                        
                                        ; Netzwerk - WLAN-Modul ans Ende setzen wegen Timing-Bug...
                                        ;
                                        M550 P"Duplimatix"          ; Maschinenname
                                        M552 I0 S0                  ; Ethernetanschluß deaktiviert
                                        M586 P0 S1                  ; HTTP-Server aktiv
                                        M586 P1 S0                  ; FTP deaktiviert
                                        M586 P2 S0                  ; Telnet deaktiviert
                                        M552 I1 S1                  ; WLAN-Modul aktiv
                                        
                                        ; Sonstiges
                                        ;
                                        T0                                      ; Erstes Werkzeug bei Start ausgewählt
                                        M42 P9 S0.25                            ; LED-Streifen dimmen
                                        M98 P"Korrekturwert_z_max.g"            ; korrigiertes Z_Max einlesen
                                        M98 P"Korrekturwert_xy_offset_tool1.g"  ; XY-Offset Hotend 2 einlesen
                                        M207 P0 S1.5 R0 F2400 T2400             ; Default-Retractwerte Hotend 1: 1,5mm und 40mm/s
                                        M207 P1 S1.5 R0 F2400 T2400             ; Default-Retractwerte Hotend 2; 1,5mm und 40mm/s
                                        M911 S21.5 R23.5 P"M913 X0 U0 Y0 Z1 E0:0 G91 M83 G1 Z1 F1000" ; Bei Spannungsausfall Zustand sichern, dann X, U und Y aus und Z 1mm absenken
                                        
                                        

                                        [message split due to the 2000 character limit here]

                                        1 Reply Last reply Reply Quote 0
                                        • NeoDueundefined
                                          NeoDue @dc42
                                          last edited by NeoDue

                                          @dc42 [2nd part of message]

                                          And here is the M122 readout, taken about a mm (6..7 layers) after the layer shift occurred:

                                          M122
                                          === Diagnostics ===
                                          RepRapFirmware for Duet 3 MB6HC version 3.5.0-rc.2+ (2024-01-15 11:56:21) running on Duet 3 MB6HC v1.02 or later (standalone mode)
                                          Board ID: 08DJM-956BA-NA3TN-6JTDL-3SN6L-998UU
                                          Used output buffers: 7 of 40 (34 max)
                                          === RTOS ===
                                          Static ram: 155184
                                          Dynamic ram: 123028 of which 0 recycled
                                          Never used RAM 64156, free system stack 122 words
                                          Tasks: NETWORK(2,nWait 7,15.4%,228) HEAT(3,nWait 1,0.0%,321) Move(4,nWait 6,2.7%,214) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,9.9%,56) MAIN(1,running,71.5%,103) IDLE(0,ready,0.4%,30), total 100.0%
                                          Owned mutexes: WiFi(NETWORK)
                                          === Platform ===
                                          Last reset 01:16:09 ago, cause: software
                                          Last software reset at 2024-01-19 23:05, reason: User, Gcodes spinning, available RAM 64316, slot 2
                                          Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
                                          Error status: 0x00
                                          Aux0 errors 0,0,0
                                          MCU temperature: min 45.6, current 47.3, max 47.6
                                          Supply voltage: min 23.6, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
                                          12V rail voltage: min 12.0, current 12.3, max 12.7, under voltage events: 0
                                          Heap OK, handles allocated/used 99/3, heap memory allocated/used/recyclable 2048/1420/1368, gc cycles 13
                                          Events: 0 queued, 0 completed
                                          Driver 0: standstill, SG min 0, mspos 216, reads 27266, writes 28 timeouts 0
                                          Driver 1: ok, SG min 0, mspos 453, reads 27266, writes 28 timeouts 0
                                          Driver 2: standstill, SG min 0, mspos 984, reads 27271, writes 23 timeouts 0
                                          Driver 3: ok, SG min 0, mspos 794, reads 27268, writes 26 timeouts 0
                                          Driver 4: ok, SG min 0, mspos 306, reads 27275, writes 19 timeouts 0
                                          Driver 5: standstill, SG min 0, mspos 714, reads 27276, writes 19 timeouts 0
                                          Date/time: 2024-01-20 00:21:28
                                          Slowest loop: 212.54ms; fastest: 0.05ms
                                          === Storage ===
                                          Free file entries: 17
                                          SD card 0 detected, interface speed: 25.0MBytes/sec
                                          SD card longest read time 4.6ms, write time 2.8ms, max retries 0
                                          === Move ===
                                          DMs created 125, segments created 32, maxWait 119504ms, bed compensation in use: none, height map offset 0.000, max steps late 1, ebfmin -1.00, ebfmax 1.00
                                          next step interrupt due in 326 ticks, disabled
                                          Moves shaped first try 21, on retry 2279, too short 16527, wrong shape 66349, maybepossible 10398
                                          === DDARing 0 ===
                                          Scheduled moves 139469, completed 139424, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3
                                          === DDARing 1 ===
                                          Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                          === Heat ===
                                          Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                                          Heater 0 is on, I-accum = 0.3
                                          Heater 2 is on, I-accum = 0.4
                                          === GCodes ===
                                          Movement locks held by null, null
                                          HTTP is idle in state(s) 0
                                          Telnet is idle in state(s) 0
                                          File is idle in state(s) 3
                                          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
                                          SBC is idle in state(s) 0
                                          Daemon is doing "G4 S10" in state(s) 0 0, running macro
                                          Aux2 is idle in state(s) 0
                                          Autopause is idle in state(s) 0
                                          File2 is idle in state(s) 0, sync state 1
                                          Queue2 is idle in state(s) 0
                                          Q0 segments left 10, axes/extruders owned 0x4000000e
                                          Code queue 0 is empty
                                          Q1 segments left 0, axes/extruders owned 0x0000000
                                          Code queue 1 is empty
                                          === Filament sensors ===
                                          check 50750242 clear 353671
                                          Extruder 0 sensor: ok
                                          Extruder 1 sensor: ok
                                          === CAN ===
                                          Messages queued 41120, received 0, lost 0, errs 21703023, boc 0
                                          Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 22850/0/0
                                          Tx timeouts 0,0,22849,0,0,18269 last cancelled message type 30 dest 127
                                          === Network ===
                                          Slowest loop: 103.88ms; fastest: 0.00ms
                                          Responder states: MQTT(0) HTTP(0) HTTP(2) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                                          HTTP sessions: 1 of 8
                                          = Ethernet =
                                          Interface state: disabled
                                          Error counts: 0 0 0 0 0 0
                                          Socket states: 0 0 0 0 0 0 0 0
                                          === WiFi ===
                                          Interface state: active
                                          Module is connected to access point 
                                          Failed messages: pending 0, notrdy 0, noresp 0
                                          Firmware version 2.1beta6
                                          MAC address 70:04:1d:be:ad:b8
                                          Module reset reason: Power up, Vcc 0.00, flash size 4194304, free heap 221836
                                          WiFi IP address 192.168.178.31
                                          Signal strength -62dBm, channel 2, mode 802.11n, reconnections 0
                                          Clock register 00002002
                                          Socket states: 0 0 0 0 0 0 0 0
                                          === Multicast handler ===
                                          Responder is inactive, messages received 0, responses 0
                                          

                                          The layer shift (in y axis direction) occurred at 5.5 or 5.65mm height. It might be worth to point out though that while I got a layer shift of several millimeters with rc1, now it is only some tenths of a millimeter.
                                          Luckily, I sat directly at the printer and watched it while that happened. One thing is worth noting:
                                          I got an audible low-frequency-"bang" from the printer twice around this height and the whole table (which is a solid 40kg wood plate mounted on electric frame) was shaking - something it only does if the y axis does some really hefty acceleration or deceleration. One of these "bangs" created the small layer shift. The printer was printing one of the inner perimeters of the outside surface of the print and did not cross any perimeters or holes in the structure at the time.
                                          Please note no protruding material or such was there that might have blocked the nozzle, and the noise was also quite different from when that happens - such a print error usually creates more of a"rumbling" noise on my printer, with a higher-pitched "klack" or rattling noise if the motor looses one or more steps that it wants to make.
                                          If I would have to conclude what might have created that noise, I would say the Y axis got... well... delayed and had to hurry to catch up, if that does make any sense...

                                          oliofundefined 1 Reply Last reply Reply Quote 1
                                          • oliofundefined
                                            oliof @NeoDue
                                            last edited by

                                            @NeoDue you need to switch to spreadcycle to avoid the bangs which happens when stealth chop switches modes, change M569 to use D2 rather than D3.

                                            <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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