fix(gcode): stricter gcode line number matching #4034
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes
The current G-CODE syntax is too loose on the "line number" instruction matching.
Example:
Rendered as:
NFIG
is not a line number instruction or symbol. My proposed fix is to strictly match the letter N, followed by one or more digits.This does not resolve all issues, such as matching
N\d+
that is NOT at the start of the line:Rendered as
I haven't found a straightforward and reliable specification or source listing exactly which optional characters are allowed before line numbers. Unfortunately, I currently don't have the time to dive deeper into ISO specs.
But I think that this a good minimal change that resolves some issues and hopefully doesn't cause others.
Checklist
CHANGES.md