[3.4beta6] Toolboard missing extrusion and M122 error
-
I've noticed, that the toolboard extruder sometimes misses gcode commands which results in missing infill lines. The problem is not hardware related, as the "skips" are always an entire (straight) line without stepper stalls and independent of extrusion speed and temperature. It seems random in its occurrence.
M122 for the toolboard throws an error, but still prints part of the board info. When running the mainboard on 3.3 M122 works fine.Is there a way to check for CAN bus signal integrity?
I'm pretty sure that I've seen that issue also on beta4, but only now tracked it down further.
M122 B20
M122 B20 Error: Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta6 (2021-11-06 11:56:11) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 2752, free system stack 2788 words Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.1%,101) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,77) CanClock(notifyWait,0.0%,64) ACCEL(notifyWait,0.0%,61) TMC(delaying,3.0%,57) MAIN(running,91.9%,350) IDLE(ready,0.0%,27) AIN(delaying,4.9%,142), total 100.0% Last reset 00:09:05 ago, cause: software Last software reset data not available Driver 0: pos 0, 655.0 steps/mm,standstill, SG min 0, read errors 0, write errors 0, ifcnt 24, reads 14688, writes 0, timeouts 0, DMA errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 2/12, peak Rx sync delay 210, resyncs 0/0, no step interrupt scheduled VIN voltage: min 23.0, current 23.0, max 23.9 MCU temperature: min 37.2C, current 37.5C, max 37.7C M122: Response timeout: CAN addr 20, req type 6024, RID=29
Config.g
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Nov 14 2020 08:19:21 GMT+0100 (CET) G4 S1 ;wait for expansion boards to start ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ; Drives M569 P20.0 S0 ; toolboard drive 0.0 goes forwards M569 P0.1 S1 D2 ; physical drive 0.1 goes forwards M569 P0.2 S0 D2 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M569 P0.5 S1 ; physical drive 0.5 goes forwards M584 X0.2 Y0.1 Z0.3:4:5 E20.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E655 ; set steps per mm M566 X1000.00 Y1000.00 Z50.00 E600.00 P1 ; set maximum instantaneous speed changes (mm/min) M203 X60000.00 Y60000.00 Z400.00 E3600.00 ; set maximum speeds (mm/min) M201 X10000.00 Y10000.00 Z80.00 E600.00 ; set accelerations (mm/s^2) M906 X1600 Y1600 Z800 E450 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y250 Z200 S0 ; set axis maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; configure Z-probe endstop for low end on Z M915 X Y R0 F0 S3 H200 ; enable sensorless homing ; Z-Probe M558 P9 C"20.io0.in" H3 F200 T15000 A4 S0.02 ; set Z probe type to bltouch and the dive height + speeds M950 S0 C"20.io0.out" G31 X0 Y-20.0 Z3.10 P25 ; set Z probe trigger value, offset and trigger height M671 X-8:295:144 Y-15:-15:290 S10 ; leadscrews at front left, front right and rear middle M557 X10:290 Y0:230 P4:4 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; 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 M308 S1 P"20.temp0" Y"pt1000" ; configure sensor 1 as PT1000 on pin temp1 M950 H1 C"20.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 ;M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"out1" Q1000 ; create fan 0 on pin out7 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out2" Q1000 ; create fan 1 on pin out8 and set its frequency M106 P1 S1 H1 T50 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 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 ; Accelerometer ; M955 P20.0 I20 ; Acc. on tool board CAN 20 with orientation 20 ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool
-
@pakue can you send the results of the M122 for the mainboard after you have seen this issue as well please.
-
@t3p3tony
That's during printing. I can try to get an M122 right after a line is skipped.m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0beta6 (2021-11-06 11:38:57) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TJ-6J9F6-3SD6M-TB96T Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 151136 Dynamic ram: 65936 of which 580 recycled Never used RAM 132060, free system stack 140 words Tasks: SBC(ready,0.6%,498) HEAT(notifyWait,0.0%,320) Move(notifyWait,0.6%,250) CanReceiv(notifyWait,0.0%,771) CanSender(notifyWait,0.0%,365) CanClock(delaying,0.0%,340) TMC(notifyWait,8.1%,58) MAIN(running,90.4%,921) IDLE(ready,0.2%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:53:55 ago, cause: software Last software reset at 2021-11-28 23:28, reason: User, none spinning, available RAM 143092, slot 1 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 139 MCU temperature: min 41.9, current 45.5, max 46.0 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.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: pos 28052, standstill, SG min 0, mspos 8, reads 16451, writes 11 timeouts 0 Driver 1: pos -716, ok, SG min 0, mspos 815, reads 16426, writes 36 timeouts 0 Driver 2: pos 7376, ok, SG min 0, mspos 616, reads 16426, writes 36 timeouts 0 Driver 3: pos 0, ok, SG min 0, mspos 977, reads 16441, writes 21 timeouts 0 Driver 4: pos 0, ok, SG min 0, mspos 977, reads 16441, writes 21 timeouts 0 Driver 5: pos 0, ok, SG min 0, mspos 977, reads 16442, writes 21 timeouts 0 Date/time: 2021-11-29 00:36:24 Slowest loop: 1021.09ms; fastest: 0.04ms === Storage === Free file entries: 10 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 40, maxWait 462853ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 9065, completed 9005, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 2], CDDA state 3 === AuxDDARing === 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.7 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 1 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File* is doing "G1 X154.501007 Y179.203003 E93.792648" 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 Code queue is empty === CAN === Messages queued 37362, received 52073, lost 0, longest wait 5ms for reply type 6024, peak Tx sync delay 3539, free buffers 49 (min 46), ts 16179/16118/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 4, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 58087/58087 SPI underruns 0, overruns 0 State: 5, disconnects: 1, timeouts: 1, IAP RAM available 0x2b68c Buffer RX/TX: 3968/1368-4064 === Duet Control Server === Duet Control Server v3.4-b6 File /opt/dsf/sd/gcodes/Tray.gcode is selected, processing File: Buffered code: G1 X154.076 Y179.628 E93.81991 Buffered code: G1 X153.529 Y179.628 E93.84469 Buffered code: G1 X153.954 Y179.203 E93.87195 Buffered code: G1 X153.407 Y179.203 E93.89673 Buffered code: G1 X152.982 Y179.628 E93.92399 Buffered code: G1 X152.435 Y179.628 E93.94877 Buffered code: G1 X152.861 Y179.203 E93.97603 Buffered code: G1 X152.314 Y179.203 E94.00081 Buffered code: G1 X151.889 Y179.628 E94.02807 Buffered code: G1 X151.342 Y179.628 E94.05285 Buffered code: G1 X151.767 Y179.203 E94.08011 Buffered code: G1 X151.220 Y179.203 E94.10489 Buffered code: G1 X150.795 Y179.628 E94.13215 Buffered code: G1 X150.248 Y179.628 E94.15693 Buffered code: G1 X150.673 Y179.203 E94.18418 Buffered code: G1 X150.127 Y179.203 E94.20896 Buffered code: G1 X149.701 Y179.628 E94.23622 Buffered code: G1 X149.155 Y179.628 E94.26100 Buffered code: G1 X149.580 Y179.203 E94.28826 Buffered code: G1 X149.033 Y179.203 E94.31304 Buffered code: G1 X148.608 Y179.628 E94.34030 Buffered code: G1 X148.061 Y179.628 E94.36508 Buffered code: G1 X148.486 Y179.203 E94.39234 Buffered code: G1 X147.940 Y179.203 E94.41712 Buffered code: G1 X147.514 Y179.628 E94.44438 Buffered code: G1 X146.967 Y179.628 E94.46916 Buffered code: G1 X147.393 Y179.203 E94.49642 Buffered code: G1 X146.846 Y179.203 E94.52120 Buffered code: G1 X146.421 Y179.628 E94.54846 Buffered code: G1 X145.874 Y179.628 E94.57324 Buffered code: G1 X146.299 Y179.203 E94.60049 ==> 1488 bytes Pending code: G1 X145.752 Y179.203 E94.62527 Code buffer space: 2600 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 39.63, max wait times: 80.8ms/11.0ms Codes per second: 4.35 Maximum length of RX/TX data transfers: 3212/1196
-
@pakue said in [3.4beta6] Toolboard missing extrusion and M122 error:
=== CAN ===
Messages queued 37362, received 52073, lost 0, longest wait 5ms for reply type 6024, peak Tx sync delay 3539, free buffers 49 (min 46), ts 16179/16118/0
Tx timeouts 0,0,0,0,0,0Thanks - the CAN communications look good
@pakue said in [3.4beta6] Toolboard missing extrusion and M122 error:
I can try to get an M122 right after a line is skipped.
Yes send M122 M122 B20 to dump both the mainboard and the toolboard please.
-
This is now right after a line was skipped:
M122 M122 B20 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0beta6 (2021-11-06 11:38:57) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TJ-6J9F6-3SD6M-TB96T Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 151136 Dynamic ram: 65936 of which 580 recycled Never used RAM 131988, free system stack 128 words Tasks: SBC(ready,0.6%,498) HEAT(notifyWait,0.0%,320) Move(notifyWait,0.2%,239) CanReceiv(notifyWait,0.0%,771) CanSender(notifyWait,0.0%,365) CanClock(delaying,0.0%,340) TMC(notifyWait,8.3%,58) MAIN(running,89.0%,921) IDLE(ready,1.8%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 02:14:27 ago, cause: software Last software reset at 2021-11-28 23:28, reason: User, none spinning, available RAM 143092, slot 1 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 132 MCU temperature: min 45.8, current 46.6, max 46.7 Supply voltage: min 23.7, current 23.8, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.1, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: pos 21605, standstill, SG min n/a, mspos 8, reads 21585, writes 0 timeouts 0 Driver 1: pos 5882, standstill, SG min 0, mspos 824, reads 21580, writes 6 timeouts 0 Driver 2: pos 427, ok, SG min 0, mspos 442, reads 21580, writes 6 timeouts 0 Driver 3: pos 0, ok, SG min 0, mspos 580, reads 21583, writes 2 timeouts 0 Driver 4: pos 0, ok, SG min 0, mspos 580, reads 21583, writes 2 timeouts 0 Driver 5: pos 0, ok, SG min 0, mspos 580, reads 21583, writes 2 timeouts 0 Date/time: 2021-11-29 01:56:56 Slowest loop: 1002.25ms; fastest: 0.04ms === Storage === Free file entries: 10 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 43, maxWait 349053ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 286, completed 281, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === 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 = 1.0 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 1 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File* is doing "G1 X171.792999 Y100.209000 E36.715832" 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 Code queue is empty === CAN === Messages queued 2903, received 4697, lost 0, longest wait 2ms for reply type 6024, peak Tx sync delay 109, free buffers 49 (min 47), ts 1390/1387/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 4, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 53035/53035 SPI underruns 0, overruns 0 State: 5, disconnects: 1, timeouts: 1, IAP RAM available 0x2b68c Buffer RX/TX: 1584/3096-0 === Duet Control Server === Duet Control Server v3.4-b6 File /opt/dsf/sd/gcodes/Tray.gcode is selected, processing File: Buffered code: G1 X171.793 Y100.209 E36.71583 Buffered code: G1 X171.793 Y100.855 E36.73919 Buffered code: G1 X139.986 Y69.048 E38.36396 Buffered code: G1 X139.339 Y69.048 E38.38732 Buffered code: G1 X171.793 Y101.502 E40.04512 Buffered code: G1 X171.793 Y102.149 E40.06848 Buffered code: G1 X138.693 Y69.048 E41.75931 Buffered code: G1 X138.046 Y69.048 E41.78267 Buffered code: G1 X171.793 Y102.795 E43.50654 Buffered code: G1 X171.793 Y103.442 E43.52990 Buffered code: G1 X137.399 Y69.048 E45.28680 Buffered code: G1 X136.753 Y69.048 E45.31016 Buffered code: G1 X171.793 Y104.089 E47.10009 Buffered code: G1 X171.793 Y104.735 E47.12345 Buffered code: G1 X136.106 Y69.048 E48.94642 Buffered code: G1 X135.459 Y69.048 E48.96977 Buffered code: G1 X171.793 Y105.382 E50.82577 Buffered code: G1 X171.793 Y106.028 E50.84913 Buffered code: G1 X135.007 Y69.242 E52.72823 Buffered code: G1 X135.007 Y69.889 E52.75159 Buffered code: G1 X171.793 Y106.675 E54.63069 Buffered code: G1 X171.793 Y107.322 E54.65405 Buffered code: G1 X135.007 Y70.536 E56.53315 Buffered code: G1 X135.007 Y71.182 E56.55651 Buffered code: G1 X171.793 Y107.968 E58.43561 Buffered code: G1 X171.793 Y108.615 E58.45897 Buffered code: G1 X135.007 Y71.829 E60.33807 Buffered code: G1 X135.007 Y72.476 E60.36143 Buffered code: G1 X171.793 Y109.262 E62.24053 Buffered code: G1 X171.793 Y109.908 E62.26389 Buffered code: G1 X135.007 Y73.122 E64.14299 Buffered code: G1 X135.007 Y73.769 E64.16635 ==> 1536 bytes Code buffer space: 1464 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 40.10, max wait times: 54.1ms/1.9ms Codes per second: 14.88 Maximum length of RX/TX data transfers: 3212/1664 Error: Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta6 (2021-11-06 11:56:11) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) M122: Response timeout: CAN addr 20, req type 6024, RID=439
-
@pakue send M122 B20 as well by itself
-
@jay_s_uk unfortunately a similar result.
M122 b20 Error: Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta6 (2021-11-06 11:56:11) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) M122: Response timeout: CAN addr 20, req type 6024, RID=189
after M122
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0beta6 (2021-11-06 11:38:57) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TJ-6J9F6-3SD6M-TB96T Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 151136 Dynamic ram: 65936 of which 580 recycled Never used RAM 129156, free system stack 127 words Tasks: SBC(ready,0.6%,476) HEAT(notifyWait,0.0%,320) Move(notifyWait,0.1%,252) CanReceiv(notifyWait,0.0%,771) CanSender(notifyWait,0.0%,365) CanClock(delaying,0.0%,340) TMC(notifyWait,7.5%,58) MAIN(running,91.6%,921) IDLE(ready,0.2%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:45:38 ago, cause: power up Last software reset at 2021-11-28 23:28, reason: User, none spinning, available RAM 143092, slot 1 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 133 MCU temperature: min 22.5, current 44.4, max 44.9 Supply voltage: min 23.4, current 23.9, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/72/0, gc cycles 0 Driver 0: pos 20093, standstill, SG min 0, mspos 8, reads 29477, writes 11 timeouts 0 Driver 1: pos -3588, ok, SG min 0, mspos 394, reads 29464, writes 24 timeouts 0 Driver 2: pos 845, standstill, SG min 0, mspos 888, reads 29464, writes 24 timeouts 0 Driver 3: pos 0, ok, SG min 0, mspos 339, reads 29471, writes 17 timeouts 0 Driver 4: pos 0, ok, SG min 0, mspos 339, reads 29472, writes 17 timeouts 0 Driver 5: pos 0, ok, SG min 0, mspos 339, reads 29472, writes 17 timeouts 0 Date/time: 2021-11-29 16:52:26 Slowest loop: 1002.34ms; fastest: 0.04ms === Storage === Free file entries: 10 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 42, maxWait 2340188ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 2057, completed 2052, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === 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.7 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 1 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File* is doing "G1 X105.864998 Y148.003998 E156.572769" 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 Code queue is empty === CAN === Messages queued 26681, received 43884, lost 0, longest wait 2ms for reply type 6049, peak Tx sync delay 1113, free buffers 49 (min 43), ts 13692/13667/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 4, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 42985/42985 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x2b6b8 Buffer RX/TX: 1536/3080-0 === Duet Control Server === Duet Control Server v3.4-b6 File /opt/dsf/sd/gcodes/Standard_Box v23.gcode is selected, processing File: Buffered code: G1 X105.865 Y148.004 E156.57277 Buffered code: G1 X106.767 Y148.004 E156.64097 Buffered code: G1 X143.747 Y111.023 E160.59435 Buffered code: G1 X143.747 Y111.925 E160.66254 Buffered code: G1 X107.669 Y148.004 E164.51948 Buffered code: G1 X108.571 Y148.004 E164.58768 Buffered code: G1 X143.748 Y112.828 E168.34819 Buffered code: G1 X143.748 Y113.730 E168.41638 Buffered code: G1 X109.473 Y148.004 E172.08047 Buffered code: G1 X110.376 Y148.004 E172.14866 Buffered code: G1 X143.748 Y114.632 E175.71632 Buffered code: G1 X143.748 Y115.534 E175.78451 Buffered code: G1 X111.278 Y148.004 E179.25572 Buffered code: G1 X112.180 Y148.004 E179.32392 Buffered code: G1 X143.748 Y116.436 E182.69871 Buffered code: G1 X143.748 Y117.338 E182.76690 Buffered code: G1 X113.082 Y148.004 E186.04526 Buffered code: G1 X113.984 Y148.004 E186.11346 Buffered code: G1 X143.749 Y118.240 E189.29538 Buffered code: G1 X143.749 Y119.142 E189.36357 Buffered code: G1 X114.887 Y148.004 E192.44907 Buffered code: G1 X115.789 Y148.004 E192.51726 Buffered code: G1 X143.749 Y120.044 E195.50633 Buffered code: G1 X143.749 Y120.946 E195.57452 Buffered code: G1 X116.691 Y148.004 E198.46715 Buffered code: G1 X117.593 Y148.004 E198.53535 Buffered code: G1 X143.749 Y121.848 E201.33155 Buffered code: G1 X143.749 Y122.750 E201.39974 Buffered code: G1 X118.495 Y148.004 E204.09950 Buffered code: G1 X119.397 Y148.004 E204.16770 Buffered code: G1 X143.749 Y123.652 E206.77104 Buffered code: G1 X143.750 Y124.555 E206.83923 ==> 1536 bytes Code buffer space: 1416 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 2.77, max wait times: 36.6ms/10.0ms Codes per second: 0.15 Maximum length of RX/TX data transfers: 3040/1508
-
@pakue looks like you have an issue with your CAN wiring between the 6HC and the toolboard
-
@jay_s_uk It's printing fine except for the missed extrusions. Wouldn't signalling errors be caught by the CAN "lost" counter?
-
@pakue on the toolboard yes.
but you can't get any info from it, hence theM122: Response timeout: CAN addr 20, req type 6024, RID=189
-
@jay_s_uk I can try to shorten the CAN cable and add some shielding. Let's see if that helps.
-
@pakue the length of the CAN cable is not critical, neither does not normally need to be shielded.
The only time I have seen issues with CAN communication caused by other devices is when I had long wires between the PSU and a Duet 3 main board that was driving a powerful 24V bed heater, and there were separate wires from the PSU to the other CAN devices. In this case the differential ground noise caused by the bed heater turning on/off and the long wires to the PSU introduced a lot of ground noise.
The M122 B20 result is strange, because the board is responding to the first request for M122 data, but failing to respond to some of the subsequent requests. Does M122 B20 always run reliably when the machine is not printing?
-
@dc42 I do indeed have a ~300W 24V heated bed, but the wires are >2mm^2, 30cm in length and split at the PSU between heated bed and the rest of the electronics. I can measure the GND offset/noise at the toolboard when everything is heating up to double check.
The M122 seems to be unreliable during printing, but works (at least sends some data) when the printer just started. About after a print; I'd have to check that.
With RFF 3.3 the M122 doesn't show errors.
-
@pakue please make the GCode file you are printing available. I will then test it on the bench, including running M122 while a print is running.
-
@dc42 that one is running 0.9mm extrusion width on a 0.4 nozzle, but I can slice it with standard settings if preferred. The issue is reproducible on other settings too.
-
@dc42 DC offsets between toolboard GND and Duet3 GND input are
- 17mV default
- 33mV with bed heater on
- 430mV with hotend on
For noise measurements I'd have to pull out the scope.
After a print once everything is turned off (fans, heater, etc.) the M122 still throws errors, so I'm guessing noise is not the root cause?
m122 b20 Error: Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta6 (2021-11-06 11:56:11) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) M122: Response timeout: CAN addr 20, req type 6024, RID=234
-
@pakue i agree it looks less likely that noise is the issue. Can you try reinstalling the firmware (M997 B20) on the toolboard. ensure you have the 3.4b6 toolboards firmware binary in the /firmware directory on the SD card.
-
@t3p3tony Updating via CAN it gets stuck on "Please wait while updates are being installed..." and the toolboard only shows up again after downgrading the MB6HC to 3.3.
Even resetting the toolboard (both buttons pressed while powering up) doesn't reset it to the original address (121).V3.3 on the MB6HC returns the full M122 as far as I can tell
M122 B20 Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta6 (2021-11-06 11:56:11) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 2752, free system stack 2788 words Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.2%,115) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,77) CanClock(notifyWait,0.0%,64) ACCEL(notifyWait,0.0%,61) TMC(delaying,3.0%,57) MAIN(running,91.8%,340) IDLE(ready,0.0%,27) AIN(delaying,4.9%,142), total 100.0% Last reset 00:03:20 ago, cause: software Last software reset data not available Driver 0: pos 0, 655.0 steps/mm,standstill, SG min 0, read errors 0, write errors 1, ifcnt 23, reads 34732, writes 13, timeouts 0, DMA errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 2/6, peak Rx sync delay 212, resyncs 0/0, no step interrupt scheduled VIN voltage: min 23.8, current 24.0, max 24.1 MCU temperature: min 37.2C, current 37.7C, max 37.8C Last sensors broadcast 0x00000002 found 1 100 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 4005, send timeouts 0, received 1804, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer detected: yes, status: 00 I2C bus errors 0, naks 3, other errors 0
M122
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TJ-6J9F6-3SD6M-TB96T Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 150904 Dynamic ram: 61580 of which 640 recycled Never used RAM 141068, free system stack 200 words Tasks: SBC(ready,17.9%,346) HEAT(delaying,0.0%,325) Move(notifyWait,0.0%,302) CanReceiv(notifyWait,0.0%,774) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.3%,93) MAIN(running,74.7%,922) IDLE(ready,0.0%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:05:21 ago, cause: software Last software reset at 2021-11-29 23:23, reason: User, none spinning, available RAM 141068, slot 0 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 148 MCU temperature: min 43.8, current 44.4, max 44.7 Supply voltage: min 23.6, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, reads 28365, writes 11 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 28360, writes 16 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 28360, writes 16 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 28362, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 28362, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 28363, writes 14 timeouts 0, SG min/max 0/0 Date/time: 2021-11-29 23:28:40 Slowest loop: 26.00ms; fastest: 0.05ms === Storage === Free file entries: 10 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, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 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, chamberHeaters = -1 -1 -1 -1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by 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 Code queue is empty. === CAN === Messages queued 2896, received 6434, lost 0, longest wait 4ms for reply type 6024, peak Tx sync delay 464, free buffers 49 (min 48), ts 1610/1609/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === State: 4, failed transfers: 0, checksum errors: 0 Last transfer: 2ms ago RX/TX seq numbers: 51414/51414 SPI underruns 0, overruns 0 Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.4-b6 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 3846.85, max wait times: 18.1ms/20.2ms Codes per second: 0.20 Maximum length of RX/TX data transfers: 2940/800
-
@pakue thanks that's an interesting result! now you have it working and returning the full result can you try the following:
- try the firmware upgrade again
- then try upgrading the mainboard to 3.4b6
-
@t3p3tony Upgrading the toolboard to the beta6 works, but after upgrading the MB6HC the M122 issue persists:
m122 b20 Error: Diagnostics for board 20: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0beta6 (2021-11-06 11:56:11) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 2752, free system stack 2788 words Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.1%,101) CanAsync(notifyWait,0.0%,64) CanRecv(notifyWait,0.0%,77) CanClock(notifyWait,0.0%,64) ACCEL(notifyWait,0.0%,61) TMC(delaying,3.0%,67) MAIN(running,92.0%,350) IDLE(ready,0.0%,27) AIN(delaying,4.9%,148), total 100.0% Last reset 00:00:20 ago, cause: software Last software reset data not available Driver 0: pos 0, 655.0 steps/mm,standstill, SG min 0, read errors 0, write errors 1, ifcnt 92, reads 10344, writes 11, timeouts 0, DMA errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 3/6, peak Rx sync delay 186, resyncs 0/0, no step interrupt scheduled VIN voltage: min 23.8, current 24.0, max 24.1 MCU temperature: min 37.9C, current 38.1C, max 38.2C M122: Last sensors broadcast 0x00000002 found 1 246 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 264, send time Response timeout: CAN addr 20, req type 6024, RID=17