Regular Expressions 101

Community Patterns

GRBL status parser

1

Regular Expression
PCRE (PHP <7.3)

/
<(?'State'Idle|Run|Hold|Home|Alarm|Check|Door)(?:,MPos:(?'MX'[0-9\.]*),(?'MY'[0-9\.]*),(?'MZ'[0-9\.]*))?(?:,WPos:(?'WX'[0-9\.]*),(?'WY'[0-9\.]*),(?'WZ'[0-9\.]*))?(?:,Buf:(?'Buf'[0-9]*))?(?:,RX:(?'RX'[0-9]*))?(?:,Ln:(?'L'[0-9]*))?(?:,F:(?'F'[0-9\.]*))?(?:,Lim:(?'Lim'[0-1]*))?(?:,Ctl:(?'Ctl'[0-1]*))?>
/
g

Description

parses the status message (response to '?') from a GRBL controller according to https://github.com/grbl/grbl/blob/master/grbl/report.c#L421 works with every possible status report mask (grbl 0.9i)

Submitted by martin2250 - 8 years ago