@davidjryan UPDATE
Just wondering if anyone in-the-know from Duet can comment on the questions in my last post?
We grounded the SHIELD_GND lug between the USB and ethernet ports, no noticeable effect.
The last change was to put two separate 24V power supplies on the machine. One is for the Duet 6HC and 3HCs, one is for all other 24V/12V/5V requirements, and the Pi is on it's standalone "wall wart" power supply.
Since then, we've only had one communication disconnection. So it "seems" to be happening less, but..........
The TrfReady pin glitches are still high as are the checksum errors. We keep waiting for the other shoe to drop...
Our test bed ran all weekend with 1,200,000+ object model queries plus 125,000+ M122 queries (one a second), plus 20,000+ M98 P"xxxx" commands (calls the same macro every time which moves a single axis for 10s, every 20s). There were 33 pin glitches and 0 checksum errors. Again, not apples to apples with our machine but we have somewhat of a control to compare to and to try different things suggested by folks.
Our next change is to shorten the ribbon cable between the Pi and Duet. We just put it on and it's half the length of the cable included with the 6HC.
Here are the last two M122 back-to-back queries after the addition of the second power supply but before the ribbon change. The M122 from 6/28 is also AFTER the last disconnection AFTER the second power supply was added. 7/1 is from this morning, so it's been almost 500 cycles since the last disconnection. We've had stretches like that in the past with our "original" setup, so we will continue to see if it'll get past 1000 cycles.
If we see more disconnections, I'll try swapping 6HCs and then Pi 4s.
7/1/2024, 10:30:17 AM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.5.2 (2024-06-11 17:13:58) running on Duet 3 MB6HC v1.02 or later (SBC mode)
Board ID: 08DJM-9P63L-DJMSS-6JKD0-3SN6M-9UHZA
Used output buffers: 1 of 40 (33 max)
=== RTOS ===
Static ram: 155360
Dynamic ram: 97000 of which 0 recycled
Never used RAM 19976, free system stack 134 words
Tasks: SBC(2,rWait:,1.9%,697) HEAT(3,nWait 6,0.0%,351) Move(4,nWait 6,0.2%,211) CanReceiv(6,nWait 1,0.0%,771) CanSender(5,nWait 7,0.0%,325) CanClock(7,delaying,0.0%,346) TMC(4,nWait 6,9.5%,53) MAIN(2,running,87.0%,444) IDLE(0,ready,1.4%,29), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 72:28:31 ago, cause: software
Last software reset at 2024-06-28 10:01, reason: User, Gcodes spinning, available RAM 20048, slot 0
Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU temperature: min 33.2, current 34.2, max 34.7
Supply voltage: min 23.9, current 24.0, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 11.9, current 12.4, max 12.9, under voltage events: 0
Heap OK, handles allocated/used 297/229, heap memory allocated/used/recyclable 6144/5044/916, gc cycles 689
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, mspos 488, reads 6199, writes 8 timeouts 0
Driver 1: ok, SG min 0, mspos 548, reads 6199, writes 8 timeouts 0
Driver 2: standstill, SG min 0, mspos 984, reads 6195, writes 12 timeouts 0
Driver 3: standstill, SG min 0, mspos 232, reads 6198, writes 8 timeouts 0
Driver 4: standstill, SG min 0, mspos 1000, reads 6198, writes 8 timeouts 0
Driver 5: standstill, SG min 0, mspos 680, reads 6199, writes 8 timeouts 0
Date/time: 2024-07-01 10:30:16
Slowest loop: 49.94ms; fastest: 0.05ms
=== 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 ===
DMs created 125, segments created 12, maxWait 613674ms, 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
next step interrupt due in 4 ticks, disabled
Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
=== DDARing 0 ===
Scheduled moves 27957, completed 27956, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 343], CDDA state 3
=== DDARing 1 ===
Scheduled moves 3949, completed 3949, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 118], CDDA state -1
=== Heat ===
Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Movement locks held by SBC, 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 doing "M400" in state(s) 0 0 0, running macro
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 0x0000004
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0001000
Code queue 1 is empty
=== CAN ===
Messages queued 44350, received 116164, lost 0, errs 0, boc 0
Longest wait 1ms for reply type 6061, peak Tx sync delay 380, free buffers 50 (min 48), ts 23450/23450/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
Transfer state: 5, failed transfers: 33, checksum errors: 33
RX/TX seq numbers: 64962/64962
SPI underruns 27, overruns 0
State: 5, disconnects: 1, timeouts: 1 total, 1 by SBC, IAP RAM available 0x24cfc
Buffer RX/TX: 140/220-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.5.2 (2024-06-12 07:12:47, 64-bit)
HTTP+Executed:
> Executing M122
SBC:
Buffered code: M400
Buffered code: M98 P"functions/check_pause.g"
Buffered codes: 80 bytes total
>> Doing macro main.g, started by M98 P"main.g"
>> Number of flush requests: 1
>>> Doing macro pick_place/pick_utensil.g, started by M98 P"pick_place/pick_utensil.g" X"Slot 3"
>>> Number of flush requests: 1
Code buffer space: 3876
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 6163
Full transfers per second: 79.27, max time between full transfers: 62.6ms, max pin wait times: 46.7ms/21.3ms
Codes per second: 3.77
Maximum length of RX/TX data transfers: 8052/652
6/28/2024, 4:18:16 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.5.2 (2024-06-11 17:13:58) running on Duet 3 MB6HC v1.02 or later (SBC mode)
Board ID: 08DJM-9P63L-DJMSS-6JKD0-3SN6M-9UHZA
Used output buffers: 1 of 40 (31 max)
=== RTOS ===
Static ram: 155360
Dynamic ram: 97000 of which 0 recycled
Never used RAM 20048, free system stack 134 words
Tasks: SBC(2,nWait 7,2.2%,697) HEAT(3,nWait 6,0.0%,351) Move(4,nWait 6,0.2%,211) CanReceiv(6,nWait 1,0.0%,771) CanSender(5,nWait 7,0.0%,326) CanClock(7,delaying,0.0%,346) TMC(4,nWait 6,9.5%,53) MAIN(1,running,86.1%,444) IDLE(0,ready,1.9%,29), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 06:16:30 ago, cause: software
Last software reset at 2024-06-28 10:01, reason: User, Gcodes spinning, available RAM 20048, slot 0
Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU temperature: min 35.4, current 36.0, max 36.4
Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 11.9, current 12.3, max 12.7, under voltage events: 0
Heap OK, handles allocated/used 297/227, heap memory allocated/used/recyclable 6144/6036/1920, gc cycles 367
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, mspos 728, reads 42327, writes 0 timeouts 0
Driver 1: standstill, SG min 0, mspos 232, reads 42326, writes 0 timeouts 0
Driver 2: standstill, SG min 0, mspos 968, reads 42326, writes 0 timeouts 0
Driver 3: standstill, SG min 0, mspos 600, reads 42326, writes 0 timeouts 0
Driver 4: standstill, SG min 0, mspos 216, reads 42327, writes 0 timeouts 0
Driver 5: standstill, SG min n/a, mspos 920, reads 42327, writes 0 timeouts 0
Date/time: 2024-06-28 16:18:15
Slowest loop: 47.79ms; fastest: 0.05ms
=== 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 ===
DMs created 125, segments created 9, maxWait 8486ms, 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 15081, completed 15081, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 131], CDDA state -1
=== DDARing 1 ===
Scheduled moves 2157, completed 2157, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 46], CDDA state -1
=== Heat ===
Bed heaters -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -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) 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 0 0, running macro
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 0x0000005
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0001000
Code queue 1 is empty
=== CAN ===
Messages queued 12198, received 31740, lost 0, errs 0, boc 0
Longest wait 1ms for reply type 6061, peak Tx sync delay 148, free buffers 50 (min 48), ts 6347/6347/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
Transfer state: 1, failed transfers: 19, checksum errors: 19
RX/TX seq numbers: 13186/13186
SPI underruns 15, overruns 0
State: 1, disconnects: 1, timeouts: 1 total, 1 by SBC, IAP RAM available 0x24cfc
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.5.2 (2024-06-12 07:12:47, 64-bit)
HTTP+Executed:
> Executing M122
SBC:
>> Doing macro main.g, started by M98 P"main.g"
>> Number of flush requests: 1
>>> Doing macro carts/check_cart_height.g, started by M98 P"carts/check_cart_height.g"
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 2989
Full transfers per second: 96.55, max time between full transfers: 54.4ms, max pin wait times: 40.5ms/23.4ms
Codes per second: 4.91
Maximum length of RX/TX data transfers: 7788/640