I'm seeing the same error response, but with the M956 command when trying to actually read from the accelerometer.
I saw in multiple places notes that the accelerometer only works with the Duet3 running in standalone mode - is this still the case? https://duet3d.dozuki.com/Wiki/Accelerometers is one place ; if that's still true, I expect my issue (and possibly Nuramori's) is from running in SBC mode. If it's just a dumb configuration mistake, please let me know X)
Error (by itself here, but the same error happens when using the example "move, wait and test" gcode snippet):
5/14/2021, 11:56:16 AM M956 P121.0 S1000 A0
Error: M956: Accelerometer not found
M122 B121 and M122 responses, not long after a reset for testing:
5/14/2021, 11:55:33 AM M122 B121
Diagnostics for board 121:
Duet TOOL1LC firmware version 3.3RC2 (2021-05-11 14:59:50)
Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
Never used RAM 3140, free system stack 0 words
Tasks: Move(notifyWait,0.0%,153) HEAT(delaying,0.2%,81) CanAsync(notifyWait,0.0%,66) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,66) ACCEL(notifyWait,0.0%,61) TMC(delaying,2.8%,57) MAIN(running,92.0%,349) IDLE(ready,0.0%,26) AIN(delaying,4.9%,62), total 100.0%
Last reset 00:02:41 ago, cause: software
Last software reset data not available
Driver 0: position 0, 80.0 steps/mm, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 69, reads 15357, writes 9, 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 9, peak Rx sync delay 210, resyncs 0, no step interrupt scheduled
VIN: 24.5V
MCU temperature: min 38.8C, current 39.5C, max 39.5C
Ticks since heat task active 85, ADC conversions started 161830, completed 161829, timed out 0, errs 0
Last sensors broadcast 0x00000002 found 1 90 ticks ago, loop time 0
CAN messages queued 1944, send timeouts 0, received 1467, lost 0, free buffers 36, min 36, error reg 0
dup 0, oos 0, bm 0, wbm 0
Accelerometer detected: yes, status: 00
I2C bus errors 0, naks 0, other errors 0
5/14/2021, 11:55:29 AM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.3RC2 (2021-05-11 14:55:40) running on Duet 3 Mini5plus Ethernet (SBC mode)
Board ID: W53WL-F396U-D65J0-40KM2-LA03Z-RAFMP
Used output buffers: 1 of 40 (10 max)
=== RTOS ===
Static ram: 102476
Dynamic ram: 92608 of which 0 recycled
Never used RAM 48620, free system stack 194 words
Tasks: SBC(ready,4.8%,300) HEAT(delaying,0.0%,356) Move(notifyWait,0.1%,338) CanReceiv(notifyWait,0.0%,773) CanSender(notifyWait,0.0%,371) CanClock(delaying,0.0%,353) TMC(notifyWait,0.7%,115) MAIN(running,93.5%,566) IDLE(ready,0.1%,29) AIN(delaying,0.8%,266), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 00:02:42 ago, cause: software
Last software reset at 2021-05-14 16:52, reason: User, none spinning, available RAM 45732, slot 2
Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
MCU revision 3, ADC conversions started 162712, completed 162711, timed out 0, errs 0
Step timer max interval 753
MCU temperature: min 38.2, current 38.4, max 39.1
Supply voltage: min 23.8, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Driver 0: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 40, reads 8530, writes 11, timeouts 0, DMA errors 0
Driver 1: position 0, standstill, SG min/max 2/2, read errors 0, write errors 1, ifcnt 38, reads 8530, writes 11, timeouts 0, DMA errors 0
Driver 2: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 38, reads 8530, writes 11, timeouts 0, DMA errors 0
Driver 3: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 35, reads 8529, writes 11, timeouts 0, DMA errors 0
Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 1, ifcnt 29, reads 8532, writes 9, timeouts 0, DMA errors 0
Driver 5: position 0, assumed not present
Driver 6: position 0, assumed not present
Date/time: 2021-05-14 16:55:28
Cache data hit count 388839009
Slowest loop: 1.22ms; fastest: 0.08ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 0.0MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, 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, chamberHeaters = -1 -1
Heater 0 is on, I-accum = 0.5
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 1451, send timeouts 0, received 1939, lost 0, longest wait 2ms for reply type 6049, peak Tx sync delay 259, free buffers 17 (min 16)
=== SBC interface ===
State: 4, failed transfers: 0
Last transfer: 3ms ago
RX/TX seq numbers: 5736/5736
SPI underruns 0, overruns 0
Number of disconnects: 0, IAP RAM available 0x10c14
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.3-rc2
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 35.61
Codes per second: 0.39
Maximum length of RX/TX data transfers: 3260/736
In case it helps, config.g (M955 added now, but earlier testing with it only sent manually had the same behavior):
; Configuration file for Duet 3 Mini 5+ (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 15 2021 11:42:33 GMT-0400 (Eastern Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"duet35m3" ; set printer name
; Network
;M552 S0 ; disable network
M999 B121
G4 S3 ;wait for expansion boards to start
; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S0 ; physical drive 0.1 goes forwards
M569 P0.2 S0 ; physical drive 0.2 goes backwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P121.0 S0 ;toolboard extruder motor (maybe) - flipped from original setup because I basically made a crossover motor cable... - josh 4/7/2021
M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping
;M584 X0.0 Y0.1 Z0.2 E121.0 ; set drive mapping (toolboard, maybe)
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.1 Y80.1 Z1007.70 E471.50 S16 ; set steps per mm
M566 X300.00 Y900.00 Z60.00 E600.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z1200.00 E1800.00 ; set maximum speeds (mm/min)
M201 X1200.00 Y1200.00 Z10.00 E2000.00 ; set accelerations (mm/s^2)
M906 X400 Y400 Z1500 E800 I60 ; set motor currents (mA) and motor idle factor in per cent ; changed X and Y from 800 to 1200 to test perimeter quality - Josh 4/28/2021; changed to X400 Y400 for further testing - Josh 4/29/2021
M84 S30 ; Set idle timeout
; Axis Limits
M208 X-4 Y0 Z-15 S1 ; set axis minima
M208 X205 Y255 Z212 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"io0.in" ; configure active-high endstop for low end on X via pin io0.in
M574 Y1 S1 P"io1.in" ; configure active-high endstop for low end on Y via pin io1.in
M574 Z2 S1 P"io2.in" ; configure active-high endstop for high end on Z via pin io2.in
; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:190 Y15:195 S20 ; define mesh grid
; Heaters
;M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
M308 S0 P"temp1" Y"thermistor" T100000 B4072 ; configure sensor 0 as thermistor on pin temp1
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
M307 H0 B0 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M307 H0 R0.164 C781.6 D19.38 S1.00 V23.8
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M570 H0 S120 ; added by Josh 3/15/2021 to prevent bed heating timeout.
;M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0
;M950 H1 C"out1" 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
;M143 H1 S280 ; set temperature limit for heater 1 to 280C
;below four lines copied for implementing toolboard control - 4/7/2021 Josh
M308 S1 P"121.temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0
M950 H1 C"121.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
M143 H1 S280 ; set temperature limit for heater 1 to 280C
; Fans
;M950 F0 C"out5" Q500 ; create fan 0 on pin out5 and set its frequency
;M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
;M950 F1 C"out6" Q500 ; create fan 1 on pin out6 and set its frequency
;M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
; Fans
; the below four lines copied for implementing toolboard control - 4/7/2021 Josh
M950 F0 C"!121.out1+out1.tach" Q500 ; create fan 0 on pin out5 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"121.out2+out2.tach" Q500 ; create fan 1 on pin out6 and set its frequency
M106 P1 S1 H1 T45 ; 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
; Custom settings are not defined
; Miscellaneous
T0 ; select first tool
M950 J2 C"121.button0" ; removed the "!" from the beginning of this pin name so that now the toolboard buttons trigger on press, not release - this way I can check the state at the end of the trigger file and keep extruding/retracting if the button is still pressed. 5/11/2021 Josh
M950 J3 C"121.button1"
M581 T2 P2 S1
M581 T3 P3 S1
M955 P121.0 I05 ; configure toolboard v1.1 accelerometer - 5/14/2021 Josh
And finally the result of running config.g; I didn't see these "input handle" errors during my previous resets today, but they may have been silent - I have seen them before, but I think only when the Duet3 Mini5+ and Toolboard firmware versions didn't match perfectly:
5/14/2021, 12:02:15 PM M98 P"config.g"
Board 121 resetting
Heater 0 allowed excursion 15.0°C, fault trigger time 5.0 seconds
Warning: Board 121 does not have input handle 2080
Warning: Board 121 does not have input handle 20c0
5/14/2021, 12:02:15 PM Accelerometer 121:0 with orientation 5 samples at 1344Hz with 10-bit resolution