ActTypes.hpp
1 #ifndef ACT_SCHILLING_ACTTYPES_HPP
2 #define ACT_SCHILLING_ACTTYPES_HPP
3 
4 #include <base/Time.hpp>
5 
6 namespace act_schilling {
7 
9  enum ControlMode{
11  MODE_NONE = 0,
13  MODE_POS,
15  MODE_VEL
16  };
17 
19  struct ActData {
21  base::Time time;
23  act_schilling::ControlMode ctrl_mode;
25  double shaft_ang;
27  double shaft_vel;
28  ActData()
29  : time(base::Time::now()),ctrl_mode(MODE_NONE),shaft_ang(0),shaft_vel(0)
30  {}
31  };
32 
34  struct ActDeviceStatus {
36  base::Time time;
38  uint8_t ctrl_status;
40  uint8_t drive_status;
42  uint8_t encoder_status;
44  int shaft_pos;
45  ActDeviceStatus() :
46  time(base::Time::now()),ctrl_status(0),drive_status(0),encoder_status(0)
47  {}
48  };
49 
51  struct ActState {
55  bool calibrated;
56  ActState()
57  : initialized(false),calibrated(false)
58  {}
59  };
60 
62  struct ActPosition{
64  base::Time time;
70  int shaft_pos;
75  ActPosition()
76  : time(base::Time::now()),ext_encoder_status(0),ext_abs_pos(0),shaft_pos(0),shaft_enc_status(0),shaft_abs_pos(0)
77  {}
78  };
79 
83  base::Time time;
85  uint8_t drive_status;
95  : time(base::Time::now()),drive_status(0),drive_protect_status(0),system_protect_status(0),drive_system_status1(0),drive_system_status2(0)
96  {}
97  };
98 
100  struct ActInfo{
102  base::Time time;
107  ActInfo()
108  : time(base::Time::now()),serial_no(0),firmware_rev(0)
109  {}
110  };
111 
115  double min;
117  double max;
118  ActBoundaries()
119  : min(0),max(0)
120  {}
121  };
122 
123 
124 }
125 
126 
127 #endif
Definition: ActTypes.hpp:100
base::Time time
timestamp
Definition: ActTypes.hpp:64
base::Time time
timestamp
Definition: ActTypes.hpp:83
int shaft_pos
shaft position
Definition: ActTypes.hpp:70
int firmware_rev
firmware revision
Definition: ActTypes.hpp:106
act_schilling::ControlMode ctrl_mode
control mode
Definition: ActTypes.hpp:23
uint8_t shaft_enc_status
shaft encoder status
Definition: ActTypes.hpp:72
base::Time time
timestamp
Definition: ActTypes.hpp:21
base::Time time
timestamp
Definition: ActTypes.hpp:102
int shaft_pos
shaft position in signed encoder counts
Definition: ActTypes.hpp:44
uint16_t drive_protect_status
drive protect status
Definition: ActTypes.hpp:87
double min
min value evaluated by calibration process
Definition: ActTypes.hpp:115
int serial_no
serial number
Definition: ActTypes.hpp:104
double max
max value evaluated by calibration process
Definition: ActTypes.hpp:117
uint16_t drive_system_status1
drive system status 1
Definition: ActTypes.hpp:91
Definition: ActTypes.hpp:34
uint16_t system_protect_status
system protect status
Definition: ActTypes.hpp:89
Definition: ActTypes.hpp:62
uint8_t drive_status
drive status
Definition: ActTypes.hpp:40
uint8_t encoder_status
encoder status
Definition: ActTypes.hpp:42
Definition: ActTypes.hpp:81
uint8_t ctrl_status
control status
Definition: ActTypes.hpp:38
Definition: ActTypes.hpp:51
int ext_abs_pos
external encoder abs position
Definition: ActTypes.hpp:68
bool calibrated
flag set when actuator is calibrated
Definition: ActTypes.hpp:55
double shaft_vel
actual shaft velocity
Definition: ActTypes.hpp:27
Definition: ActTypes.hpp:113
uint8_t drive_status
drive status
Definition: ActTypes.hpp:85
Definition: ActHandler.hpp:9
int drive_system_status2
drive system status 2
Definition: ActTypes.hpp:93
bool initialized
flag set when actuator is initialized
Definition: ActTypes.hpp:53
double shaft_ang
actual position in signed angle
Definition: ActTypes.hpp:25
base::Time time
timestamp
Definition: ActTypes.hpp:36
uint8_t ext_encoder_status
external encoder status
Definition: ActTypes.hpp:66
int shaft_abs_pos
shaft absolute position
Definition: ActTypes.hpp:74
Definition: ActTypes.hpp:19