Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. MaxGyver
    • Profile
    • Following 28
    • Followers 1
    • Topics 70
    • Posts 317
    • Best 40
    • Controversial 0
    • Groups 0

    MaxGyver

    @MaxGyver

    67
    Reputation
    45
    Profile views
    317
    Posts
    1
    Followers
    28
    Following
    Joined Last Online

    MaxGyver Unfollow Follow

    Best posts made by MaxGyver

    • RE: Duet3D at Formnext 2022

      Yesterday I visited the Duet3D booth and had the pleasure to meet the team and have a chat with David and Christian.

      It made me realize just how much is going on behind the curtains and how much work and passion those guys are pouring into the development of new features and constant improvement of the overall system.

      I am super excited about what's to come.
      I hope you guys have a great last day at Formnext!

      Max

      posted in General Discussion
      MaxGyverundefined
      MaxGyver
    • [Feature request] Support for constant surface speed (G96/G50)

      I would like to use the constant surface speed feature on my Duet based CNC-Lathe.

      I am using a generic Haas turning post Processor with some minor adjustments that I have tested with Fusion360 or Solidworks+HSMWorks.

      the constant surface speed GCode (G96) is defined on the Haascnc G-Code dictionary as follows:

      "G96 commands the control to maintain a constant cutting speed at the tip of the tool. The spindle RPM is based on the diameter of the part where the cut is taking place, and the commanded S value (RPM=3.82xSFM/DIA). This means the spindle speed increases as the tool gets closer to X0. When Setting 9 is set to INCH, the S value specifies Surface Feet Per Minute. When Setting 9 is set to MM, the S value specifies Surface Meters Per Minute.

      WARNING: It is safest to specify a maximum spindle speed for the Constant Surface Speed feature. Use G50 to set a maximum spindle RPM. Not setting a limit allows the spindle speed to increase as the tool reaches the center of the part. The excessive speed can throw parts and damage tooling."

      Cheers Max

      posted in Firmware wishlist
      MaxGyverundefined
      MaxGyver
    • Duet3 closed loop options

      Good morning!

      I know that this has been discussed several times already. I started this thread to collect the available closed loop options for the Duet3.

      I have two custom large format printers in the making. One with a build volume of 1000x1000x1000mm for printing architecture models and one with 500x500x1000mm for printing speaker enclosures. With a Build volume this large speed and reliability are essential. Therefore, a closed-loop motion system is a "must have" for my clients.

      For the Duet3 I have found the following options:

      1. Duet3 + Duet3 Expansion 1XD + external closed loop stepper drivers that accept step/dir signals

      2. @dc42 I am aware that there is a closed-loop extension board in the making for the Duet3. Is there already a rough estimate on the release date or beta test?

      3. Is there an alternative "of the shelve" closed loop solution available that support the CAN FD protocol?

      Cheers,
      Max

      posted in Duet Hardware and wiring
      MaxGyverundefined
      MaxGyver
    • RE: Automatic CNC dust shoe

      @T3P3Tony

      Indeed, I wrote a simple macro that sets the height of the dust shoe to the height of the spindle collet+ the current tool length. This macro is called after a toolchange or if one of the macros for mist cooling or dust extraction is called. Maybe I will add a demon later that updates the height of the dust shoe regularly during a job. But for now this will do.

      I made a short video while running a tool change. Not having to fiddle with the dust shoe during toolchanges is already so much more convenient.

      posted in CNC
      MaxGyverundefined
      MaxGyver
    • RE: Ask user to set bed temperature before bed mesh probing

      And with this start Gcode for PrusaSlicer the correct heightmap is loaded according to the temperature of the printbed.

      {if first_layer_bed_temperature[0] <=40}
      G29 S1 P"heightmap_roomtemp.csv"
      {elsif first_layer_bed_temperature[0] <=70}
      G29 S1 P"heightmap_60°.csv"
      {elsif first_layer_bed_temperature[0] <=90}
      G29 S1 P"heightmap_80°.csv"
      {elsif first_layer_bed_temperature[0] <=110}
      G29 S1 P"heightmap_100°.csv"
      {endif}
      

      Thanks everyone for your ideas and feedback. This is by far more elegant than my original idea. 🙂

      posted in Gcode meta commands
      MaxGyverundefined
      MaxGyver
    • RE: Dual Y-Motor gantry squaring with closed loop steppers

      @dc42 Thank you for your response.

      Yes, I am running RRF 3.4.4 (Sorry, I forgot to mention that!)
      With RRF 3.5beta1 on the EXP1HCL, the Y-axis motors now keep their position when closed loop mode is activated. 🙂 👍

      posted in Tuning and tweaking
      MaxGyverundefined
      MaxGyver
    • RE: Combined Smart Effector and tool board for delta printers

      With the release of the new Duet 3 Roto Toolboard I am not sure if a new smart effector is really needed. for me the main advantage of the smart effector was nozzle probing. But with the new Scanning Z-Probe Nozzle probing is already obsolete in my opinion. Of course you woul need to set the probe offset manually with a Scanning Z-Probe. To do this I use either a separate button style probe or I adjust the z height manually with baby stepping and run a simple macro to adjust the probe offset by the baby stepping amount and save the new probe offset in config-override.g.

      I would still be interested in buying multiple smart effectors if they support the following points. some of them are obvious but for the sake of completeness...

      • Scanning Z-Probe
      • onboard accelerometer
      • onboard motor driver
      • Io input for filament monitor
      • VZ style hotend mounting holes for Hotends like the Phaetus Rapido, VZ-Revo or Mellow Goliath Hotends.
      • Enough space for direct drive extruders.

      And lastly not necessarily a must but it is nice to have options.

      • A hotend mosfest that can handle <100 W (Mellow Goliath Hotend)

      Since I use CPAP style part cooling and watercooling for the hotend I do not require fanports on the tool board. But I recon This would be a no-go for most users.

      posted in Future Direction
      MaxGyverundefined
      MaxGyver
    • RE: Duet3/pi DCS is unavailable after wiring 24V

      @bearer @Phaedrux

      I have solved the issue by installing the unstable version (DSF Version: 2.1.3) of Duet Software Framework on Raspberry Pi. and also reverting back to RC11

      The guide links to the stable version of the DSF and latest version of the reprap firmware which, at least in my case is not compatible and will lead to the "DCS is unavailable" Error.

      cheers Max

      posted in Duet Hardware and wiring
      MaxGyverundefined
      MaxGyver
    • RE: The ULTIMATE RepRap Post-Processor for Fusion 360

      Hey @bruce

      Thank you so much for developing and sharing your post processor! I use it with the HSM-Works plugin directly in SolidWorks for my duet based CNC Mill.

      Any chance to also include a profile for turning as well? I am in the process of converting a Lathe to CNC using a Duet3 6HC board. With lathe support, it would really be the "one post processor to rule them all" 😁

      Cheers Max

      posted in CNC
      MaxGyverundefined
      MaxGyver
    • RE: Combined Smart Effector and tool board for delta printers

      @dc42

      That's a very good point.
      I am wondering if the effector tilt can be measured and actively compensated by software...but this is probably another topic...

      Ball spacing of 70mm between the ball centers should be sufficient for a compact direct extruder. It would need to be raised tough in order to clear the hotend collet. I have also tried fitting other hotends like the Voron-Revo and Pheatus Rapido/Goliath. The Voron-Revo does not work, but the Pheatus Rapido/Goliath might just work. The M3 mounting holes just clear the center hole of the effector, but I recon it will mess with the placement of the strain gauges. The threaded E3D-V6 and E3D-Revo Micro support a large range of hotend combinations. Maybe we should stick with those for the sake of simplicity.

      EDIT: and there is also the option to use an adapter like this

      E3D Revo-Micro
      Screenshot 2024-01-14 225726.png

      Top View of the effektor with a sherpa mini
      Screenshot 2024-01-14 231601.png

      Bondtech LGX Lite
      Screenshot 2024-01-14 231617.png

      VZ-Hextrudort
      Screenshot 2024-01-14 231636.png

      EDIT: The Orbiter 2.0 was missing
      Screenshot 2024-01-16 184320.png

      posted in Future Direction
      MaxGyverundefined
      MaxGyver

    Latest posts made by MaxGyver

    • RE: [3.6.0-rc.2] Code 3 move error

      @dc42 Yes, Input shaping was Set to 8.7Hz EI3.

      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc.2] Code 3 move error

      @dc42

      I finally had a chance to test the latest 3.6.0-rc.3. When the input shaping frequency is set below 12Hz I still have a code 3 movement error always at the same code line early in the first layer. When the IS frequency is >12Hz it is working. I have attached the test pot.gcode file that is causing the error.

      Error: Code 3 move error: new: start=335135293 overlap=3753 time now=335099122, existing: s=335096227 t=42819 d=20.49 u=8.1090e-4 a=-1.5526e-8 f=18
      
      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.6.0-rc.3 (2025-04-30 14:43:53) running on Duet 3 MB6HC v1.01 (SBC mode)
      Board ID: 0JD2M-999AL-D25S4-7J1D2-3SJ6K-T51V3
      Used output buffers: 1 of 40 (19 max)
      === RTOS ===
      Static ram: 137420
      Dynamic ram: 98720 of which 0 recycled
      Never used RAM 107844, free system stack 130 words
      Tasks: LASER(5,nWait 7,0.0%,235) SBC(2,nWait 7,1.1%,813) HEAT(3,nWait 6,0.0%,368) Move(4,nWait 6,0.0%,209) TMC(4,nWait 6,3.0%,377) CanReceiv(6,nWait 1,0.1%,792) CanSender(5,nWait 7,0.0%,329) CanClock(7,delaying,0.0%,350) MAIN(1,running,83.7%,500) IDLE(0,ready,12.1%,29) USBD(3,blocked,0.0%,149), total 100.0%
      Owned mutexes: HTTP(MAIN)
      === Platform ===
      Last reset 00:02:34 ago, cause: software
      Last software reset at 2025-05-12 11:06, reason: User, Gcodes spinning, available RAM 82500, slot 1
      Software reset code 0x2003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
      Error status: 0x00
      MCU temperature: min 33.9, current 34.3, max 35.0
      Supply voltage: min 23.4, current 23.5, max 23.6, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 12.0, current 12.1, max 12.1, under voltage events: 0
      Heap OK, handles allocated/used 99/16, heap memory allocated/used/recyclable 2048/320/52, gc cycles 0
      Events: 599 queued, 599 completed
      Date/time: 2025-05-12 11:08:41
      Slowest loop: 1545.84ms; fastest: 0.07ms
      === Storage ===
      Free file entries: 20
      SD card 0 not detected, requested/actual speed: 0.0/37.5MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      Segments created 3, maxWait 68608ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.05ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
      Pos req/act/dcf: -464285.00/-463726/-0.50 0.00/0/0.00 804000.00/804000/0.00
      Next step interrupt due in 22 ticks, disabled
      Driver 0: standstill, SG min n/a, mspos 8, reads 47118, writes 11 timeouts 0
      Driver 1: standstill, SG min n/a, mspos 8, reads 47118, writes 11 timeouts 0
      Driver 2: standstill, SG min n/a, mspos 8, reads 47118, writes 11 timeouts 0
      Driver 3: standstill, SG min n/a, mspos 8, reads 47118, writes 11 timeouts 0
      Driver 4: standstill, SG min n/a, mspos 8, reads 47118, writes 11 timeouts 0
      Driver 5: standstill, SG min n/a, mspos 8, reads 47118, writes 11 timeouts 0
      Phase step loop runtime (us): min=0, max=40, frequency (Hz): min=1744, max=2358
      === DDARing 0 ===
      Scheduled moves 6, completed 5, LaErrors 0, Underruns [0, 0, 0]
      Segments left 0, axes/extruders owned 0x80000007, drives owned 0x80000007
      Code queue is empty
      === DDARing 1 ===
      Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0]
      Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000
      Code queue is empty
      === Heat ===
      Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters 2 -1 -1 -1 -1 -1 -1 -1, ordering errs 0
      Heater 0 is on, I-accum = 0.0
      Heater 1 is on, I-accum = 0.0
      === GCodes ===
      Movement locks held by Trigger, null
      HTTP* is doing "M122" in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger* is idle in state(s) 2 0 5 0, running macro
      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 idle in state(s) 0
      Queue2 is idle in state(s) 0
      === Filament sensors ===
      Driver 31: no filament
      === CAN ===
      Messages queued 1431, received 9757, lost 0, ignored 0, errs 0, boc 0
      Longest wait 4ms for reply type 6061, peak Tx sync delay 379, free buffers 50 (min 49), ts 734/733/0
      Tx timeouts 0,0,0,0,0,0
      === SBC interface ===
      Transfer state: 5, failed transfers: 0, checksum errors: 0
      RX/TX seq numbers: 6084/6084
      SPI underruns 0, overruns 0
      State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x27a24
      Buffer RX/TX: 208/256-0, open files: 0
      === Duet Control Server ===
      Duet Control Server version 3.6.0-rc.3 (2025-04-30 10:29:48, 64-bit)
      HTTP+Executed:
      > Executing M122
      Trigger:
      Buffered code: G1 H1 X-1205 F{global.homingspeed/2} ; move slowly to X axis endstop once more (second pass)
      Buffered code: G90 ; absolute positioning
      Buffered codes: 96 bytes total
      >> Doing macro trigger2.g, started by system
      >>> Doing macro homeall.g, started by G28
      >>> Suspended code: M98 P"homey.g"
      >>>> Doing macro homex.g, started by M98 P"homex.g"
      Code buffer space: 3840
      Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
      Full transfers per second: 40.77, max time between full transfers: 1750.1ms, max pin wait times: 39.5ms/4.0ms
      Codes per second: 0.71
      Maximum length of RX/TX data transfers: 4468/904
      
      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: Advise for wiring step/dir signals over long distance (4m)

      @ironhydroxide @dc42

      Thank you both for your feedback.
      I have some more questions:

      • Are the duet driver outputs ESD protected, or would it be advisable to add TVS diodes?
      • How, and where, should I ground the cable shield?
        -To the case/earth?
        -As close as possible to Duet?
        -I have read that the shield can be grounded to the electronics GND with a capacitor in between shield and GND?
      posted in Duet Hardware and wiring
      MaxGyverundefined
      MaxGyver
    • Advise for wiring step/dir signals over long distance (4m)

      I got my hands on some iCLD57-21 integrated closed loop stepper motors. I would like to use them in a BigrepONE printer that I am upgrading to a Duet 6XD. The longest signal path would be around 3-4m in length. Hence, I am looking for advice on good practice and maybe some tips and tricks to avoid signal distortion.

      The Duet 6XD does not support differential signal output, so I would go for single ended NPN. In the Wiki example, the +5V line is bridged at the Driver side.

      alt text

      I was wondering if bridging +5V at the duet side and running twisted pairs of +5V/ Step- and +5V/Dir- to the motor would improve the signal quality. I have also read that longer signal pulses can improve the signal quality, especially with long cables. What would be the best practice here? Set longer step pulse timings until the maximum desired speed of the axis is no longer reached, and back up from there?

      posted in Duet Hardware and wiring
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc2+1] Code 7 move error

      @dc42

      Thank you for your efforts! Unfortunately, I don't have a chance to test the fix soon since the printer is being disassembled and moved right now. I will report back as soon as we have it back up and running.

      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc.2] Code 3 move error

      @dc42

      Here you go:
      LARGE SOFIA LAMPSHADE.gcode

      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc.2] Code 3 move error

      The issue is also present in 3.6.0-rc.1

      Error: Code 3 move error: new: start=651528999 overlap=5623 time now=651492690, existing: s=651491803 t=42819 d=20.46 u=8.0975e-4 a=-1.5504e-8 f=18
      
      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc.2] Code 3 move error

      @dc42

      Yes, I had the same Code 3 move error. I did not copy the error code tough.

      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc.2] Code 3 move error

      I just upgraded the printer to a RPI5 with a clean install...still the same error

      @jay_s_uk said in [3.6.0-rc.2] Code 3 move error:

      @MaxGyver can you also, just for completeness, provide the M122 output from your connected toolboard etc?

      Sure, here are the diagnostics of all boards including the mainboard:

      M122 B0
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.6.0-rc.2 (2025-03-31 12:17:13) running on Duet 3 MB6HC v1.01 (SBC mode)
      Board ID: 0JD2M-999AL-D25S4-7J1D2-3SJ6K-T51V3
      Used output buffers: 1 of 40 (18 max)
      === RTOS ===
      Static ram: 137420
      Dynamic ram: 98632 of which 0 recycled
      Never used RAM 106540, free system stack 132 words
      Tasks: LASER(5,nWait 7,0.0%,167) SBC(2,nWait 7,0.9%,825) HEAT(3,nWait 6,0.0%,367) TMC(4,nWait 6,3.1%,375) CanReceiv(6,nWait 1,0.1%,782) CanSender(5,nWait 7,0.0%,329) CanClock(7,delaying,0.0%,350) MAIN(1,running,95.6%,500) IDLE(0,ready,0.4%,29) USBD(3,blocked,0.0%,149), total 100.0%
      Owned mutexes: HTTP(MAIN)
      === Platform ===
      Last reset 00:18:15 ago, cause: software
      Last software reset at 2025-04-01 16:42, reason: User, Gcodes spinning, available RAM 96348, slot 2
      Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
      === Storage ===
      Free file entries: 20
      SD card 0 not detected, interface speed: 37.5MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      Segments created 61, maxWait 260198ms, bed comp in use: mesh, height map offset 0.000, hiccups added 0/0 (0.00/12.06ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
      Pos req/act/dcf: 74103.00/69052/0.53 48913.00/48970/-0.49 902.00/900/0.64
      No step interrupt scheduled
      Driver 0: standstill, SG min n/a, mspos 8, reads 28346, writes 11 timeouts 0
      Driver 1: standstill, SG min n/a, mspos 8, reads 28346, writes 11 timeouts 0
      Driver 2: standstill, SG min n/a, mspos 8, reads 28346, writes 11 timeouts 0
      Driver 3: standstill, SG min n/a, mspos 8, reads 28346, writes 11 timeouts 0
      Driver 4: standstill, SG min n/a, mspos 8, reads 28346, writes 11 timeouts 0
      Driver 5: standstill, SG min n/a, mspos 8, reads 28346, writes 11 timeouts 0
      Phase step loop runtime (us): min=0, max=30, frequency (Hz): min=1102, max=9868
      === DDARing 0 ===
      Scheduled moves 181, completed 176, LaErrors 0, Underruns [0, 0, 0]
      Segments left 1, axes/extruders owned 0x80000007, drives owned 0x80000007
      Code queue is empty
      === DDARing 1 ===
      Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0]
      Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000
      Code queue is empty
      === Heat ===
      Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters 2 -1 -1 -1 -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks held by null, null
      HTTP* is doing "M122 B0" 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 idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      File2 is idle in state(s) 0
      Queue2 is idle in state(s) 0
      === Filament sensors ===
      Driver 31: no filament
      === CAN ===
      Messages queued 5971, received 71111, lost 0, ignored 0, errs 0, boc 0
      Longest wait 9ms for reply type 6024, peak Tx sync delay 372, free buffers 50 (min 46), ts 5193/5192/0
      Tx timeouts 0,0,0,0,0,0
      === SBC interface ===
      Transfer state: 5, failed transfers: 0, checksum errors: 0
      RX/TX seq numbers: 42674/42674
      SPI underruns 0, overruns 0
      State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x27a7c
      Buffer RX/TX: 776/2296-0, open files: 0
      === Duet Control Server ===
      Duet Control Server version 3.6.0-rc.2 (2025-03-31 10:53:52, 64-bit)
      HTTP+Executed:
      > Executing M122
      File 0:/gcodes/LARGE SOFIA LAMPSHADE.gcode is selected, processing
      File:
      Buffered code: G1 X559.936 Y489.031 E95.74515
      Buffered code: G1 X562.242 Y489.426 E97.48178
      Buffered code: G1 X564.283 Y490.57 E99.21853
      Buffered code: G1 X565.909 Y492.472 E101.07594
      Buffered code: G1 X626.069 Y596.422 E190.22657
      Buffered code: G1 X626.881 Y598.616 E191.96309
      Buffered code: G1 X626.911 Y600.956 E193.70017
      Buffered code: G1 X626.077 Y603.314 E195.55672
      Buffered code: G1 X566.134 Y707.39 E284.70781
      Buffered code: G1 X564.639 Y709.19 E286.44466
      Buffered code: G1 X562.628 Y710.386 E288.18143
      Buffered code: G1 X560.168 Y710.843 E290.03869
      Buffered code: G1 X440.064 Y710.969 E379.18981
      Buffered code: G1 X437.758 Y710.574 E380.92644
      Buffered code: G1 X435.717 Y709.43 E382.66319
      Buffered code: G1 X434.091 Y707.528 E384.5206
      Buffered code: G1 X373.931 Y603.578 E473.67123
      Buffered code: G1 X373.119 Y601.384 E475.40775
      Buffered code: G1 X373.089 Y599.044 E477.14483
      Buffered code: G1 X373.923 Y596.686 E479.00138
      Buffered code: G1 X433.866 Y492.61 E568.15247
      Buffered code: G1 X435.074 Y491.156 E569.55563
      Buffered code: G1 E566.55563 F6000
      Buffered code: G92 E0
      Buffered code: G1 Z2 F18000
      Buffered code: G92 E0
      Buffered code: G1 X488.207 Y581.793
      Buffered code: G1 Z1
      Buffered code: G1 E3 F6000
      Buffered code: G1 F3360.595
      Buffered codes: 1344 bytes total
      Code buffer space: 1800
      Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
      Full transfers per second: 39.19, max time between full transfers: 40.8ms, max pin wait times: 38.7ms/0.5ms
      Codes per second: 0.21
      Maximum length of RX/TX data transfers: 5240/1072
      
      M122 B1
      Diagnostics for board 1:
      Duet EXP3HC rev 1.01 or earlier firmware version 3.6.0-rc.2 (2025-03-31 12:21:29)
      Bootloader ID: not available
      All averaging filters OK
      Never used RAM 168744, free system stack 182 words
      Tasks: Move(3,nWait 7,0.0%,134) TMC(2,nWait 6,7.3%,95) HEAT(2,nWait 6,0.1%,110) CanAsync(5,nWait 4,0.0%,66) CanRecv(3,nWait 1,0.0%,73) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,91.5%,295) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.1%,261), total 100.0%
      Owned mutexes:
      Last reset 00:12:31 ago, cause: software
      Last software reset at 2023-05-24 22:19, reason: StackOverflow, available RAM 158036, slot 1
      Software reset code 0x0100 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0048180e BFAR 0xe000ed38 SP 0x2002ffbc Task HEAT Freestk 44648 ok
      Stack: 200045c0 200045f4 00026599 00000000 20003c94 000000fa 00025c45 200047cc 20003c94 00000000 00f00000 e000e000 c0000000 00000006 00025d81 00025b00 21000000 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
      Moves scheduled 5, hiccups 0 (0.00/12.06ms), segs 18, step errors 0 (types 0x0), maxLate 0 maxPrep 53, ebfmin 0.00 max 0.00
      Peak sync jitter -7/5, peak Rx sync delay 212, resyncs 0/0, no timer interrupt scheduled, next step interrupt due in 4167254009 ticks, disabled
      VIN voltage: min 22.7, current 24.0, max 24.0
      V12 voltage: min 12.3, current 12.3, max 12.3
      MCU temperature: min 28.1C, current 30.4C, max 30.8C
      Driver 0: pos 10497, 490.0 steps/mm, standstill, SG min 0, mspos 1016, reads 21243, writes 19 timeouts 0
      Driver 1: pos 0, 80.0 steps/mm, standstill, SG min n/a, mspos 8, reads 21251, writes 11 timeouts 0
      Driver 2: pos 0, 80.0 steps/mm, standstill, SG min n/a, mspos 8, reads 21252, writes 11 timeouts 0
      Last sensors broadcast 0x00000007 found 3 27 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 15645, send timeouts 0, received 6770, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 293, adv 35729/37075
      === Filament sensors ===
      Interrupt 5726621 to 0us, poll 1 to 254us
      Driver 0: ok
      
      	M122 B2
      Diagnostics for board 2:
      Duet EXP3HC rev 1.01 or earlier firmware version 3.6.0-rc.2 (2025-03-31 12:21:29)
      Bootloader ID: not available
      All averaging filters OK
      Never used RAM 169692, free system stack 202 words
      Tasks: Move(3,nWait 7,0.0%,176) TMC(2,nWait 6,7.1%,95) HEAT(2,nWait 6,0.1%,117) CanAsync(5,nWait 4,0.0%,70) CanRecv(3,nWait 1,0.0%,73) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,91.7%,321) IDLE(0,ready,0.0%,39) AIN(2,delaying,1.1%,261), total 100.0%
      Owned mutexes:
      Last reset 00:15:46 ago, cause: software
      Last software reset data not available
      Moves scheduled 0, hiccups 0 (0.00/12.06ms), segs 0, step errors 0 (types 0x0), maxLate 0 maxPrep 0, ebfmin 0.00 max 0.00
      Peak sync jitter -6/5, peak Rx sync delay 213, resyncs 0/0, no timer interrupt scheduled, next step interrupt due in 3584711043 ticks, disabled
      VIN voltage: min 23.8, current 23.9, max 23.9
      V12 voltage: min 12.2, current 12.2, max 12.2
      MCU temperature: min 29.9C, current 30.4C, max 30.6C
      Driver 0: pos 0, 80.0 steps/mm, standstill, SG min n/a, mspos 8, reads 59275, writes 11 timeouts 0
      Driver 1: pos 0, 80.0 steps/mm, standstill, SG min n/a, mspos 8, reads 59275, writes 11 timeouts 0
      Driver 2: pos 0, 80.0 steps/mm, standstill, SG min n/a, mspos 8, reads 59276, writes 11 timeouts 0
      Last sensors broadcast 0x00000038 found 3 11 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 18822, send timeouts 0, received 8247, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 0
      
      	M122 B123
      Diagnostics for board 123:
      Duet EXP1XD firmware version 3.6.0-rc.2 (2025-03-31 12:21:12)
      Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
      All averaging filters OK
      Never used RAM 9016, free system stack 75 words
      Tasks: Move(3,nWait 7,0.0%,92) HEAT(2,nWait 6,0.1%,124) CanAsync(5,nWait 4,0.0%,58) CanRecv(3,nWait 1,0.0%,70) CanClock(5,nWait 1,0.0%,58) MAIN(1,running,64.9%,420) IDLE(0,ready,0.0%,40) AIN(2,nWait 2,34.9%,112), total 100.0%
      Owned mutexes:
      Last reset 00:14:27 ago, cause: software
      Last software reset at 2024-10-09 17:58, reason: OutOfMemory, available RAM 8, slot 0
      Software reset code 0x01c0 ICSR 0x00000000 SP 0x20004c98 Task Move Freestk 96 ok
      Stack: 20004ef8 00005a4b 00000000 36532722 00029e30 0000797b 00000000 000064ad 20007160 00000000 2fd75a5f b9b6dd11 fffffffd 00000496 b9b6ddaa 20004fe8 2000193f 20004d74 00029e30 20004a4c 20004990 bfa4c566 20004fe8 00000784 36532e2f 00006ab7 bf2a04ab
      Moves scheduled 29, hiccups 5 (0.25/12.06ms), segs 22, step errors 0 (types 0x0), maxLate 0 maxPrep 1245, ebfmin 0.00 max 0.00
      Peak sync jitter 2/7, peak Rx sync delay 256, resyncs 0/0, no timer interrupt scheduled, next step interrupt due in 4080735155 ticks, disabled
      VIN voltage: min 23.7, current 23.8, max 23.9
      MCU temperature: min 27.0C, current 27.2C, max 38.3C
      Driver 0: pos -4185, 100.0 steps/mm
      Last sensors broadcast 0x00000000 found 0 85 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 6966, send timeouts 0, received 10909, lost 0, ignored 0, errs 0, boc 0, free buffers 18, min 18, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 337, adv 34992/37159
      
      	M122 B124
      Diagnostics for board 124:
      Duet EXP1XD firmware version 3.6.0-rc.2 (2025-03-31 12:21:12)
      Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
      All averaging filters OK
      Never used RAM 9040, free system stack 75 words
      Tasks: Move(3,nWait 7,0.0%,90) HEAT(2,nWait 6,0.1%,124) CanAsync(5,nWait 4,0.0%,58) CanRecv(3,nWait 1,0.0%,70) CanClock(5,nWait 1,0.0%,58) MAIN(1,running,64.8%,420) IDLE(0,ready,0.0%,40) AIN(2,nWait 2,35.1%,112), total 100.0%
      Owned mutexes:
      Last reset 00:14:47 ago, cause: software
      Last software reset at 2024-10-09 17:58, reason: OutOfMemory, available RAM 8, slot 0
      Software reset code 0x01c0 ICSR 0x00426000 SP 0x20004c98 Task Move Freestk 96 ok
      Stack: 20004ef8 00005a4b 00000000 365335b3 00029e30 0000797b 00000000 000064ad 20006c08 80000000 b021828c 3a08fff3 20004990 20006d28 365335b3 20006d28 00eedf29 20004d74 00029e30 20004a4c 20004990 3ff72819 20006d28 00000786 36533cc0 00006ab7 3f7f27c5
      Moves scheduled 49, hiccups 167 (8.24/12.06ms), segs 21, step errors 0 (types 0x0), maxLate 0 maxPrep 1592, ebfmin 0.00 max 0.00
      Peak sync jitter 1/6, peak Rx sync delay 265, resyncs 0/0, no timer interrupt scheduled, next step interrupt due in 4065336518 ticks, disabled
      VIN voltage: min 23.7, current 23.8, max 23.8
      MCU temperature: min 26.7C, current 26.9C, max 37.9C
      Driver 0: pos 6441, 193.1 steps/mm
      Last sensors broadcast 0x00000000 found 0 169 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 7130, send timeouts 0, received 11191, lost 0, ignored 0, errs 0, boc 0, free buffers 18, min 18, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 471, adv 35006/37151
      
      M122 B125
      Diagnostics for board 125:
      Duet EXP1XD firmware version 3.6.0-rc.2 (2025-03-31 12:21:12)
      Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
      All averaging filters OK
      Never used RAM 9064, free system stack 75 words
      Tasks: Move(3,nWait 7,0.0%,92) HEAT(2,nWait 6,0.1%,124) CanAsync(5,nWait 4,0.0%,58) CanRecv(3,nWait 1,0.0%,70) CanClock(5,nWait 1,0.0%,58) MAIN(1,running,64.2%,424) IDLE(0,ready,0.0%,40) AIN(2,nWait 2,35.6%,112), total 100.0%
      Owned mutexes:
      Last reset 00:15:11 ago, cause: software
      Last software reset data not available
      Moves scheduled 179, hiccups 71 (3.58/12.06ms), segs 20, step errors 1 (types 0x8), maxLate 0 maxPrep 1241, ebfmin 0.00 max 0.00
      Peak sync jitter 1/6, peak Rx sync delay 255, resyncs 0/0, no timer interrupt scheduled, next step interrupt due in 4046779478 ticks, disabled
      VIN voltage: min 24.0, current 24.1, max 24.2
      MCU temperature: min 26.3C, current 26.7C, max 36.9C
      Driver 0: pos -99650, 800.0 steps/mm
      Last sensors broadcast 0x00000000 found 0 24 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 7318, send timeouts 0, received 11690, lost 0, ignored 0, errs 0, boc 0, free buffers 18, min 17, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 324, adv 35305/37173
      
      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver
    • RE: [3.6.0-rc.2] Code 3 move error

      @dc42 said in [3.6.0-rc.2] Code 3 move error:

      @MaxGyver said in [3.6.0-rc.2] Code 3 move error:

      Last software reset at 2025-04-01 13:22, reason: MemoryProtectionFault mmarValid daccViol, Platform spinning, available RAM 108732, slot 1

      I noticed the above in your M122 report. Do you know what provoked it?

      Unfortunately not. I had the same error again while printing the firts layer.

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.6.0-rc.2 (2025-03-31 12:17:13) running on Duet 3 MB6HC v1.01 (SBC mode)
      Board ID: 0JD2M-999AL-D25S4-7J1D2-3SJ6K-T51V3
      Used output buffers: 1 of 40 (18 max)
      === RTOS ===
      Static ram: 137420
      Dynamic ram: 98656 of which 0 recycled
      Never used RAM 86548, free system stack 130 words
      Tasks: LASER(5,nWait 7,0.0%,167) SBC(2,nWait 7,0.9%,809) HEAT(3,nWait 6,0.0%,343) TMC(4,nWait 6,3.0%,375) CanReceiv(6,nWait 1,0.1%,770) CanSender(5,nWait 7,0.0%,327) CanClock(7,delaying,0.0%,348) MAIN(1,running,95.9%,500) IDLE(0,ready,0.1%,29) USBD(3,blocked,0.0%,149), total 100.0%
      Owned mutexes: HTTP(MAIN)
      === Platform ===
      Last reset 00:51:27 ago, cause: software
      Last software reset at 2025-04-01 13:56, reason: User, Platform spinning, available RAM 85548, slot 2
      Software reset code 0x2000 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
      === Storage ===
      Free file entries: 20
      SD card 0 not detected, interface speed: 37.5MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      Segments created 893, maxWait 1145489ms, bed comp in use: mesh, height map offset 0.000, hiccups added 0/0 (0.00/22.42ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
      Pos req/act/dcf: 98537.00/98253/0.34 62047.00/62132/-0.86 2388.00/2389/-0.87
      Next step interrupt due in 142 ticks, disabled
      Driver 0: standstill, SG min n/a, mspos 8, reads 15179, writes 22 timeouts 1
      Driver 1: standstill, SG min n/a, mspos 8, reads 15179, writes 22 timeouts 1
      Driver 2: standstill, SG min n/a, mspos 8, reads 15179, writes 22 timeouts 1
      Driver 3: standstill, SG min n/a, mspos 8, reads 15179, writes 22 timeouts 1
      Driver 4: standstill, SG min n/a, mspos 8, reads 15179, writes 22 timeouts 1
      Driver 5: standstill, SG min n/a, mspos 8, reads 15179, writes 22 timeouts 1
      Phase step loop runtime (us): min=0, max=46, frequency (Hz): min=205, max=10000
      === DDARing 0 ===
      Scheduled moves 4906, completed 4846, LaErrors 0, Underruns [0, 0, 0]
      Segments left 10, axes/extruders owned 0x80000007, drives owned 0x80000007
      Code queue is empty
      === DDARing 1 ===
      Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0]
      Segments left 0, axes/extruders owned 0x00000000, drives owned 0x00000000
      Code queue is empty
      === Heat ===
      Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters 2 -1 -1 -1 -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks held by null, null
      HTTP* is doing "M122" 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 idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      File2 is idle in state(s) 0
      Queue2 is idle in state(s) 0
      === Filament sensors ===
      Driver 31: no filament
      === CAN ===
      Messages queued 30786, received 201368, lost 0, ignored 0, errs 0, boc 0
      Longest wait 2ms for reply type 6013, peak Tx sync delay 386, free buffers 50 (min 46), ts 14635/14634/0
      Tx timeouts 0,0,0,0,0,0
      === SBC interface ===
      Transfer state: 5, failed transfers: 0, checksum errors: 0
      RX/TX seq numbers: 53220/53220
      SPI underruns 0, overruns 0
      State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x27a7c
      Buffer RX/TX: 864/2072-0, open files: 0
      === Duet Control Server ===
      Duet Control Server version 3.6.0-rc.2 (2025-03-31 10:50:27, 32-bit)
      HTTP+Executed:
      > Executing M122
      File 0:/gcodes/LARGE SOFIA LAMPSHADE.gcode is selected, processing
      File:
      Buffered code: G3 X595.405 Y624.085 I-4.314 J1.866 E59.03433
      Buffered code: G1 X595.555 Y625.451 E61.65082
      Buffered code: G1 X595.363 Y626.871 E64.3791
      Buffered code: G1 X595.253 Y627.261 E65.15063
      Buffered code: G1 X594.762 Y628.389 E67.49298
      Buffered code: G1 X594.557 Y628.731 E68.25217
      Buffered code: G1 X593.692 Y629.799 E70.86893
      Buffered code: G1 X530.615 Y691.023 E238.23745
      Buffered code: G1 X529.101 Y692.304 E242.01349
      Buffered code: G1 X527.47 Y693.353 E245.70575
      Buffered code: G1 X525.685 Y694.194 E249.46271
      Buffered code: G1 X523.985 Y694.745 E252.86527
      Buffered code: G1 X522.022 Y695.116 E256.66898
      Buffered code: G1 X520.059 Y695.221 E260.41187
      Buffered code: G1 X518.125 Y695.07 E264.1054
      Buffered code: G1 X516.185 Y694.66 E267.88074
      Buffered code: G1 X444.689 Y674.356 E409.39167
      Buffered code: G3 X442.260 Y671.078 I0.979 J-3.264 E417.70323
      Buffered code: G1 F1290.186
      Buffered code: G1 X442.218 Y670.833 E418.18384
      Buffered code: G1 F1270.827
      Buffered code: G1 X442.176 Y670.589 E418.66983
      Buffered code: G1 F1252.039
      Buffered code: G1 X442.134 Y670.344 E419.16508
      Buffered code: G1 F1234.906
      Buffered code: G1 X442.104 Y670.24 E419.38373
      Buffered code: G1 F1218.236
      Buffered codes: 1248 bytes total
      Code buffer space: 2024
      Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
      Full transfers per second: 38.54, max time between full transfers: 362.2ms, max pin wait times: 73.7ms/16.9ms
      Codes per second: 1.65
      Maximum length of RX/TX data transfers: 4604/1352
      
      posted in Beta Firmware
      MaxGyverundefined
      MaxGyver