32 #include "../Units.hpp"
33 #include "DeviceBase.hpp"
45 typedef std::shared_ptr<Axis> Shared;
68 Axis(
const std::string &address);
102 virtual std::future<void>
stop()
const = 0;
110 virtual std::future<void>
pause()
const;
118 virtual std::future<void>
resume()
const;
125 virtual std::future<units::value_t>
getPosition(units::unit_t unit)
const = 0;
152 const std::chrono::milliseconds &timeout = std::chrono::seconds{
virtual std::future< void > resume() const
Resume paused motion.
virtual units::value_t lastPosition(units::unit_t unit) const =0
Get last known position of the axis.
virtual std::future< void > takeReference(const std::chrono::milliseconds &timeout=std::chrono::seconds{ 120}) const
Start a homing sequence.
DeviceType type() const override
Get device type.
virtual std::future< units::value_t > getPosition(units::unit_t unit) const =0
Get current position of this axis.
virtual std::future< void > moveBy(const units::Value &distance) const =0
Move this axis by given distance.
Axis(const std::string &address)
Construct a new Axis Device at given location on given platform.
virtual std::future< void > stop() const =0
Stop any ongoing motion, flush the motion-queue.
virtual std::future< void > setActualPosition(const units::Value &position) const
Set current axis position.
virtual std::future< State > getState() const =0
Get the current axis state.
virtual std::future< void > pause() const
Pause ongoing motion, prevent queued motions from running.
virtual std::future< void > moveTo(const units::Value &position) const =0
Move this axis to given position.
const std::string & to_string(Axis::State state)
convert State to string
DeviceType
List of possible device types supported.
main motion-lib namespace