Files
2026-08-20 06:17:39 +08:00

47 lines
1.2 KiB
Plaintext

o<rack_change> sub
M73 (auto-restore modal settings on return)
;(print, rack_change: loaded tool=#<_current_tool> current pocket: #<_current_pocket>)
;(print, rack_change: selected tool=#<_selected_tool> selected pocket: #<_selected_pocket>)
; unload previous tool
o300 if [#<_current_pocket> GT 0]
o<tool_getput_move> call [#<_current_pocket>]
M62 P #<_ini[pins]lock> ; set lock pin
G4 P #<_ini[dwell]lock_time>
o<tool_holder_clear_move> call
G4 P #<_ini[dwell]mystery> ; unsure what this is for
o300 endif
; go to new tool
o<tool_getput_move> call [#<_selected_pocket>]
M64 P #<_ini[pins]lock> ; set lock pin
M64 P #<_ini[pins]flush> ; set flush pin
G4 P #<_ini[dwell]new_tool>
M65 P #<_ini[pins]flush> ; drop flush pin
; the purpose of this move is unclear to me
; micges - please explain!
o400 if [#<_absolute>]
G91
G0 Z-6
G90
o400 else
G0 Z-6
o400 endif
M65 P #<_ini[pins]lock> ; drop lock pin
G4 P #<_ini[dwell]post_unlock>
; NB: this is reordered wrt micges patch:
; tool_holder_clear_move came after load_tool_msg
o<tool_holder_clear_move> call
; succeed by returning a positive value
o<rack_change> endsub [1]
m2