Flexiv RDK APIs  1.5
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  bool exist(const std::string& name) const;
47 
56  void Enable(const std::string& name);
57 
66  void Disable(const std::string& name);
67 
78  void Command(
79  const std::string& name, const std::map<std::string, std::variant<int, double>>& cmds);
80 
81 private:
82  class Impl;
83  std::unique_ptr<Impl> pimpl_;
84 };
85 
86 } /* namespace rdk */
87 } /* namespace flexiv */
88 
89 #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 Command(const std::string &name, const std::map< std::string, std::variant< int, double >> &cmds)
[Blocking] Send command(s) for the specified device.
void Disable(const std::string &name)
[Blocking] Disable the specified device.
bool exist(const std::string &name) const
[Blocking] Whether the specified device already exists.
Main interface with the robot, containing several function categories and background services.
Definition: robot.hpp:25