1 #ifndef NODE_CANOPEN_PROXY_DRIVER
2 #define NODE_CANOPEN_PROXY_DRIVER
7 namespace node_interfaces
10 template <
class NODETYPE>
14 std::is_base_of<rclcpp::Node, NODETYPE>::value ||
15 std::is_base_of<rclcpp_lifecycle::LifecycleNode, NODETYPE>::value,
16 "NODETYPE must derive from rclcpp::Node or rclcpp_lifecycle::LifecycleNode");
20 rclcpp::Publisher<canopen_interfaces::msg::COData>::SharedPtr
rpdo_publisher;
29 virtual void on_nmt(canopen::NmtState nmt_state)
override;
31 virtual void on_tpdo(
const canopen_interfaces::msg::COData::SharedPtr msg);
34 const std_srvs::srv::Trigger::Request::SharedPtr request,
35 std_srvs::srv::Trigger::Response::SharedPtr response);
38 const std_srvs::srv::Trigger::Request::SharedPtr request,
39 std_srvs::srv::Trigger::Response::SharedPtr response);
42 const canopen_interfaces::srv::CORead::Request::SharedPtr request,
43 canopen_interfaces::srv::CORead::Response::SharedPtr response);
46 const canopen_interfaces::srv::COWrite::Request::SharedPtr request,
47 canopen_interfaces::srv::COWrite::Response::SharedPtr response);
52 virtual void init(
bool called_from_base)
override;
Definition: node_canopen_base_driver.hpp:19
void init()
Initialise the driver.
Definition: node_canopen_driver.hpp:113
Definition: node_canopen_proxy_driver.hpp:12
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:224
rclcpp::Subscription< canopen_interfaces::msg::COData >::SharedPtr tpdo_subscriber
Definition: node_canopen_proxy_driver.hpp:21
rclcpp::Publisher< canopen_interfaces::msg::COData >::SharedPtr rpdo_publisher
Definition: node_canopen_proxy_driver.hpp:20
virtual bool sdo_write(COData &data)
Definition: node_canopen_proxy_driver_impl.hpp:274
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:182
rclcpp::Service< canopen_interfaces::srv::CORead >::SharedPtr sdo_read_service
Definition: node_canopen_proxy_driver.hpp:24
rclcpp::Service< std_srvs::srv::Trigger >::SharedPtr nmt_state_start_service
Definition: node_canopen_proxy_driver.hpp:23
rclcpp::Service< canopen_interfaces::srv::COWrite >::SharedPtr sdo_write_service
Definition: node_canopen_proxy_driver.hpp:25
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:265
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:203
virtual void on_rpdo(COData data) override
Definition: node_canopen_proxy_driver_impl.hpp:166
NodeCanopenProxyDriver(NODETYPE *node)
Definition: node_canopen_proxy_driver_impl.hpp:10
virtual bool reset_node_nmt_command()
Definition: node_canopen_proxy_driver_impl.hpp:190
rclcpp::Publisher< std_msgs::msg::String >::SharedPtr nmt_state_publisher
Definition: node_canopen_proxy_driver.hpp:16
virtual void on_tpdo(const canopen_interfaces::msg::COData::SharedPtr msg)
Definition: node_canopen_proxy_driver_impl.hpp:141
virtual bool tpdo_transmit(COData &data)
Definition: node_canopen_proxy_driver_impl.hpp:151
virtual bool start_node_nmt_command()
Definition: node_canopen_proxy_driver_impl.hpp:211
virtual void on_nmt(canopen::NmtState nmt_state) override
Definition: node_canopen_proxy_driver_impl.hpp:98
virtual bool sdo_read(COData &data)
Definition: node_canopen_proxy_driver_impl.hpp:234
rclcpp::Service< std_srvs::srv::Trigger >::SharedPtr nmt_state_reset_service
Definition: node_canopen_proxy_driver.hpp:22
std::mutex sdo_mtex
Definition: node_canopen_proxy_driver.hpp:27
Definition: configuration_manager.hpp:28
Definition: exchange.hpp:26