24 #ifndef MFEPLATFORM_HPP__
25 #define MFEPLATFORM_HPP__
29 #include "MFEAxisPositionMonitor.hpp"
30 #include "platform/specialized/MGrblPlatform/MGrblPlatform.hpp"
47 typedef std::shared_ptr<MFEPlatform> Shared;
57 static inline PlatformBase::Shared
create(
const ccut::yml::NodeRef &config)
59 return PlatformBase::Shared(
new MFEPlatform(config));
63 inline std::shared_ptr<MFEPlatform> shared_from_this()
65 return std::static_pointer_cast<MFEPlatform>(
66 PlatformBase::shared_from_this());
69 inline std::shared_ptr<const MFEPlatform> shared_from_this()
const
71 return std::static_pointer_cast<const MFEPlatform>(
72 PlatformBase::shared_from_this());
75 DeviceTypeList getSupportedDevices()
const override;
77 DeviceList generateDevices(
const DeviceTypeList &deviceType)
override;
94 grbl::SettingId settingId,
95 const std::string &value);
97 units::value_t getResolverPosition(
const std::string &uid,
98 const units::unit_t unit)
const;
99 units::value_t getResolverMode(
const std::string &uid)
const;
100 AxisPositionMonitor::State getResolverMonitorState(
const std::string &uid,
103 static const std::string s_loggerCat;
104 static const std::string s_resolverMonitorSuffix;
105 static const std::string s_resolverSettingPrefix;
106 static const std::string s_stepLostConfig;
107 static const std::set<std::string> s_resolverConfigHidden;
108 static const std::set<std::string> s_monitorConfigHidden;
113 explicit MFEPlatform(
const ccut::yml::NodeRef &ref);
115 MGrblAxis::Shared createAxis(
116 const std::string &uid,
117 const std::shared_ptr<GrblPlatform> &grbl)
override;
119 const ResolverInfo &_getResolverInfo(
const std::string &uid)
const;
121 void generateGpios(Context &ctx, std::list<DeviceBase::Shared> &out);
123 std::map<std::string, ResolverInfo> m_resolvers;
131 #include "MFEPlatformData.hpp"
main motion-lib namespace