25 #ifndef GRBL_TESTER_HPP__
26 #define GRBL_TESTER_HPP__
34 #include <ccut/Regex.hpp>
36 #include "util/grbl/GrblDeviceBase.hpp"
43 explicit GrblTester(std::unique_ptr<GrblDeviceBase> grblDevice);
45 inline grbl::ErrorCode send(
const std::string &cmd)
47 return m_grblDevice->send(cmd);
49 inline void write(
const std::string &data) { m_grblDevice->write(data); };
50 inline bool wait(
const std::chrono::milliseconds &timeout)
52 return m_grblDevice->wait(timeout);
54 inline void wake() { m_grblDevice->wake(); }
56 bool expect(
const std::string ®ex,
57 std::chrono::milliseconds timeout = defaultExpectTimeout);
58 bool expect(
const ccut::Regex ®ex,
59 std::chrono::milliseconds timeout = defaultExpectTimeout);
60 bool expect(
const ccut::Regex ®ex,
61 std::vector<std::string> &matches,
62 std::chrono::milliseconds timeout = defaultExpectTimeout);
64 static const std::chrono::milliseconds defaultExpectTimeout;
67 void sendCmd(
const std::string &command);
69 std::unique_ptr<GrblDeviceBase> m_grblDevice;