I wanted to add some behavior that I've noticed as I've encountered this issue several times since switching to standalone mode.
A reset just occurred, so here is a more recent M122 (hopefully more of these help!)
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode)
Board ID: NTK2Z-J196U-D65J0-40KMN-1V03Z-ZJMGF
Used output buffers: 15 of 40 (25 max)
=== RTOS ===
Static ram: 103368
Dynamic ram: 124620 of which 0 recycled
Never used RAM 10572, free system stack 198 words
Tasks: NETWORK(2,nWait 7,8.5%,211) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,335) Move(4,nWait 6,0.0%,355) CanReceiv(6,nWait 1,0.1%,798) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,350) TMC(4,nWait 6,1.5%,101) MAIN(1,running,87.7%,665) IDLE(0,ready,1.4%,29) AIN(4,delaying,0.9%,263), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:00:21 ago, cause: software
Last software reset at 2024-07-27 14:21, reason: HardFault bfarValid precise, Gcodes spinning, available RAM 6824, slot 1
Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00000803 BFAR 0x0000001c SP 0x20012008 Task NETW Freestk 482 ok
Stack: 2002c658 20032190 200014e8 00000000 20033b45 0003015d 00030070 610f0000 00030149 00000000 00000000 00000000 2003219c 00000800 200366a8 2002c640 2001882c 2002c496 2001882c 2001ea80 000302e3 00000000 00000000 00000000 200120b8 00000014 b5ddbf73
Error status: 0x00
Aux0 errors 0,0,0
MCU revision 3, ADC conversions started 21420, completed 21420, timed out 0, errs 0
MCU temperature: min 34.6, current 34.8, max 36.0
Supply voltage: min 24.2, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/300/128, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 65, reads 1901, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 64, reads 1901, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 1903, writes 10, timeouts 0, DMA errors 0, CC errors 0
Driver 3: standstill, SG min 2, read errors 0, write errors 1, ifcnt 66, reads 1900, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 64, reads 1901, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 5: standstill, SG min 2, read errors 0, write errors 1, ifcnt 65, reads 1901, writes 13, timeouts 0, DMA errors 0, CC errors 0
Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 1903, writes 10, timeouts 0, DMA errors 0, CC errors 0
Date/time: 2024-07-27 14:22:18
Cache data hit count 40640421
Slowest loop: 7.25ms; fastest: 0.16ms
=== Storage ===
Free file entries: 20
SD card 0 detected, interface speed: 22.5MBytes/sec
SD card longest read time 0.5ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
no step interrupt scheduled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== 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 -1 -1 -1 -1, ordering errs 0
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 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
Q0 segments left 0, axes/extruders owned 0x0000803
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== CAN ===
Messages queued 200, received 634, lost 0, errs 0, boc 0
Longest wait 2ms for reply type 6034, peak Tx sync delay 6, free buffers 26 (min 25), ts 107/106/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 10.82ms; fastest: 0.00ms
Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 2 of 8
=== WiFi ===
Interface state: active
Module is connected to access point
Failed messages: pending 0, notrdy 0, noresp 0
Firmware version 2.1.0
MAC address d8:bf:c0:14:e5:fc
Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 42932
WiFi IP address 192.168.2.8
Signal strength -48dBm, channel 1, mode 802.11n, reconnections 0
Clock register 00002001
Socket states: 0 0 0 0 0 0 0 0
The peculiar thing I noticed that while the printer seems to be in working order (config.g loads without error [including toolboard configuration; this is important later], printer homes properly, and bed/tool temperatures look ok along with DHT22/SZP temperatures), the electronics section in the Machine-Specific tab looks like this:
and is missing two toolboard entries; a CannedERCF-SAMMYC21 and a Mellow Fly SHT36 Max V3.
The boards respond to M122.
M122 B19 (CannedERCF-SAMMYC21)
Diagnostics for board 19:
Duet SAMMYC21 firmware version 3.5.2+001 (2024-06-12 12:43:35)
Bootloader ID: SAMMY-C21 bootloader version 2.4 (2021-12-10)
Never used RAM 1180, free system stack 91 words
Tasks: Move(3,nWait 7,0.0%,92) HEAT(2,nWait 6,0.1%,126) CanAsync(5,nWait 4,0.0%,54) CanRecv(3,nWait 1,0.0%,72) CanClock(5,nWait 1,0.0%,60) TMC(2,delaying,2.5%,44) MAIN(1,running,62.6%,420) IDLE(0,ready,0.0%,40) AIN(2,nWait 2,34.7%,112), total 100.0%
Owned mutexes:
Last reset 36:45:40 ago, cause: power up
Last software reset data not available
Driver 0: pos 798616, 80.0 steps/mm, standstill, SG min 0, read errors 20, write errors 0, ifcnt 14, reads 36602, writes 14, timeouts 2, DMA errors 0, CC errors 0, failedOp 0x41, steps req 0 done 1402
Driver 1: pos 0, 566.3 steps/mm, standstill, SG min 0, read errors 21, write errors 0, ifcnt 12, reads 36605, writes 12, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 0
Moves scheduled 4, completed 4, in progress 0, hiccups 0, segs 6, step errors 0, maxLate 1 maxPrep 192, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 0.00
Peak sync jitter -3/20, peak Rx sync delay 221, resyncs 0/1, no timer interrupt scheduled
VIN voltage: min 24.2, current 24.2, max 24.2
MCU temperature: min 30.4C, current 32.2C, max 36.3C
Last sensors broadcast 0x00000000 found 0 139 ticks ago, 0 ordering errs, loop time 0
CAN messages queued 1061425, send timeouts 0, received 1720327, lost 0, errs 0, boc 0, free buffers 18, min 18, error reg 0
dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 306, adv 37121/37173
=== Filament sensors ===
Interrupt 5726621 to 0us, poll 4 to 509us
Driver 1: no data received
M122 B20 (SHT36MAX3)
Diagnostics for board 20:
Duet SHT36MAX3 firmware version 3.5.2 (2024-06-13 00:58:17)
Bootloader ID:
All averaging filters OK
Never used RAM 217004, free system stack 380 words
Tasks: Move(3,nWait 7,0.6%,72) HEAT(2,nWait 6,0.2%,110) CanAsync(5,nWait 4,0.0%,56) CanRecv(3,nWait 1,0.4%,356) CanClock(5,nWait 1,0.0%,334) ACCEL(3,nWait 6,0.0%,52) TMC(2,nWait 6,2.2%,52) MAIN(1,running,79.3%,436) IDLE(0,ready,0.0%,26) USBD(2,blocked,0.0%,150) AIN(2,delaying,17.3%,202), total 100.0%
Owned mutexes:
Last reset 36:45:53 ago, cause: power up or brownout
Last software reset data not available
Driver 0: pos 0, 900.0 steps/mm, standstill, read errors 0, write errors 0, ifcnt 25, reads 62720, writes 25, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 90296677
Moves scheduled 8734781, completed 8734781, in progress 0, hiccups 1, segs 46, step errors 0, maxLate 0 maxPrep 210, maxOverdue 30481, maxInc 15031, mcErrs 0, gcmErrs 0, ebfmin 0.00 max 1.00
Peak sync jitter -28/28, peak Rx sync delay 603, resyncs 0/1, no timer interrupt scheduled
MCU temperature: min 33.7C, current 34.6C, max 49.1C
Last sensors broadcast 0x00000012 found 2 154 ticks ago, 0 ordering errs, loop time 0
CAN messages queued 5299546, send timeouts 0, received 9928012, lost 0, errs 0, boc 0, free buffers 38, min 37, error reg 0
dup 0, oos 28/0/0/14, bm 0, wbm 0, rxMotionDelay 849, adv 35533/74590
Accelerometer: LIS2DW, status: 00
Inductive sensor: raw value 56698385, frequency 4.22MHz, current setting 16, amplitude error
I2C bus errors 0, naks 0, contentions 0, other errors 0
After the reset occurs, when I try to load my working configuration for my ERCFv2, I get the following error:
M98 P"0:/sys/ercf/config.g"
Error: Driver 19.0 does not exist
ercf/config.g
;=== configuration - ERCF - drive & axis mapping ===;
M569 P19.0 S1 D2 ;; ERCF Selector
M569 P19.1 S0 D2 ;; ERCF Drive
M584 E20.0:19.1 V19.0 ;; gizmoN extruder and ERCF drive are bonded together, selector is V-axis
;=== configuration - ERCF - drive - steps/mm, current, idle timeout ===;
M350 E{move.extruders[0].microstepping.value, 16} V16 I1
M906 E{move.extruders[0].current, 1400} V1600 I30
M92 E{move.extruders[0].stepsPerMm, 566.3} V80
;=== configuration - ERCF - drive - speed, acceeleration, jerk ===;
M201 E{move.extruders[0].acceleration, 3000} V3000
M203 E{move.extruders[0].speed, 7200} V6000
M205 E{move.extruders[0].jerk, 5.0} V5.0
;=== configuration - ERCF - axis - endstops ===;
M574 V1 S1 P"19.io3.in"
;=== configuration - ERCF - axis - min/max ===;
M208 V0 S1
M208 V200 S0
;=== configuration - ERCF - servo, blinky ===;
M591 D1 P7 C"^19.io1.in" S1 A1 L1.000 ;; pulsed filament monitor on CannedERCF, Binky mod
M950 S10 C"19.io0.out" ;; cannedERCF servo
M950 S5 C"0.out6" ;; filament cutter,
;=== configuration - ERCF - tool definitions ===;
M563 P0 D0:1 H1 F1 L0; define tool 0
G10 P0 R0 S0
M563 P0 S"ERCF_0" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P0 R0 S0 ;; set active & standby temperatures
M563 P1 S"ERCF_1" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P1 R0 S0 ;; set active & standby temperatures
M563 P2 S"ERCF_2" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P2 R0 S0 ;; set active & standby temperatures
M563 P3 S"ERCF_3" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P3 R0 S0 ;; set active & standby temperatures
M563 P4 S"ERCF_4" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P4 R0 S0 ;; set active & standby temperatures
M563 P5 S"ERCF_5" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P5 R0 S0 ;; set active & standby temperatures
M563 P6 S"ERCF_6" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P6 R0 S0 ;; set active & standby temperatures
M563 P7 S"ERCF_7" D0:1 H1 F1 L1 ;; define and name tool
;; assign orbiter/ERCF as extruder drive
G10 P7 R0 S0 ;; set active & standby temperatures
;=== housekeeping ===:
T0 P0 ;; select Tool 0, don't run toolchange macros
And if I try to home the V-axis (ERCF Selector axis), the printer hangs in a "Busy" state", the selector axis doesn't move and I have to use the E-stop to reset the printer. After the printer comes back up again, the electronics section is properly populated
and my ERCF configuration executes without issue.
Let me know if I can provide any further information.