Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use "Tn S1" to change tools without moving #4013

Merged

Conversation

thinkyhead
Copy link
Member

Reference: #4000

Background: In some cases, users need to change tools and have the coordinates updated, but not have the tool automatically move to realign itself to the same position.

This PR adds allows you to add S1 to the tool-change command, and it will switch tools without doing the automated move.

@ZetaPhoenix
Copy link
Contributor

Why not use a G53 G91 move?

On Jun 11, 2016, at 3:38 PM, Scott Lahteine [email protected] wrote:

Reference: #4000

Background: In some cases, users need to change tools and have the coordinates updated, but not have the tool automatically move to realign itself to the same position.

This PR adds allows you to add S1 to the tool-change command, and it will switch tools without doing the automated move.

You can view, comment on, or merge this pull request online at:

#4013

Commit Summary

Use "Tn S1" to change tools without moving
File Changes

M Marlin/Marlin_main.cpp (6)
Patch Links:

https://github.com/MarlinFirmware/Marlin/pull/4013.patch
https://github.com/MarlinFirmware/Marlin/pull/4013.diff

You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@thinkyhead thinkyhead force-pushed the rc_toolchange_no_move branch from 6dcc754 to 7fb69e2 Compare June 11, 2016 22:58
@thinkyhead
Copy link
Member Author

@ZetaPhoenix I don't follow. What can G53 G91 do to change the behavior of the tool-change command so it doesn't move the carriage?

@ZetaPhoenix
Copy link
Contributor

ZetaPhoenix commented Jun 11, 2016

In theory, a G53 would switch to the machine coordinate system and then do an incremental move. A G54 command would be used to switch back to work coordinate system 1.

Does Marlin support multiple work coordinate systems?

I.E., G53: location on the limit switches
G54: print bed (M206 offset from G53)

On Jun 11, 2016, at 4:00 PM, Scott Lahteine [email protected] wrote:

@ZetaPhoenix I don't follow. What can G53 G91 do to change the behavior of the tool-change command so it doesn't move the carriage?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@thinkyhead
Copy link
Member Author

@ZetaPhoenix No, Marlin supports only a single coordinate space. This is adequate for your average printing-only RepRap machine. With recent changes, the "entire coordinate space" is altered by commands like G92 and M206, which apply offsets to the current position and the software endstops.

@ZetaPhoenix
Copy link
Contributor

Scott,

I understand, I has been one of my nitpicks of Marlin that the original
coordinate system is lost whenever a G92 is used. M216 above was supposed
to be M206.

The question I have now with the pull request is when is the offset
applied? In true (CNC) Gcode the Tool offset is only applied when a G43 Hx
is called. On the next motion move (ie G0 X0), the offset would be
corrected.

You would see:

;code with tool 1;

Move to tool change position
G6 T2 (Change to tool 2)
G43 H2 G0 Xxx Yyyy Z10 (Move and apply new offset along the move so T2
arrives at xxx yyy 10mm above the part)

;T2 code;

On Sat, Jun 11, 2016 at 4:22 PM, Scott Lahteine [email protected]
wrote:

@ZetaPhoenix https://github.com/ZetaPhoenix No, Marlin supports only a
single coordinate space. This is adequate for your average printing-only
RepRap machine. With recent changes, the "entire coordinate space" is
altered by commands like G92 and M206, which apply offsets to the current
position and the software endstops.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#4013 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ABgW9-AS8f-yfYmqELT-AHwhsfmD-aPrks5qK0M0gaJpZM4IzqDF
.

@thinkyhead
Copy link
Member Author

thinkyhead commented Jun 11, 2016

Unfortunately we don't have the luxury of using the CNC methodology in this case. Slicer software, host software, and the RepRap community expect a tool-change command to "just do the right thing" all by itself for their given machine, and not to require any extra commands or modes. CNC machines, by contrast, may expect to be able to pick up tools from a rack, and will need more complex handling.

@thinkyhead thinkyhead merged commit 52ac2a6 into MarlinFirmware:RCBugFix Jun 15, 2016
@thinkyhead thinkyhead deleted the rc_toolchange_no_move branch June 15, 2016 03:13
@thinkyhead thinkyhead mentioned this pull request Jul 8, 2016
@jbrazio jbrazio modified the milestone: 1.1.0 Jul 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants