Flexiv RDK APIs  1.4
device.hpp
Go to the documentation of this file.
1 
6 #ifndef FLEXIV_RDK_DEVICE_HPP_
7 #define FLEXIV_RDK_DEVICE_HPP_
8 
9 #include "robot.hpp"
10 #include <map>
11 
12 namespace flexiv {
13 namespace rdk {
14 
19 class Device
20 {
21 public:
27  Device(const Robot& robot);
28  virtual ~Device();
29 
37  const std::map<std::string, bool> list() const;
38 
46  void Enable(const std::string& name);
47 
55  void Disable(const std::string& name);
56 
66  void Command(const std::string& name, const std::map<std::string, double>& cmds);
67 
68 private:
69  class Impl;
70  std::unique_ptr<Impl> pimpl_;
71 };
72 
73 } /* namespace rdk */
74 } /* namespace flexiv */
75 
76 #endif /* FLEXIV_RDK_DEVICE_HPP_ */
Interface with the robot device(s).
Definition: device.hpp:20
void Enable(const std::string &name)
[Blocking] Enable the specified device.
const std::map< std::string, bool > list() const
[Blocking] Request a list of existing devices and their status (enabled/disabled).
Device(const Robot &robot)
[Non-blocking] Create an instance and initialize device control interface.
void Disable(const std::string &name)
[Blocking] Disable the specified device.
void Command(const std::string &name, const std::map< std::string, double > &cmds)
[Blocking] Send command(s) for the specified device.
Main interface with the robot, containing several function categories and background services.
Definition: robot.hpp:24