15 #ifndef NODE_CANOPEN_PROXY_DRIVER
16 #define NODE_CANOPEN_PROXY_DRIVER
21 namespace node_interfaces
24 template <
class NODETYPE>
28 std::is_base_of<rclcpp::Node, NODETYPE>::value ||
29 std::is_base_of<rclcpp_lifecycle::LifecycleNode, NODETYPE>::value,
30 "NODETYPE must derive from rclcpp::Node or rclcpp_lifecycle::LifecycleNode");
34 rclcpp::Publisher<canopen_interfaces::msg::COData>::SharedPtr
rpdo_publisher;
43 virtual void on_nmt(canopen::NmtState nmt_state)
override;
45 virtual void on_tpdo(
const canopen_interfaces::msg::COData::SharedPtr msg);
46 virtual void diagnostic_callback(diagnostic_updater::DiagnosticStatusWrapper & stat)
override;
49 const std_srvs::srv::Trigger::Request::SharedPtr request,
50 std_srvs::srv::Trigger::Response::SharedPtr response);
53 const std_srvs::srv::Trigger::Request::SharedPtr request,
54 std_srvs::srv::Trigger::Response::SharedPtr response);
57 const canopen_interfaces::srv::CORead::Request::SharedPtr request,
58 canopen_interfaces::srv::CORead::Response::SharedPtr response);
61 const canopen_interfaces::srv::COWrite::Request::SharedPtr request,
62 canopen_interfaces::srv::COWrite::Response::SharedPtr response);
67 virtual void init(
bool called_from_base)
override;
Definition: node_canopen_base_driver.hpp:34
void init()
Initialise the driver.
Definition: node_canopen_driver.hpp:127
Definition: node_canopen_proxy_driver.hpp:26
void on_sdo_read(const canopen_interfaces::srv::CORead::Request::SharedPtr request, canopen_interfaces::srv::CORead::Response::SharedPtr response)
Definition: node_canopen_proxy_driver_impl.hpp:254
rclcpp::Subscription< canopen_interfaces::msg::COData >::SharedPtr tpdo_subscriber
Definition: node_canopen_proxy_driver.hpp:35
rclcpp::Publisher< canopen_interfaces::msg::COData >::SharedPtr rpdo_publisher
Definition: node_canopen_proxy_driver.hpp:34
virtual bool sdo_write(COData &data)
Definition: node_canopen_proxy_driver_impl.hpp:304
void on_nmt_state_reset(const std_srvs::srv::Trigger::Request::SharedPtr request, std_srvs::srv::Trigger::Response::SharedPtr response)
Definition: node_canopen_proxy_driver_impl.hpp:212
rclcpp::Service< canopen_interfaces::srv::CORead >::SharedPtr sdo_read_service
Definition: node_canopen_proxy_driver.hpp:38
virtual void diagnostic_callback(diagnostic_updater::DiagnosticStatusWrapper &stat) override
Definition: node_canopen_proxy_driver_impl.hpp:337
rclcpp::Service< std_srvs::srv::Trigger >::SharedPtr nmt_state_start_service
Definition: node_canopen_proxy_driver.hpp:37
rclcpp::Service< canopen_interfaces::srv::COWrite >::SharedPtr sdo_write_service
Definition: node_canopen_proxy_driver.hpp:39
void on_sdo_write(const canopen_interfaces::srv::COWrite::Request::SharedPtr request, canopen_interfaces::srv::COWrite::Response::SharedPtr response)
Definition: node_canopen_proxy_driver_impl.hpp:295
void on_nmt_state_start(const std_srvs::srv::Trigger::Request::SharedPtr request, std_srvs::srv::Trigger::Response::SharedPtr response)
Definition: node_canopen_proxy_driver_impl.hpp:233
virtual void on_rpdo(COData data) override
Definition: node_canopen_proxy_driver_impl.hpp:196
NodeCanopenProxyDriver(NODETYPE *node)
Definition: node_canopen_proxy_driver_impl.hpp:24
virtual bool reset_node_nmt_command()
Definition: node_canopen_proxy_driver_impl.hpp:220
rclcpp::Publisher< std_msgs::msg::String >::SharedPtr nmt_state_publisher
Definition: node_canopen_proxy_driver.hpp:30
virtual void on_tpdo(const canopen_interfaces::msg::COData::SharedPtr msg)
Definition: node_canopen_proxy_driver_impl.hpp:171
virtual bool tpdo_transmit(COData &data)
Definition: node_canopen_proxy_driver_impl.hpp:181
virtual bool start_node_nmt_command()
Definition: node_canopen_proxy_driver_impl.hpp:241
virtual void on_nmt(canopen::NmtState nmt_state) override
Definition: node_canopen_proxy_driver_impl.hpp:112
virtual bool sdo_read(COData &data)
Definition: node_canopen_proxy_driver_impl.hpp:264
rclcpp::Service< std_srvs::srv::Trigger >::SharedPtr nmt_state_reset_service
Definition: node_canopen_proxy_driver.hpp:36
std::mutex sdo_mtex
Definition: node_canopen_proxy_driver.hpp:41
Definition: configuration_manager.hpp:28
Definition: exchange.hpp:26