servo_dynamixel
Task.hpp
Go to the documentation of this file.
1 /* Generated from orogen/lib/orogen/templates/tasks/Task.hpp */
2 
3 #ifndef SERVO_DYNAMIXEL_TASK_TASK_HPP
4 #define SERVO_DYNAMIXEL_TASK_TASK_HPP
5 
6 #include "servo_dynamixel/TaskBase.hpp"
7 #include <dynamixel/dynamixel.h>
8 #include <map>
9 
10 namespace servo_dynamixel {
11 
12  struct ServoLimits{
13  uint16_t min_pos;
14  uint16_t max_pos;
15  uint16_t max_speed;
16  uint16_t max_effort;
17  };
18 
20  struct ServoStatus
21  {
22  int id;
23  bool enabled;
27  float speedScale;
28  float effortScale;
30  bool reverse;
31  };
32 
33 
34 
35 
50  class Task : public TaskBase
51  {
52  friend class TaskBase;
53  protected:
54 
56  Dynamixel dynamixel_;
57 
59  std::map<std::string, ServoStatus> status_map;
60 
62  base::samples::Joints joint_status;
63 
64 
66  void readJointStatus();
67 
69  std::vector<base::samples::RigidBodyState> rbs;
70 
71  base::Time stamp_;
72 
74  void printErrorStatus(ErrorStatus status);
75 
76  public:
81  Task(std::string const& name = "servo_dynamixel::Task");
82 
88  Task(std::string const& name, RTT::ExecutionEngine* engine);
89 
92  ~Task();
93 
108  bool configureHook();
109 
115  bool startHook();
116 
131  void updateHook();
132 
139  void errorHook();
140 
144  void stopHook();
145 
150  void cleanupHook();
151  };
152 }
153 
154 #endif
155 
float positionScale
Definition: Task.hpp:24
int id
Definition: Task.hpp:22
Definition: Task.hpp:12
std::vector< base::samples::RigidBodyState > rbs
Definition: Task.hpp:69
base::Time stamp_
Definition: Task.hpp:71
uint16_t max_speed
Definition: Task.hpp:15
base::samples::Joints joint_status
Definition: Task.hpp:62
float positionOffset
Definition: Task.hpp:25
Dynamixel dynamixel_
Definition: Task.hpp:56
uint16_t min_pos
Definition: Task.hpp:13
The task context provides and requires services. It uses an ExecutionEngine to perform its functions...
Definition: Task.hpp:50
Definition: Task.hpp:10
uint16_t max_pos
Definition: Task.hpp:14
bool enabled
Definition: Task.hpp:23
float positionRange
Definition: Task.hpp:26
float effortScale
Definition: Task.hpp:28
Definition: Task.hpp:20
ServoLimits limits
Definition: Task.hpp:29
bool reverse
Definition: Task.hpp:30
uint16_t max_effort
Definition: Task.hpp:16
std::map< std::string, ServoStatus > status_map
Definition: Task.hpp:59
float speedScale
Definition: Task.hpp:27