@dc42 I frequently change nozzle or work on my tools, that mean I need to update the tool offset and the tool macro everytime ? I think it would be way more practical is there was a way for the Duet to use the tool position as limit when a tool is selected.
I have a Duet3 6CH with RRF3.3, here's my 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 (standalone mode)
Board ID: 08DJM-956BA-NA3TJ-6J1DJ-3S46S-198YT
Used output buffers: 3 of 40 (26 max)
=== RTOS ===
Static ram: 150904
Dynamic ram: 93648 of which 200 recycled
Never used RAM 106584, free system stack 152 words
Tasks: NETWORK(ready,29.2%,224) ETHERNET(notifyWait,0.3%,117) HEAT(notifyWait,0.0%,325) Move(notifyWait,0.0%,250) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,362) CanClock(delaying,0.0%,333) TMC(notifyWait,7.8%,59) MAIN(running,62.6%,944) IDLE(ready,0.0%,29), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:51:27 ago, cause: power up
Last software reset details not available
Error status: 0x00
Step timer max interval 584
MCU temperature: min 11.1, current 29.1, max 29.6
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 12.1, current 12.2, max 12.2, under voltage events: 0
Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0
Driver 0: position 36450, standstill, reads 61776, writes 14 timeouts 0, SG min/max 0/0
Driver 1: position 6450, standstill, reads 61747, writes 43 timeouts 0, SG min/max 0/65
Driver 2: position 120000, standstill, reads 61776, writes 14 timeouts 0, SG min/max 0/0
Driver 3: position 21481, standstill, reads 61738, writes 52 timeouts 0, SG min/max 0/1023
Driver 4: position 0, standstill, reads 61738, writes 52 timeouts 0, SG min/max 0/1023
Driver 5: position 0, standstill, reads 61735, writes 55 timeouts 0, SG min/max 0/204
Date/time: 2022-03-15 12:17:01
Slowest loop: 84.70ms; fastest: 0.05ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 3.3ms, write time 4.3ms, max retries 0
=== Move ===
DMs created 125, maxWait 524449ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 2872, completed moves 2872, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 74], 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 = 3 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle 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 27798, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 15439/0/0
Tx timeouts 0,9,15438,0,0,12348 last cancelled message type 30 dest 127
=== Network ===
Slowest loop: 104.18ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
HTTP sessions: 3 of 8
- Ethernet -
State: active
Error counts: 0 0 1 0 0
Socket states: 5 2 2 2 2 0 0 0