First 2 prints after updating; all goes well until the end where I find the head:
- Stopped on the print (didn't park)
- However with heater Off
- And weirdest of all, stuck retracting (wheel spinning endlessly)
- Machine stuck in "busy" state (needs powercycle to reset)
My slicer end script is just M0; see the last few lines of that example print:
;TYPE:WALL-INNER
G1 F2925 X153.975 Y152.548 E0.84064
G1 F1500 E-0.3
G0 F7200 X106.719 Y152.548
G0 X106.313 Y152.548
G1 F1500 E0.49956
G1 F2836.4 X104.964 Y152.548 E0.10883
;TIME_ELAPSED:1108.150049
G1 F1500 E-0.3
M82 ;absolute extrusion mode
M107
M0
M83 ;relative extrusion mode
M104 S0
;End of Gcode
My stop.g looks as follow:
; /sys/stop.g
; Clean up and shut down after a print
; M0 in slicer to invoke
M400 ; wait for moves to finish
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
G1 E-3 F300 ; retract 3 mm to reduce pressure in the nozzle
G91
G1 X2 Y2 ; Wipe nozzle
G90
; Drop Z, being careful near the max
if move.axes[2].machinePosition + 10 < move.axes[2].max
G1 Z{ move.axes[2].machinePosition + 10 }
else
G1 Z{ move.axes[2].max }
G0 X-30 Y100 F3000 ; move to purge bucket
Seems like the printer may freeze right at line 9 of my stop.g?
However and that's where I'm at a loss, the issue does not appear when aborting a print with pause/stop.
Any ideas on what could that be?
Here is a M122 (after restarting because unresponsive when the crash occurs)
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.6.0-beta.3 (2025-01-16 19:09:36) running on Duet 3 MB6HC v1.0 or earlier (SBC mode)
Board ID: 08DJM-956L2-G43S4-6JTDA-3SS6L-1B76H
Used output buffers: 1 of 40 (17 max)
=== RTOS ===
Static ram: 136892
Dynamic ram: 95960 of which 5464 recycled
Never used RAM 105740, free system stack 200 words
Tasks: SBC(2,ready,0.6%,747) HEAT(3,nWait 6,0.0%,369) Move(4,nWait 6,0.0%,333) TMC(4,nWait 6,2.8%,377) CanReceiv(6,nWait 1,0.0%,794) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,353) MAIN(2,running,94.5%,139) IDLE(0,ready,2.0%,29) USBD(3,blocked,0.0%,149), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:03:32 ago, cause: power up
Last software reset at 2025-01-21 01:41, reason: User, Gcodes spinning, available RAM 105956, slot 2
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 35.9, current 37.6, max 38.7
Supply voltage: min 29.4, current 29.5, max 29.5, 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/14, heap memory allocated/used/recyclable 2048/792/592, gc cycles 0
Events: 0 queued, 0 completed
Date/time: 2025-02-02 00:51:54
Slowest loop: 193.96ms; fastest: 0.06ms
USB interrupts 2
=== 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 0, maxWait 0ms, bed comp in use: none, height map offset 0.000, hiccups added 0/0 (0.00/0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00
Pos req/act/dcf: 0.00/0/0.00 0.00/0/0.00 0.00/0/0.00
next step interrupt due in 68 ticks, disabled
Driver 0: standstill, SG min n/a, mspos 2, reads 31387, writes 25 timeouts 0
Driver 1: standstill, SG min n/a, mspos 2, reads 31387, writes 25 timeouts 0
Driver 2: standstill, SG min n/a, mspos 8, reads 31388, writes 24 timeouts 0
Driver 3: standstill, SG min n/a, mspos 8, reads 31388, writes 24 timeouts 0
Driver 4: standstill, SG min n/a, mspos 8, reads 31389, writes 24 timeouts 0
Driver 5: standstill, SG min n/a, mspos 8, reads 31402, writes 11 timeouts 0
Phase step loop runtime (us): min=0, max=20, frequency (Hz): min=1889, max=2118
=== DDARing 0 ===
Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0]
Segments left 0, axes/extruders owned 0x80000003, drives owned 0x80000003
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 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1 -1 -1 -1 -1, ordering erHeater 1 is on, I-accum = 0.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) 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 idle in state(s) 0
Queue2 is idle in state(s) 0
=== CAN ===
Messages queued 1730, received 3816, lost 0, ignored 0, errs 607, boc 0
Longest wait 2ms for reply type 6031, peak Tx sync delay 31346, free buffers 50 (min 49), ts 1007/1006/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 1
RX/TX seq numbers: 6457/6457
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x27c70
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.6.0-beta.3 (2025-01-17 10:25:30, 64-bit)
HTTP+Executed:
> Executing M122
Trigger+Post:
> Executing M409 K"network" I1 (31 more codes pending)
>> Macro config.g: Idle
Trigger:
>> Finishing macro config.g, started by system
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
Full transfers per second: 25.28, max time between full transfers: 1660.9ms, max pin wait times: 328.1ms/7.1ms
Codes per second: 0.32
Maximum length of RX/TX data transfers: 4508/872
And my Config.g
;
; ___________ __ .__
; \_ _____/___________ _____/ |______ | |
; | __) \_ __ \__ \ _/ ___\ __\__ \ | |
; | \ | | \// __ \\ \___| | / __ \| |__
; \___ / |__| (____ /\___ >__| (____ /____/
; \/ \/ \/ \/
; ___________ .__ .__
; \_ _____/ ____ ____ |__| ____ ____ ___________|__| ____ ____
; | __)_ / \ / ___\| |/ \_/ __ \_/ __ \_ __ \ |/ \ / ___\
; | \ | \/ /_/ > | | \ ___/\ ___/| | \/ | | \/ /_/ >
; /_______ /___| /\___ /|__|___| /\___ >\___ >__| |__|___| /\___ /
; \/ \//_____/ \/ \/ \/ \//_____/
; General Setup - RailCore RRF on an SBC for Duet3
; General
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M564 S1 H1 ; No movement before homing, no out-of-range
G4 S2 ; wait for expansion boards to start
; Debugging
M111 S0 ; Debug (S0 is off; S1 is on)
M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt
M915 X Y S10 F0 R0 ; log motor stalls
; Stepper Configuration and Trinamic Drive Tuning
M569 P0.0 S1 D3 V5 H5 ; X / Rear - LDO-57STH56-2804MACRC
M569 P0.1 S0 D3 V5 H5 ; Y / Front - LDO-57STH56-2804MACRC
M569 P0.2 S1 D3 V5 H5 ; Z / FL - LDO-42STH47-1684MAC
M569 P0.3 S1 D3 V5 H5 ; Z / RL - LDO-42STH47-1684MAC
M569 P0.4 S1 D3 V5 H5 ; Z / MR - LDO-42STH47-1684MAC
;M569 P5 S0 D2 V5 H5 ; E / Extruder - LDO-42STH25-1004AC
;M569 P5 S1 D2 V5 H5 ; E / Extruder - Biqu H2
;M569 P5 S0 D2 V5 H5 ; E / Extruder - Orbiter 2.0
M569 P124.0 S1 D2 ; E / Extruder - SmorbV3 Toolboard
; Axis configuration
M669 K1 ; Corexy mode
;M584 X0 Y1 Z2:3:4 E5 ; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
M584 X0.0 Y0.1 Z0.2:0.3:0.4 E124.0 ; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to toolboard drive 0
M208 X270 Y290 Z325 ; Set axis maxima and high homing switch positions (adjust to suit your machine)
M208 X-35 Y0 Z0 S1 ; Set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
; Stealthchop parameters
M915 P0:1 S3 F1 H153 ;T20000 R0
M915 P2:3:4 S3 F1 H1652 ;T1 R0
;M915 P5 S3 F1 H540 T1 R0
;M915 P124.0 S3 F1 H540 T1 R0
; Steps/mm (for the default 1/16 microstepping)
M92 X160 Y160 Z1600 ; Axis Steps/mm
;M92 E4206 ; FLEX3DRive
;M92 E932 ; Biqu H2
M92 E676 ; Orbiter 2.0
; Microstepping (independent of M92 above)
M350 X64 Y64 Z16 I1 ; Set 32x microstepping for axes with interpolation
;M350 E8 I0 ; Set 16x microstepping for Flex3Drive extruder interpolation OFF
;M350 E16 I1 ; Biqu H2
M350 E16 I1 ; Orbiter 2.0
; Motor current
M906 X{2800 * 0.65} Y{2800 * 0.65} Z{1680 * 0.65} I30 ; Set PEAK motor currents (mA) and motor idle factor
;M906 E420 I30 ; Flex3Drive
;M906 E800 I30 ; Biqu H2
;M906 E1000 I10 ; Orbiter 2.0 (rated 1 amp, recommended 1.2)
M906 E850 I10 ; Smorb3.0 (rated 1 amp, recommended 1.2)
M84 S30 ; Idle timeout 30s
; Speeds
M203 X15000 Y15000 Z600 E7200 ; Maximum speeds (mm/min) // XY15000(250mm/s), Z600(10mm/s)), E7200 (120mm/s)
; Accelerations and Jerk
M201 X2500 Y2500 Z100 ; Accelerations (mm/s^2)
;M201 E120 ; Flex3Drive
;M201 E5000 ; Biqu H2
;M201 E3000 ; Orbiter 2.0
M201 E3000 ; Smorb 8000mm/s recommended
M566 X800 Y800 Z100 ; Maximum jerk speeds (mm/min)
;M566 E6 ; Flex3Drive
;M566 E300 ; Biqu H2
;M566 E300 ; Orbiter 2.0
M566 E300 ; Smorb
; Leadscrew locations
M671 X-10:-10:333 Y22.5:277.5:150 S7.5
; End Stops
M574 X1 S1 P"io0.in" ; Map the X endstop to io1.in
;M574 Y1 S1 P"io3.in" ; Map the Y endstop to io2.in
M574 Y1 S1 P"124.io2.in" ; Map the Y endstop to toolboard io1.in
; BLTouch
;M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1 ; Define the bltouch input on io7.in
;M950 S0 C"io7.out" ; Define the bltouch servo on io7.out
;G31 X0 Y25 Z2.00 P25 ; Set the offsets for the bltouch Flex3Drive
;G31 X-25 Y0 Z1.814 P25 ; Set the offsets for the bltouch Biqu H2
;G31 K0 P25 X0.0 Y20.0 Z2.924 ; Set the offsets for the bltouch Orbiter 2.0
; Euclid Probe
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
M558 K0 P8 C"124.io0.in" H8 F300 T9000 A3 S0.01 ; Define Euclid input
G31 K0 P500 X25.0 Y0.0 Z1.486 ; Set offset for Smorb V3 Euclid
; Thermistors
M308 S0 P"temp0" Y"thermistor" A"Keenovo" T100000 B4240 H0 L0 ; Bed thermistor - connected to temp0
;M308 S1 P"temp1" Y"thermistor" A"Mosquito" T4606017 B5848 C5.548428e-8 H0 L0 ; Dyze 500c thermistor - connected to e0_heat
;M308 S1 P"temp1" Y"thermistor" A"BiquH2" T100000 B3950 C0 H0 L0 ; Biqu H2 Chinesium HT-NTC100K thermistor - connected to e0_heat
;M308 S1 P"124.temp0" Y"thermistor" A"Smorb" T100000 B4138 C0 H0 L0 ; Smorb ATC Semitec 104NT-4-R025H42G
M308 S1 P"124.temp0" Y"thermistor" A"Smorb" T100000 B4681 C6.483003e-8 H0 L0 ; Smorb ATC Semitec 104NT-4-R025H42G
; M308 S3 P"124.io1.in" Y"thermistor" A"Extruder Temp" T100000 B4092 ; Smorb extruder temp (not supported)
; Define Heaters
M950 H0 C"out0" T0 ; Bed heater is on out0
;M950 H1 C"out1" T1 Q10 ; Hotend heater is on out1
M950 H1 C"124.out0" T1 Q250 ; Hotend heater is on toolboard out0
; Heater model parameters
M307 H0 A158.5 C366.7 D2.1 S1.0 V24.0 B0 ; Keenovo duet 3 configuration
;M307 H1 R3.573 C131.3:99.7 D5.74 S1.00 V29.4 ; Mosquito 205deg 29.4V
;M307 H1 R3.368 K0.543:0.000 D7.05 E1.35 S1.00 B0 V29.3 ; Mosquito new model 215c 29.3V
;M307 H1 R4.724 C172.5:109.0 D7.70 S1.00 V29.4 ; Biqu H2 205deg 29.4V
M307 H1 R4.017 K0.408:0.270 D6.28 E1.35 S1.00 B0 V29.4 ; Smorb temp 215c 29.3V
; Heater Fault Parameters
M570 H1 P10 T15 S180 ; Hotend allows 10sec for anomaly, permits 15deg excursion, abandons print after 180s
M143 H1 P1 S350 A0 ; raise a heater fault if it exceeds 350C
; Define Bed
M140 H0
M557 X30:295 Y5:285 P15:15 ; Sets mesh leveling probing area /!\ Accounts for probe offset
; Fans
;M950 F0 C"out5" Q250 ; Hotend fan on "out5" connector
;M106 P0 C"Hotend Fan" H1 X0.8 T75 B0.3 ; Enable thermostatic mode for hotend fan - 0.8 to compensate for 29.4V
;M950 F1 C"out4" Q250 ; Layer fan on "out4" connector
;M106 P1 C"Layer Fan" X0.8 S0 ; Layer Fan
M950 F0 C"124.out1" Q500 ; Hotend fan on "out5" connector
M106 P0 C"Hotend Fan" H1 T75 X0.8 ; Enable thermostatic mode for hotend fan - 0.8 to compensate for 29.4V
M950 F1 C"124.out2" Q500 ; Layer fan on "out4" connector
M106 P1 C"Layer Fan" H-1 S0 X0.8 ; Layer Fan
; Tool definitions
M563 P0 S"Smorb v3" D0 H1 F1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
; Duet3 Cooling
M308 S2 Y"drivers" A"DRIVERS" ; Configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
M308 S3 Y"mcu-temp" A"MCU" ; Configure sensor 3 as thermistor on pin e1temp for left stepper
M950 F2 C"out6" Q250 ; Create fan 2 on pin fan2 and set its frequency
;M106 P2 C"ElectroBox" H1 S0.8 T75 ; Set fan 2 value
M106 P2 C"ElectroBox" H1 X0.7 T-30:50 ; Set fan 2 value
M308 S4 P"124.temp1" Y"thermistor" A"Chamber Temp" T100000 B4092 ; Toolboard temp
; LED
M950 F3 C"out8" Q1000
M106 P3 C"Enclosure Light" X0.6 S0
M950 C"124.rgbled" E0 T1
M950 F5 C"124.io0.out" Q1000
M106 P5 C"Hotend Light" X0.6 S0
; Filament Sensor
;M591 D0 P7 C"io6.in" S0 E51 L2.1 R85:115 ; Fractal Encoder filament sensor
; Mesh Bed Compensation
;G29 S1 ; Load height map from SD card - Disabled in config.g, moved after startup routing probing
M376 H3 ; Set taper height 3mm
; External Triggers
M950 J1 C"io1.in" ; Green Button on io1
M950 J2 C"io4.in" ; Red Button on io4
M950 J3 C"io2.in" ; Black Button on io2
M950 J4 C"io5.in" ; Blue Button on io5
M581 T2 P1 S1 R2 ; Green button trigger 2 only when not printing (Load filament)
M581 T3 P1 S1 R1 ; Green button trigger 3 only when printing (Raise Z)
M581 T4 P2 S1 R2 ; Red button trigger 4 only when not printing (Unload filament)
M581 T5 P2 S1 R1 ; Red button trigger 5 only when printing (Stop)
M581 T6 P3 S1 R2 ; Black button trigger 6 only when not printing (Resume)
M581 T7 P3 S1 R1 ; Black button trigger 7 only when printing (Lower Z)
M581 T8 P4 S1 R2 ; Blue button trigger 8 only when not printing (LED strip on/off)
M581 T9 P4 S1 R1 ; Blue button trigger 9 only when printing (LED strip on/off)
; Accelerometer
;M955 P0 I21 C"spi.cs3+spi.cs2" ; LIS3DH removable on Orbiter 2
M955 P124.0 I20 ; Onboard toolboard
;M593 P"mzv" F42
; Dynamic Acceleration Adjustment (DAA)
;M593 F52
; Logging
M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt
T0 ; Select first hot end
; Global Variables
global hotend_timer_started = false
global hotend_timer = 0