25 #ifndef MOTION_CONTROLLER_HPP__
26 #define MOTION_CONTROLLER_HPP__
34 #include "device/Axis.hpp"
35 #include "device/DeviceBase.hpp"
36 #include "device/Gpio.hpp"
37 #include "device/PlatformDevice.hpp"
38 #include "device/PositionSensor.hpp"
39 #include "device/Trigger.hpp"
48 class PlatformFactory;
50 class NotificationWorker;
78 std::size_t
load(
const std::string &config);
93 DeviceBase::Shared
getDevice(
const DeviceId &address);
102 std::shared_ptr<T>
getDevice(
const DeviceId &address);
126 DeviceId
getAlias(
const std::string &alias)
const;
136 bool addAlias(
const std::string &alias,
137 const DeviceId &deviceId,
138 bool override =
true);
150 return m_platformFactory;
158 return m_deviceStore;
162 std::shared_ptr<internal::PlatformFactory> m_platformFactory;
163 std::shared_ptr<internal::DeviceStore> m_deviceStore;
164 std::shared_ptr<internal::NotificationWorker> m_notificationWorker;
171 #include "MotionController.hxx"
DeviceId getAlias(const std::string &alias) const
Get the given alias.
MotionController()
Construct a new MotionController object.
std::size_t load(const std::string &config)
Construct platforms and devices based on given configuration string.
std::set< DeviceId > getDeviceList() const
retrieve complete list of devices
std::shared_ptr< internal::PlatformFactory > getPlatformFactory() const
for internal use and debugging purpose
std::size_t getDeviceCount() const
Get the number of registered devices.
std::shared_ptr< internal::DeviceStore > getDeviceStore() const
for internal use and debugging purpose
bool addAlias(const std::string &alias, const DeviceId &deviceId, bool override=true)
add an alias
void removeAlias(const std::string &alias)
remove an alias
std::set< std::string > getAliasList() const
Get current Alias list.
DeviceBase::Shared getDevice(const DeviceId &address)
get a generic device according to its address
DeviceType
List of possible device types supported.
main motion-lib namespace