28 #ifndef GRBL_PARSER_HPP__
29 #define GRBL_PARSER_HPP__
36 #include "../../Units.hpp"
37 #include "GrblTypes.hpp"
51 typedef grbl::LineType LineType;
52 typedef std::pair<std::string, std::string> Message;
53 typedef std::pair<int, std::string> Setting;
60 static LineType
getLineType(
const std::string &line);
69 static bool parseMessage(
const std::string &line, Message &message);
77 static bool parseSetting(
const std::string &line, Setting &setting);
86 grbl::ErrorCode &errorCode);
97 grbl::RunState runState = RunState::Unknown;
99 std::map<Axis, grbl_float_t> motorPositions;
101 size_t runStateArg = 0;
102 size_t motionBufferFree = 0;
103 size_t charBufferFree = 0;
107 State(grbl::RunState rs,
108 const std::map<Axis, grbl_float_t> &mp,
116 motionBufferFree(mbf),
137 std::string firmware;
139 std::string driverVersion;
141 size_t motionBufferSize;
142 size_t charBufferSize;
202 std::string
function;
203 std::string description;
static bool parseState(const std::string &line, State &state)
parse a state message
static bool parseMessage(const std::string &line, Message &message)
parse message
static LineType getLineType(const std::string &line)
detect line type
static bool parseSettingGroup(const std::string &line, SettingGroup &group)
incremental parsing of settingGroup
static bool parseSetting(const std::string &line, Setting &setting)
parse a setting message
static bool parseBuildInfo(const std::string &line, BuildInfo &info)
incremental parsing of build-info
static bool parseSettingDesc(const std::string &line, SettingDesc &desc)
incremental parsing of setting description
static bool parsePinInfo(const std::string &line, PinInfo &info)
incremental parsing of pins description
static bool parseErrorReply(const std::string &line, grbl::ErrorCode &errorCode)
parse an error message
structure holding Grbl build-info ($I)
structure holding Grbl pin description ($PINS)
structure holding Grbl setting description ($ES)
structure holding Grbl settingroup info ($EG)
Struct holding state of Grbl as returned by "?".