25 #ifndef GRBL_PLATFORM_DATA_HPP__
26 #define GRBL_PLATFORM_DATA_HPP__
28 #if !defined(GCC_LINT)
36 #include <ccut/Signal.hpp>
38 #include "GrblPlatform.hpp"
39 #include "util/Promise.hpp"
40 #include "util/grbl/GrblParser.hpp"
41 #include "util/grbl/GrblTypes.hpp"
53 std::set<grbl::Axis> &&axis,
54 std::string &&message) :
66 std::set<grbl::Axis> axis;
68 std::promise<void> prom;
69 GrblPlatform::Line line;
81 std::unique_ptr<PromiseBase> prom;
91 std::string getErrorMessage(grbl::ErrorCode code)
const;
92 std::string getAlarmMessage(grbl::AlarmCode alarm)
const;
93 AxisData &_getAxisData(
const std::string &uid);
120 grbl::Axis axis)
const;
127 const std::string &name)
const;
143 void _sendSetSetting(grbl::SettingId settingId,
const std::string &value);
145 void setSetting(
const std::string &name,
const std::string &value);
154 static bool isStepperMessage(
const std::string &line);
157 bool triggeredMotion =
false;
160 std::unique_ptr<grbl::GrblDeviceBase> device;
161 std::map<int, std::string> errors;
162 std::map<int, std::string> alarms;
163 std::map<std::string, int> settingGroup;
167 GrblPlatform::Line line = 0;
168 std::chrono::steady_clock::time_point nextPoll;
169 LocalSettingMap localSetting;
174 std::function<void(
Context &,
const std::string &)> set;
175 std::function<std::string(
Context &)> get;
182 grbl::SettingId resolutionSettingId;
main motion-lib namespace
structure holding Grbl build-info ($I)
structure holding Grbl setting description ($ES)
Struct holding state of Grbl as returned by "?".
void _sendSetSetting(grbl::SettingId settingId, const std::string &value)
set a setting on Grbl
const std::string prefix
uri prefix (ex: grbl://)
const std::string id
uri platform id as in grbl://<id>/
std::set< std::string > listConfig()
list config values
const std::string findLocalSetting(const std::string &name) const
find local setting using its name
void checkReply(grbl::ErrorCode code)
check command result code
const grbl::GrblParser::SettingDesc & findSetting(const std::string &name, grbl::Axis axis) const
find setting id for axis
void sendReset()
reset grbl instance
std::string _sendGetSetting(grbl::SettingId settingId)
retrieve a setting from Grbl, eventually update internal cache
base structure for promise handline