@Phaedrux
config,g
; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Mon Apr 22 2024 20:22:45 GMT-0700 (Pacific Daylight Time)
G21 ; Work in millimetres
G90 ; absolute coordinates
M83 ; relative extruder moves
; Smart Drivers
M569 P0.0 S0 D2 ; driver 0.0 goes backwards (Z axis)
M569 P0.1 S0 D2 ; driver 0.1 goes backwards (Z axis)
M569 P0.2 S0 D2 ; driver 0.2 goes backwards (Z axis)
M569 P0.3 S1 D2 ; driver 0.3 goes forwards (X axis)
M569 P0.4 S0 D2 ; driver 0.4 goes backwards (Y axis)
M569 P0.5 S0 D2 ; driver 0.5 goes backwards (extruder 0)
; Motor Idle Current Reduction
M906 I30 ; set motor current idle factor
M84 S30 ; set motor current idle timeout
; Axes
M584 X0.3 Y0.4 Z0.0:0.1:0.2 ; set axis mapping
M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
M906 X1000 Y1000 Z800 ; set axis driver currents
M92 X100 Y100 Z3192 ; configure steps per mm
M208 X0:290 Y0:290 Z0:290 ; set minimum and maximum axis limits
M566 X900 Y900 Z5 ; set maximum instantaneous speed changes (mm/min)
M203 X5000 Y5000 Z480 ; set maximum speeds (mm/min)
M201 X1500 Y1500 Z1000 ; set accelerations (mm/s^2)
; Default Extruders
M584 E0.5 ; set extruder mapping
M350 E16 I1 ; configure microstepping with interpolation
M906 E430 ; set extruder driver currents
M92 E830 ; configure steps per mm
M566 E800 ; set maximum instantaneous speed changes (mm/min)
M203 E3600 ; set maximum speeds (mm/min)
M201 E500 ; set accelerations (mm/s^2)
; Kinematics
M669 K1 ; configure CoreXY kinematics
; Leadscrew locations. Must come after M667/M669
; 5/FrontLeft : 6/RearLeft : 7/Right
; Measured to the bed-yoke bolt for each leadscrew
; (7.5mm maximum correction)
M671 X-6.5:-6.5:348 Y21.7:275.6:150 S7.5
; Probes
M558 K0 P9 C"io7.in" H5 F120 T6000 ; configure BLTouch probe via slot #0
G31 P500 X0 Y0 Z2.15 ; set Z probe trigger value, offset and trigger height
M950 S0 C"io7.out" ; create servo #0 for BLtouch
; Endstops
M574 X1 P"io0.in" S1 ; configure X axis endstop
M574 Y1 P"io1.in" S1 ; configure Y axis endstop
M574 Z1 S2 ; configure Z axis endstop
; Mesh Bed Compensation
M557 X25:270 Y25:275 S20:20 ; define grid for mesh bed compensation
; Sensors
M308 S0 P"temp0" Y"thermistor" A"Heated Bed Bottom" T100000 B4138 C7.06e-8 ; configure sensor #0
M308 S1 P"temp1" Y"thermistor" A"Heated Bed Top" T100000 B4138 C7.06e-8 ; configure sensor #1
M308 S2 P"temp2" Y"thermistor" A"Nozel" T100000 B4725 C7.06e-8 ; configure sensor #2
; filament runout sensor
M591 D0 P2 C"^io3.in" S1 ; filament monitor connected to E0 endstop
; Heaters
M950 H0 C"out0" T0 ; create heater #0
M143 H0 P0 T0 C0 S140 A0 ; configure heater monitor #0 for heater #0
M307 H0 R0.811 K0.542:0.000 D6.05 E1.35 S1.00 B0 ; configure model of heater #0
M950 H1 C"out1" T2 ; create heater #1
M143 H1 P0 T1 C0 S285 A0 ; configure heater monitor #0 for heater #1
M307 H1 R2.311 K0.339:0.000 D5.33 E1.35 S1.00 B0 V23.7 ; configure model of heater #1
; Heated beds
M140 P0 H0 ; configure heated bed #0
; Fans
M950 F0 C"out8" ; create fan #0
M106 P0 C"Part Fan" S0 L52 X255 B0.1 ; configure fan #0
; Tools
M563 P0 D0 H1 S"SMuFF-0" ; Define tool 0
G10 P0 X0 Y0 Z0.0 R0 S0 ; Set axes offsets and the initial active and
; standby temperatures for this tool
M563 P1 D0 H1 S"SMuFF-1" ; Define tool 1
G10 P1 X0 Y0 Z0.0 R0 S0 ; Set axes offsets and the initial active and
; standby temperatures for this tool
M563 P2 D0 H1 S"SMuFF-2" ; Define tool 2
G10 P2 X0 Y0 Z0.0 R0 S0 ; Set axes offsets and the initial active and
; standby temperatures for this tool
M563 P3 D0 H1 S"SMuFF-3" ; Define tool 3
G10 P3 X0 Y0 Z0.0 R0 S0 ; Set axes offsets and the initial active and
; standby temperatures for this tool
M563 P4 D0 H1 S"SMuFF-4" ; Define tool 4
G10 P4 X0 Y0 Z0.0 R0 S0 ; Set axes offsets and the initial active and
; standby temperatures for this tool
; Global Variables
global flag_FilamentChange = 0
/29/2024, 7:28:29 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.5.1 (2024-04-19 14:30:55) running on Duet 3 MB6HC v1.02 or later (SBC mode)
Board ID: 08DJM-9P63L-DJMSS-6J1FA-3SN6N-1VHVA
Used output buffers: 1 of 40 (17 max)
=== RTOS ===
Static ram: 155208
Dynamic ram: 90148 of which 3084 recycled
Never used RAM 94096, free system stack 132 words
Tasks: SBC(2,ready,553.1%,324) HEAT(3,nWait 1,19.8%,321) Move(4,nWait 6,1056.1%,218) CanReceiv(6,nWait 1,0.0%,940) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,7.2%,334) TMC(4,nWait 6,6051.5%,56) MAIN(2,running,24496.3%,103) IDLE(0,ready,44.9%,30), total 32228.9%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 03:11:11 ago, cause: power up
Last software reset at 2024-04-29 15:51, reason: User, Gcodes spinning, available RAM 94696, slot 1
Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
MCU temperature: min 37.0, current 42.1, max 43.7
Supply voltage: min 23.6, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.0, current 12.2, max 12.5, under voltage events: 0
Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/188/164, gc cycles 1
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, mspos 536, reads 26387, writes 37 timeouts 0
Driver 1: standstill, SG min 0, mspos 904, reads 26387, writes 37 timeouts 0
Driver 2: standstill, SG min 0, mspos 408, reads 26387, writes 37 timeouts 0
Driver 3: standstill, SG min 0, mspos 360, reads 26383, writes 41 timeouts 0
Driver 4: standstill, SG min 0, mspos 776, reads 26383, writes 41 timeouts 0
Driver 5: standstill, SG min 0, mspos 488, reads 26395, writes 29 timeouts 0
Date/time: 2024-04-29 19:28:29
Slowest loop: 596.63ms; fastest: 0.06ms
=== 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 25, maxWait 1361521ms, bed compensation in use: none, height map offset 0.000, max steps late 1, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 1.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 167152, completed 167152, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 12], 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 -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
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 0x80000003
Code queue 0 is empty
Q1 segments left 0, axes/extruders owned 0x0000000
Code queue 1 is empty
=== Filament sensors ===
check 50329187 clear 34370445
Extruder 0 sensor: no filament
=== CAN ===
Messages queued 103156, received 0, lost 0, errs 54491995, boc 0
Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 57356/0/0
Tx timeouts 0,0,57355,0,0,45799 last cancelled message type 30 dest 127
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 56875/56875
SPI underruns 0, overruns 0
State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x253c0
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server version 3.5.1 (2024-04-19 16:20:35, 32-bit)
HTTP+Executed:
Executing M122
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 4
Full transfers per second: 39.21, max time between full transfers: 185.7ms, max pin wait times: 75.8ms/11.4ms
Codes per second: 3.89
Maximum length of RX/TX data transfers: 4436/1528
I will try and get the run of the M98 P"config.g" tomorrow, but I think I figured it out. I found this note:
M400: Wait for current moves to finish.
Parameters
Sn (RRF 3.5.0 and later only, optional, default 0)
0 = release all axes and extruders owned by the current motion system except for axes/extruders needed by the current tool.
1 = do not release axes or extruders.
If I am reading this write, A axes will not get released right away. Unless a M400 code is encountered. So, calling multiple scripts can get dice. At least as far as the axes the script is manipulating is concerned. In any event sounds good with the error I am getting "G1: Axis X is already used by a different motion system." and the release notes for the RRF 3.5 firmware.
This is probably overkill, but i put M400 at the end of all my scrips. And am going to try a run.