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

Fix G64 tolerance getting reset on E-stop #2742

Merged
merged 1 commit into from
Dec 26, 2023
Merged

Conversation

mozmck
Copy link
Collaborator

@mozmck mozmck commented Nov 10, 2023

Without this patch, G64 tolerance is reset on each E-stop. This caused me problems in some cases, and this fix works well for me. I don't think this fix will hurt anything for anyone else but I'm not completely sure - hence this pull request.

@c-morley
Copy link
Collaborator

Can you test that it doesn't break the default loaded setting of g64. The default setting of G64 is different for imperial then metric configs,

@mozmck
Copy link
Collaborator Author

mozmck commented Nov 10, 2023

I'm not sure how to do that? The only thing I do in this is move these two lines from tpClear() to tpInit()

tp->termCond = TC_TERM_COND_PARABOLIC;
tp->tolerance = 0.0;

@c-morley
Copy link
Collaborator

Remove any setting of g64 from config or program and see what it's set at. then estop and see if it changes.
9b5e2a is the commit for default setting and it could have been broken by estop before your change.
It would be good to know.

@c-morley
Copy link
Collaborator

Interestingly when I added default g64 P setting I didn't add a default Q setting. That is probably a mistake.

@mozmck
Copy link
Collaborator Author

mozmck commented Nov 11, 2023

I'm going to have to figure out how to view the G64 setting again - it's been a few years since I did this.

@c-morley
Copy link
Collaborator

Ahh yes - open the linuxcnc status program from the GUI and look for the settings entry.
The third entry id the P code the fourth the Q

@andypugh
Copy link
Collaborator

andypugh commented Dec 6, 2023

Is this ready to merge?

@Mjankor
Copy link

Mjankor commented Dec 18, 2023

Thanks for posting this fix. I just got stung by this bug.
While on the topic, why is this the default in LinuxCNC - "(Blend Without Tolerance Mode) G64 is the default setting when you start EMC. G64 is just blending and the naive cam detector is not enabled. G64 and G64P0 tell the planner to sacrifice path following accuracy in order to keep the feed rate up. "

I would have thought that accuracy was far more important for most CNC work than maintaining feedrate.

@andypugh
Copy link
Collaborator

I think the logic is that if the machine is properly set up, and the G-code matches its capabilities, then blend without tolerance will give the best results.
It's mainly with machines that have very low acceleration relative to the commanded speed where issues are seen.

@andypugh
Copy link
Collaborator

Is this ready to merge?

@mozmck ?

@Mjankor
Copy link

Mjankor commented Dec 18, 2023

Makes sense. I wonder what percent of users are using blend without tolerance.

@andypugh andypugh merged commit a94f732 into LinuxCNC:2.9 Dec 26, 2023
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants