25 #ifndef MGRBL_PARSER_HPP__
26 #define MGRBL_PARSER_HPP__
42 typedef std::size_t Instance;
43 typedef std::vector<Instance> Layout;
45 static constexpr
char ControlSymbol =
'C';
53 static bool parseLayout(
const std::string &line, Layout &layout);
58 static bool parseIsArmed(
const std::string &line,
bool &isArmed);
63 static inline bool isControl(
const std::string &line)
65 return !line.empty() && line[0] == ControlSymbol;
73 return (line.empty() ? std::numeric_limits<Instance>::max() :
81 static const std::string Layout;
82 static const std::string GrblCount;
83 static const std::string TrigArm;
84 static const std::string TrigSoft;
85 static const std::string BuildInfo;
static Instance getInstance(const std::string &line)
return line instance
static bool parseIsArmed(const std::string &line, bool &isArmed)
parse isArmed reply
static bool isControl(const std::string &line)
check if given line is control
static bool parseLayout(const std::string &line, Layout &layout)
parse layout reply