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

RRF no longer respects M665 B or H parameters or endstop limits on linear delta printers #997

Closed
droftarts opened this issue May 10, 2024 · 2 comments
Assignees
Labels
bug Bug that has been reproduced
Milestone

Comments

@droftarts
Copy link

droftarts commented May 10, 2024

As reported here https://forum.duet3d.com/topic/35635/delta-head-going-beyond-bed-limits-3-5-1/, RRF seems to no longer (and may not have done for a while) respect the M665 B parameter, the 'safe printing radius' on delta printers, the H parameter, or endstop limits.

I have tested this on my delta (Maestro RRF 3.5.0-rc.3+5, can test on 3.5.1 and further back if you want) and it goes outside the bounds set by that parameter. Test at X0 Y0 Z10, with M665 B25, went happily off to Y-60!

(Moved to Y-60, reported in DWC and OM)
10/05/2024, 11:49:00 	G1 Y-60
10/05/2024, 11:48:45 	G1 X0 Y0 Z10 F6000
(Axes homed here)
10/05/2024, 11:48:20 	M665
Diagonals 161.671:161.671:161.671, delta radius 81.964, homed height 173.144, bed radius 25.0, X 0.027°, Y 0.355°, Z 0.000°
10/05/2024, 11:48:16 	M665 B25
10/05/2024, 11:47:21 	M665
Diagonals 161.671:161.671:161.671, delta radius 81.964, homed height 173.144, bed radius 75.0, X 0.027°, Y 0.355°, Z 0.000°

To test the endstop limits, I homed the printer (which finishes 5mm below the tower endstops), then jogged to X50 using the buttons in DWC, ie out of the reachable 'cone' at the top of a delta machine. This pushed the carriages into and past the endstops until the motors skipped. X position was reported as X50.

To test M665 H parameter, I homed the printer and the jogged up in Z. It moved up without limit, with all tower motors skipping as it hit the end of the axes. Homed height = 173.144, I stopped jogging at Z220.

There is no M564 S0 in config.g.

@droftarts droftarts added the bug Bug that has been reproduced label May 10, 2024
@droftarts droftarts added this to the 3.5.2 milestone May 10, 2024
@droftarts droftarts changed the title RRF no longer respects M665 B parameter on linear delta printers RRF no longer respects M665 B parameter or endstop limits on linear delta printers May 13, 2024
@droftarts droftarts changed the title RRF no longer respects M665 B parameter or endstop limits on linear delta printers RRF no longer respects M665 B or H parameters or endstop limits on linear delta printers May 13, 2024
@dc42
Copy link
Collaborator

dc42 commented May 17, 2024

The reason is that at GCodes.cpp(2346) the axes passed in parameter axesToLimit are now the axes that have been mentioned explicitly; when previously they were all homed axes. This change was made so that axes owned by other motion systems are not considered. However, LinearDeltaKinematics::LimitPosition only applies limits if all of XYZ are included in that parameter. A similar issue is likely to occur when using Rotary Delta and Hangprinter kinematics; and when using Scara, Polar, or 5-Bar Scara if either X or Y but not both are given in the G1 command.

dc42 added a commit that referenced this issue May 17, 2024
@dc42
Copy link
Collaborator

dc42 commented May 17, 2024

Fix implemented for all affected kinematics. Tested on linear delta kinematics only.

@dc42 dc42 closed this as completed May 17, 2024
dc42 added a commit that referenced this issue May 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug that has been reproduced
Projects
None yet
Development

No branches or pull requests

2 participants