25 #ifndef GRBLGENERATOR_HPP__
26 #define GRBLGENERATOR_HPP__
32 #include <ccut/BitMask.hpp>
34 #include "GrblTypes.hpp"
62 ArcIJKDistanceMode = 4,
65 CutterRadiusCompensation = 7,
71 SpindleSpeedMode = 14,
72 LatheDiameterMode = 15,
89 typedef uint8_t GroupId;
94 const logger::Logger &operator<<(
const logger::Logger &,
const Modal &);
99 static constexpr
ModalGroup modalGroup = ModalGroup::NonModal;
101 static const Modal Dwell;
124 static const Modal AbsoluteOverride;
125 static const Modal SetCoordinateOffset;
126 static const Modal ResetCoordinateOffset;
127 static const Modal ClearCoordinateOffset;
128 static const Modal RestoreCoordinateOffset;
134 static constexpr
ModalGroup modalGroup = ModalGroup::DistanceMode;
135 static const Modal Relative;
136 static const Modal Absolute;
142 static constexpr
ModalGroup modalGroup = ModalGroup::MotionMode;
143 static const Modal Rapid;
144 static const Modal Linear;
150 static constexpr
ModalGroup modalGroup = ModalGroup::DigitalOut;
151 static Modal on(uint8_t port,
bool immediate =
false);
152 static Modal off(uint8_t port,
bool immediate =
false);
158 static constexpr
ModalGroup modalGroup = ModalGroup::CoordinateSystem;
175 const logger::Logger &operator<<(
const logger::Logger &,
const Position &);
180 static const std::string ParserState;
181 static const std::string Jog;
182 static const std::string NGCParams;
183 static const std::string Settings;
184 static const std::string AllSettings;
185 static const std::string ToggleBlockDelete;
186 static const std::string ToggleSingleBlock;
187 static const std::string ToggleOptionalStop;
188 static const std::string CheckMode;
189 static const std::string DisableLock;
190 static const std::string Home;
191 static const std::string Help;
192 static const std::string Sleep;
193 static const std::string SetToolReference;
194 static const std::string ToolProbeWorkpiece;
195 static const std::string BuildInfo;
196 static const std::string AllBuildInfo;
197 static const std::string SettingsReset;
198 static const std::string StartupLines;
199 static const std::string EnumerateAlarms;
200 static const std::string EnumerateErrors;
201 static const std::string EnumerateGroups;
202 static const std::string EnumerateSettings;
203 static const std::string EnumerateAll;
204 static const std::string EnumeratePins;
205 static const std::string ReportLastSignalsEvent;
206 static const std::string ReportCurrentLimitState;
207 static const std::string ReportSpindleData;
208 static const std::string SpindleResetData;
210 static inline std::string getSetting(SettingId settingId)
215 static std::string setSetting(SettingId settingId,
const std::string &value);
220 static const std::string Reset;
221 static const std::string CycleStart;
222 static const std::string FeedHold;
223 static const std::string StatusReport;
228 enum class HomingCycleBit : uint8_t
231 SingleAxisCommands = 0x02,
233 ForceSetOrigin = 0x08,
236 OverrideLocks = 0x40,
240 enum class StatusReportBit : uint16_t
242 MachinePosition = 0x01,
247 WorkCoordOffset = 0x20,
249 ProbeCoordinates = 0x80,
250 SyncOnWCOChange = 0x100,
252 AlarmSubState = 0x400,
267 std::string str()
const;
270 const std::string &errorString()
const;
276 std::shared_ptr<GeneratorData> m_data;
284 struct ccut_enable_bitmask<grbl::gen::Setting::StatusReportBit> : std::true_type
const std::string & to_string(Axis::State state)
convert State to string
static Modal set(uint8_t system)
construct modal to set coordinate system
static Modal SetHome(uint8_t index=0)
Set home coordinate.
static Modal SetCoordinate(int8_t system=-1, bool current=false)
Set the Coordinate command.
static Modal GoHome(uint8_t index=0)
Go to home coordinate.
ModalGroup
Modal Groups of commands.
CoordinateSystem control commands.
Digital output control commands.
non-modal special modal group
set given axis to position
System immediate commands.