ros2_canopen  master
C++ ROS CANopen Library
cia402_driver.hpp
Go to the documentation of this file.
1 #ifndef CANOPEN_402_DRIVER__402_DRIVER_HPP_
2 #define CANOPEN_402_DRIVER__402_DRIVER_HPP_
5 
6 namespace ros2_canopen
7 {
15 {
16  std::shared_ptr<node_interfaces::NodeCanopen402Driver<rclcpp::Node>> node_canopen_402_driver_;
17 
18 public:
19  Cia402Driver(rclcpp::NodeOptions node_options = rclcpp::NodeOptions());
20 
21  virtual bool reset_node_nmt_command()
22  {
23  return node_canopen_402_driver_->reset_node_nmt_command();
24  }
25 
26  virtual bool start_node_nmt_command()
27  {
28  return node_canopen_402_driver_->start_node_nmt_command();
29  }
30 
31  virtual bool tpdo_transmit(ros2_canopen::COData & data)
32  {
33  return node_canopen_402_driver_->tpdo_transmit(data);
34  }
35 
36  virtual bool sdo_write(ros2_canopen::COData & data)
37  {
38  return node_canopen_402_driver_->sdo_write(data);
39  }
40 
41  virtual bool sdo_read(ros2_canopen::COData & data)
42  {
43  return node_canopen_402_driver_->sdo_read(data);
44  }
45 
46  void register_nmt_state_cb(std::function<void(canopen::NmtState, uint8_t)> nmt_state_cb)
47  {
48  node_canopen_402_driver_->register_nmt_state_cb(nmt_state_cb);
49  }
50 
51  void register_rpdo_cb(std::function<void(COData, uint8_t)> rpdo_cb)
52  {
53  node_canopen_402_driver_->register_rpdo_cb(rpdo_cb);
54  }
55 
56  double get_speed() { return node_canopen_402_driver_->get_speed(); }
57 
58  double get_position() { return node_canopen_402_driver_->get_position(); }
59 
60  bool set_target(double target) { return node_canopen_402_driver_->set_target(target); }
61 
62  bool init_motor() { return node_canopen_402_driver_->init_motor(); }
63 
64  bool recover_motor() { return node_canopen_402_driver_->recover_motor(); }
65 
66  bool halt_motor() { return node_canopen_402_driver_->halt_motor(); }
67 
68  bool set_mode_position() { return node_canopen_402_driver_->set_mode_position(); }
69 
70  bool set_mode_velocity() { return node_canopen_402_driver_->set_mode_velocity(); }
71 
72  bool set_mode_cyclic_position() { return node_canopen_402_driver_->set_mode_cyclic_position(); }
73 
74  bool set_mode_cyclic_velocity() { return node_canopen_402_driver_->set_mode_cyclic_velocity(); }
75 
76  bool set_mode_torque() { return node_canopen_402_driver_->set_mode_torque(); }
77 
78  uint16_t get_mode() { return node_canopen_402_driver_->get_mode(); }
79 
80  bool set_operation_mode(uint16_t mode)
81  {
82  return node_canopen_402_driver_->set_operation_mode(mode);
83  }
84 };
85 } // namespace ros2_canopen
86 
87 #endif // CANOPEN_402_DRIVER__CANOPEN_402_DRIVER_HPP_
Canopen Driver.
Definition: driver_node.hpp:91
Abstract Class for a CANopen Device Node.
Definition: cia402_driver.hpp:15
double get_position()
Definition: cia402_driver.hpp:58
bool set_target(double target)
Definition: cia402_driver.hpp:60
bool recover_motor()
Definition: cia402_driver.hpp:64
bool set_mode_position()
Definition: cia402_driver.hpp:68
virtual bool reset_node_nmt_command()
Definition: cia402_driver.hpp:21
virtual bool sdo_write(ros2_canopen::COData &data)
Definition: cia402_driver.hpp:36
bool set_mode_torque()
Definition: cia402_driver.hpp:76
uint16_t get_mode()
Definition: cia402_driver.hpp:78
Cia402Driver(rclcpp::NodeOptions node_options=rclcpp::NodeOptions())
virtual bool tpdo_transmit(ros2_canopen::COData &data)
Definition: cia402_driver.hpp:31
virtual bool sdo_read(ros2_canopen::COData &data)
Definition: cia402_driver.hpp:41
double get_speed()
Definition: cia402_driver.hpp:56
bool set_mode_cyclic_velocity()
Definition: cia402_driver.hpp:74
void register_rpdo_cb(std::function< void(COData, uint8_t)> rpdo_cb)
Definition: cia402_driver.hpp:51
bool init_motor()
Definition: cia402_driver.hpp:62
bool set_mode_cyclic_position()
Definition: cia402_driver.hpp:72
bool halt_motor()
Definition: cia402_driver.hpp:66
bool set_operation_mode(uint16_t mode)
Definition: cia402_driver.hpp:80
bool set_mode_velocity()
Definition: cia402_driver.hpp:70
void register_nmt_state_cb(std::function< void(canopen::NmtState, uint8_t)> nmt_state_cb)
Definition: cia402_driver.hpp:46
virtual bool start_node_nmt_command()
Definition: cia402_driver.hpp:26
Definition: configuration_manager.hpp:28
Definition: exchange.hpp:26