grbl-parser
Grbl machine parser library written in javascript
Provides an event-based callbacks to parse any strings grbl may output.
Supports Grbl 0.9, 1.0, and 1.1 (untested with grbl 0.8)
Installation
npm install grbl-parser --save
Usage
var GrblParser = var parser = var { // do stuff with parsed data (see example status output in Examples section)}var myString = "<Hold:0|MPos:0.000,0.000,0.000|Bf:15,128|FS:675.5,24000|Ov:120,100,100|WCO:0.000,-5.200,306.351|A:SFM>" parser // bind myCallback to grbl status reportsparser
Message types
Use these to bind to specific message types
"status""success""initialize""alarm""error""setting""feedbackMessage""buildVersion""buildOptions""gcodeState""helpMessage""gcodeSystem""probeResult""echoMessage""gcodeStartup""unknown"
You can get all message types:
console// [ status: "status", alarm: "alarm", ... ]
Examples
Bind callback to message types
parserparserparser
Status message output
parser data: machinePosition: x: 0 y: 0 z: 0 buffer: availableBlocks: 15 availableRXBytes: 128 realtimeFeed: realtimeFeedrate: 6755 realtimeSpindle: 24000 workcoordinateOffset: x: 0 y: -52 z: 306351 status: code: 0 message: "Hold complete. Ready to resume." state: 'Hold' override: feeds: 120 rapids: 100 spindle: 100 accessories: flood: true mist: true spindleDirection: 'clockwise' type: "status" input: "<Hold:0|MPos:0.000,0.000,0.000|Bf:15,128|FS:675.5,24000|Ov:120,100,100|WCO:0.000,-5.200,306.351|A:SFM>"
parser data: code: "20" message: "Unsupported or invalid g-code command found in block." input: "error:20" type: "error"