Came across this error today with rc2 (no plus), still present with rc2+1
Not certain if it's just how weird my system is, or if it's an actual bug.
When attempting to home my A axis I get this error, UNLESS the home switch is already triggered.
If the homing switch is already triggered the axis homes just fine, but subsequent home commands run the motor at what sounds like 10X speed which the motor can't do and just squeals.
If at this point I physically move the axis to the home switch, at which point the homing sequence completes without error.
I can home my Z axis without issue.
I have found that if I define what I have called my U axis in the past, as the Y axis, then the error does not occur.
This is weird to me, as it's the A axis homing that causes the error, I do not have endstops for the U/Y axis.
I'm suspecting it is something to do with me not defining/using the X or Y axis, which you'd not really see in any normal setup.... though I do not know why that should be a problem.
Using Y instead of U is not a large issue for me, but I figured I'd better notify of what I found in case it is a bug instead of just me doing stupid things.
Error code:
Error: Code 7 move error: info=-2.147e+9, seg: s=10412661 t=2147483647 d=-2147483648.00 u=-1.0000e+0 a=0.0000e+0 f=0f
M122:
4/16/2025, 9:44:45 AM: M122: === Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.6.0-rc.2+1 (2025-04-09 16:55:47) running on Duet 3 Mini5plus Ethernet (standalone mode)
Board ID: G5729-TU8LU-F65J0-409NU-3F03Z-7U6T6
Used output buffers: 1 of 40 (19 max)
=== RTOS ===
Static ram: 94764
Dynamic ram: 116432 of which 16 recycled
Never used RAM 30184, free system stack 110 words
Tasks: NETWORK(1,ready,21.3%,145) ETHERNET(5,nWait 7,0.1%,578) HEAT(3,nWait 6,0.0%,371) TMC(4,nWait 6,0.8%,99) CanReceiv(6,nWait 1,0.0%,796) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,353) MAIN(1,running,74.7%,675) IDLE(0,ready,2.0%,29) USBD(3,blocked,0.0%,147) AIN(4,delaying,0.8%,261), total 99.7%
Owned mutexes:
=== Platform ===
Last reset 00:00:25 ago, cause: software
Last software reset at 2025-04-16 09:33, reason: User, Gcodes spinning, available RAM 30196, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
MCU temperature: min 28.2, current 29.5, max 29.5
Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/37, heap memory allocated/used/recyclable 2048/696/0, gc cycles 0
Events: 1 queued, 1 completed
Date/time: 2025-04-16 09:44:44
Slowest loop: 80.95ms; fastest: 0.16ms
=== Storage ===
Free file entries: 18
SD card 0 detected, interface speed: 22.5MBytes/sec
SD card longest read time 3.3ms, write time 3.9ms, max retries 0
=== Move ===
Segments created 3, maxWait 13801ms, 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 0.00/0/0.00 -2147483648.00/-2/-1.00 0.00/0/0.00
No step interrupt scheduled
Driver 0: standstill, SG min 0, r/w errs 0/1, ifcnt 29, reads/writes 1296/15, timeouts 0, DMA errs 0, CC errs 0
Driver 1: standstill, SG min 0, r/w errs 0/1, ifcnt 27, reads/writes 1298/13, timeouts 0, DMA errs 0, CC errs 0
Driver 2: standstill, SG min 0, r/w errs 0/1, ifcnt 27, reads/writes 1297/13, timeouts 0, DMA errs 0, CC errs 0
Driver 3: standstill, SG min 0, r/w errs 0/1, ifcnt 21, reads/writes 1300/10, timeouts 0, DMA errs 0, CC errs 0
Driver 4: standstill, SG min 0, r/w errs 0/1, ifcnt 21, reads/writes 1301/10, timeouts 0, DMA errs 0, CC errs 0
Driver 5: not present
Driver 6: not present
=== DDARing 0 ===
Scheduled moves 1, completed 0, LaErrors 0, Underruns [0, 0, 0]
Segments left 0, axes/extruders owned 0x00000013, drives owned 0x00000013
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 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Movement locks held by HTTP, null
HTTP is idle in state(s) 2 5, running macro
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 137, received 227, lost 0, ignored 0, errs 1, boc 0
Longest wait 277ms for reply type 6041, peak Tx sync delay 489, free buffers 26 (min 25), ts 120/119/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 14.75ms; fastest: 0.04ms
Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
HTTP sessions: 1 of 8
= Ethernet =
Interface state: active
Error counts: 0 0 0 0 0 0
Socket states: 6 6 2 2 2 0 0 0 0
M122 B50.0 does not complete
config.g that errors
; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet
; executed by the firmware on start-up
; General
G91 ; Relative coordinates
;M83 ; relative extruder moves
M550 P"TestSaw" ; Tool Number in future NV01234567-999
; Network
M552 P192.168.1.14 S1 ; configure Ethernet adapter
M553 P255.255.255.0 ; set netmask
M554 P192.168.1.1 ; set gateway
M586 P0 S1 ; configure HTTP
; Wait a moment for the CAN expansion boards to become available
G4 S2
; Closed Loop Drivers
M569.1 P50.0 T1 C189.384649 E7.5:50.0 S200 R30 I10 D0.01 V250 A30000 ; quadrature encoder and magnetic encoder. 188.08049125 187.911371 185.905911
M569 P50.0 S1 D2
; Open Loop Drivers
M569 P0.0 S1 D2 ; Clamp Driver
M569 P0.1 S1 D2 ; Rotate Driver
M569 P0.2 S1 D2 ; Feed Driver
; Axes
M584 Z50.0 U0.2 A0.0 B0.1 ; set axis mapping
M350 Z16 U16 A16 B16 ; configure microstepping
M906 Z800 U800 A1300 B1500; set axis driver currents
;M917 Z0
; (micro)Steps/mm Calculation:
; Z: Driver 1 microsteps
; Z: Motor 200steps/rev
; Z: Belt Reduction 1/2 (0.5)
; Z: Lead Screw Reduction 1.27 mm/Rotation (note,encoder reads here at 1.184759:1 ratio and 4um/cycle)
; Z: Motion Ratio 1.996311786:1
; B: Driver 16 microsteps
; B: Motor 200steps/rev
; B: Belt Reduction 25/60 (0.4166666)
; A: Driver 16 microsteps
; A: Motor 200steps/rev, direct coupled
; E: Driver 16 microsteps
; E: Motor 400steps/rev (89080.1598:1)
; E: Belt Reduction 1/2 (0.5)(222.7003995:1)
; E: Harmonic Reduction 1/100 (0.01)(111.35019977:1) step = 0.009 deg
; E: Pinch Roller Radius 7.212148 mm (circ 45.3153) (1.1135:1) 0.12587583333 mm/deg (0.0011328825 mm/step)
; E: Encoder Roller Diameter 12.954 mm (circ 40.6962)
M92 Z10060.153887 U28455.406926 A8.8888 B21.333333 ; steps/mm microsteps/mm E14123.2652106 for 200step motor 628.75961790625 E28246.5304212
M566 Z0 U1 A0 B1 P1 ; set maximum instantaneous speed changes (mm/min)
M203 Z270 U100 A210939.6 B703126.08 I0.001 ;set maximum speeds (mm/min)
M201 Z235.8796 U500 A50863.59954 B11593.69048 ; set accelerations (mm/s^2)
M208 Z-0.65:1.5 U-2147483647:2147483647 A0:180 B-2147483647:2147483647 ; axis Limits
; Kinematics
M669 K0 ; configure Cartesian kinematics
; Endstop and Probe
M574 Z2 P"!50.io0.in" S1 ; configure Z axis endstop inverted
M574 A1 P"^!out3.tach" S1 ; configure A axis endstop with pullup, inverted
M558 P8 C"^!io1.in" H1:0.01 F12.425:0.0363255 T100 K0 A10 S0.00127 B0 ; configure blade probe with pullup, inverted
G31 K0 Z0 P500
; Spindle configuration
M950 R0 C"nil + out0" L12000
;Coolant Pump Configuration
M950 F0 C"out1"
; Tools
M563 P0 S"Blade" F0 R0 ; create tool #0
; Miscellaneous
M453 ; select CNC mode
T0 ; select first tool
; Remove Requirement for homing
G92 E0 B0 ;
; setup display
M918 P2 E4 F2000000 ; Fysetc 12864mini
M950 E1 C"io3.out" T1 U3 ; create a RGB Neopixel LED strip with 3 LEDs on the Duet 3 Mini 5+ 12864_EXP1 header
M150 E1 R125 U0 B125 P125 S1 F1 ; display led blue R=Green, U=Red, B=Blue
M150 E1 R0 U0 B0 P0 S1 F1 ; left encoder led red
M150 E1 R0 U0 B0 P0 S1 F0 ; right encoder led green
;wait for things to be ready
G4 S1
;start logging
M929 S3 ; S3:DEBUG S2:INFO S1:WARN
;load variables
M98 P"0:/macros/general/commands/loadVariables.g"
homea.g
; homea.g
; called to home the A axis
;
if {exists(global.debugOn)}
if {global.debugOn = 1}
M118 P0 S"homea.g Call" L3
; anything here to make sure it's safe
; homing moves
var aTravel = move.axes[3].max - move.axes[3].min + 360 ; calculate how far Z can travel plus degrees
G91 ; relative positioning
G1 F{global.clampHomeSpeed}
G1 H1 A{-var.aTravel} F{global.clampHomeSpeed} ; coarse home in the -A direction
G1 H2 A5 F{global.clampHomeSpeed} ; move back 5degrees
G1 H1 A-1 F{global.clampHomeSpeed} ; fine home in the -A direction
G90 ; Absolute Positioning
G1 A{global.clampCloseDegrees} F{global.clampingSpeed}
set global.clampStatus = 1
G4 P1
if {exists(global.debugOn)}
if {global.debugOn = 1}
M118 P0 S"homea.g Return" L3
homez.g
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.5.8 on Mon Jan 06 2025 08:00:55 GMT-0700 (Mountain Standard Time)
if {exists(global.debugOn)}
if {global.debugOn = 1}
M118 P0 S"homez.g Call" L3
; anything here to make sure it's safe
; homing moves
var zTravel = move.axes[2].max - move.axes[2].min + 0.5 ; calculate how far Z can travel plus 0.5mm
var zHalfMax = move.axes[2].max / 2 ; calculate half the max of Z travel
G91 ; relative positioning
G1 H1 Z{var.zTravel} F{global.depthHomeSpeed * 10} ; coarse home in the -Z direction
G1 H2 Z-0.5 F{global.depthHomeSpeed * 10} ; move back 0.5mm
G1 H1 Z1 F{global.depthHomeSpeed} ; fine home in the -Z direction
G1 H2 Z{-var.zHalfMax} F100
; setup closed loop
M569 P50.0 D4
G4 P50
;M569.6 P50.0 V2
;G4 P500
M569.6 P50.0 V1
G4 P1
if {exists(global.debugOn)}
if {global.debugOn = 1}
M118 P0 S"homez.g Return" L3
config.g that does not error
; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet
; executed by the firmware on start-up
; General
G91 ; Relative coordinates
M83 ; relative extruder moves
M550 P"TestSaw" ; set hostname
; Network
M552 P192.168.1.14 S1 ; configure Ethernet adapter
M553 P255.255.255.0 ; set netmask
M554 P0.0.0.0 ; set gateway
M586 P0 S1 ; configure HTTP
; Wait a moment for the CAN expansion boards to become available
G4 S2
; Closed Loop Drivers
M569.1 P50.0 T1 C189.384649 E7.5:50.0 S200 R30 I10 D0.01 V250 A30000 ; quadrature encoder and magnetic encoder. 188.08049125 187.911371 185.905911
M569 P50.0 S1 D2
; Open Loop Drivers
M569 P0.0 S1 D2 ; Clamp Driver
M569 P0.1 S1 D2 ; Rotate Driver
M569 P0.2 S1 D2 ; Feed Driver
; Axes
M584 Z50.0 Y0.2 A0.0 B0.1 ; set axis mapping
M350 Z16 Y16 A16 B16 ; configure microstepping
M906 Z800 Y800 A1300 B1500; set axis driver currents
M917 Z0 ; standstill current percentage
; (micro)Steps/mm Calculation:
; Z: Driver 1 microsteps
; Z: Motor 200steps/rev
; Z: Belt Reduction 1/2 (0.5)
; Z: Lead Screw Reduction 1.27 mm/Rotation (note,encoder reads here at 1.184759:1 ratio and 4um/cycle)
; Z: Motion Ratio 1.996311786:1
; B: Driver 16 microsteps
; B: Motor 200steps/rev
; B: Belt Reduction 25/60 (0.4166666)
; A: Driver 16 microsteps
; A: Motor 200steps/rev, direct coupled
; E: Driver 16 microsteps
; E: Motor 400steps/rev (89080.1598:1)
; E: Belt Reduction 1/2 (0.5)(222.7003995:1)
; E: Harmonic Reduction 1/100 (0.01)(111.35019977:1) step = 0.009 deg
; E: Pinch Roller Radius 7.212148 mm (circ 45.3153) (1.1135:1) 0.12587583333 mm/deg (0.0011328825 mm/step)
; E: Encoder Roller Diameter 12.954 mm (circ 40.6962)
M92 Z10060.153887 Y28455.406926 A8.8888 B21.333333 ; steps/mm microsteps/mm E14123.2652106 for 200step motor 628.75961790625 E28246.5304212
M566 Z0 Y1 A0 B1 P1 ; set maximum instantaneous speed changes (mm/min)
M203 Z270 Y100 A210939.6 B703126.08 I0.001 ;set maximum speeds (mm/min)
M201 Z235.8796 Y500 A10000 B11593.69048 ; set accelerations (mm/s^2) A50863.59954
M208 Z-0.65:1.5 Y-2147483647:2147483647 A0:180 B-2147483647:2147483647 ; axis Limits
; Kinematics
M669 K0 ; configure Cartesian kinematics
; Endstop and Probe
M574 Z2 P"!50.io0.in" S1 ; configure Z axis endstop inverted
M574 A1 P"^!out3.tach" S1 ; configure A axis endstop with pullup inverted
M558 P8 C"^!io1.in" H1:0.01 F12.425:0.0363255 T100 K0 A10 S0.00127 B0 ; configure blade probe
G31 K0 Z0 P500 ; set probe status set probe 0 to 0 when value over 500
; Spindle configuration
M950 R0 C"nil + out0" L12000
;Coolant Pump Configuration
M950 F0 C"out1"
; Tools
M563 P0 S"Blade" F0 R0 ; create tool #0
; Miscellaneous
M453 ; select CNC mode
T0 ; select first tool
; Remove Requirement for homing
G92 B0 ;
; setup display
M918 P2 E4 F2000000 ; Fysetc 12864mini
M950 E1 C"io3.out" T1 U3 ; create a RGB Neopixel LED strip with 3 LEDs on the Duet 3 Mini 5+ 12864_EXP1 header
M150 E1 R125 U0 B125 P125 S1 F1 ; display led blue R=Green, U=Red, B=Blue
M150 E1 R0 U0 B0 P0 S1 F1 ; left encoder led red
M150 E1 R0 U0 B0 P0 S1 F0 ; right encoder led green
;wait for things to be ready
G4 S1
;start logging
M929 S3 ; S3:DEBUG S2:INFO S1:WARN
;load variables
M98 P"0:/macros/general/commands/loadVariables.g"