Fawkes API
Fawkes Development Version
|
24 #ifndef _PLUGINS_PANTILT_DIRPERC_DP_PTU_H_
25 #define _PLUGINS_PANTILT_DIRPERC_DP_PTU_H_
27 #define DPPTU_MAX_OBUFFER_SIZE 20
28 #define DPPTU_MAX_IBUFFER_SIZE 255
39 virtual void get_limits(
float &pan_min,
float &pan_max,
float &tilt_min,
float &tilt_max);
59 void send(
const char *command,
int value);
60 void send(
const char *command);
61 void write(
const char *buffer);
62 bool read(
char *buffer,
unsigned int buffer_size);
64 bool data_available();
65 int query_int(
const char *query_command);
66 int pan_rad2ticks(
float r);
67 int tilt_rad2ticks(
float r);
68 float pan_ticks2rad(
int ticks);
69 float tilt_ticks2rad(
int ticks);
73 static const char *DPPTU_PAN_ABSPOS;
74 static const char *DPPTU_TILT_ABSPOS;
75 static const char *DPPTU_PAN_RELPOS;
76 static const char *DPPTU_TILT_RELPOS;
77 static const char *DPPTU_PAN_RESOLUTION;
78 static const char *DPPTU_TILT_RESOLUTION;
79 static const char *DPPTU_PAN_MIN;
80 static const char *DPPTU_PAN_MAX;
81 static const char *DPPTU_TILT_MIN;
82 static const char *DPPTU_TILT_MAX;
83 static const char *DPPTU_LIMITENFORCE_QUERY;
84 static const char *DPPTU_LIMITENFORCE_ENABLE;
85 static const char *DPPTU_LIMITENFORCE_DISABLE;
86 static const char *DPPTU_IMMEDIATE_EXECUTION;
87 static const char *DPPTU_SLAVED_EXECUTION;
88 static const char *DPPTU_AWAIT_COMPLETION;
89 static const char *DPPTU_HALT_ALL;
90 static const char *DPPTU_HALT_PAN;
91 static const char *DPPTU_HALT_TILT;
92 static const char *DPPTU_PAN_SPEED;
93 static const char *DPPTU_TILT_SPEED;
94 static const char *DPPTU_PAN_ACCEL;
95 static const char *DPPTU_TILT_ACCEL;
96 static const char *DPPTU_PAN_BASESPEED;
97 static const char *DPPTU_TILT_BASESPEED;
98 static const char *DPPTU_PAN_UPPER_SPEED_LIMIT;
99 static const char *DPPTU_PAN_LOWER_SPEED_LIMIT;
100 static const char *DPPTU_TILT_UPPER_SPEED_LIMIT;
101 static const char *DPPTU_TILT_LOWER_SPEED_LIMIT;
102 static const char *DPPTU_RESET;
103 static const char *DPPTU_STORE;
104 static const char *DPPTU_RESTORE;
105 static const char *DPPTU_FACTORY_RESET;
106 static const char *DPPTU_ECHO_QUERY;
107 static const char *DPPTU_ECHO_ENABLE;
108 static const char *DPPTU_ECHO_DISABLE;
109 static const char *DPPTU_ASCII_VERBOSE;
110 static const char *DPPTU_ASCII_TERSE;
111 static const char *DPPTU_ASCII_QUERY;
112 static const char *DPPTU_VERSION;
117 unsigned int timeout_ms_;
119 char obuffer_[DPPTU_MAX_OBUFFER_SIZE];
120 char ibuffer_[DPPTU_MAX_IBUFFER_SIZE];
123 int tilt_resolution_;
124 int pan_upper_limit_;
125 int pan_lower_limit_;
126 int tilt_lower_limit_;
127 int tilt_upper_limit_;
virtual int min_tilt()
Get minimum tilt in motor ticks.
virtual int get_pan()
Get current pan in motor ticks.
virtual void set_pan_tilt_rad(float pan, float tilt)
Set pan and tilt in radians.
DirectedPerception PTU implementation.
virtual void stop_motion()
Stop currently running motion.
virtual void get_pan_tilt_rad(float &pan, float &tilt)
Get pan/tilt in radians.
virtual void set_pan_tilt(int pan, int tilt)
Set pan and tilt in motor ticks.
virtual void get_pan_tilt(int &pan, int &tilt)
Get current position in motor ticks.
virtual int max_tilt()
Get maximum tilt in motor ticks.
virtual ~DirectedPerceptionPTU()
Destructor.
virtual void set_pan(int pan)
Set pan in motor ticks.
virtual int get_tilt()
Get current tilt in motor ticks.
virtual void set_tilt(int tilt)
Set tilt in motor ticks.
virtual void reset()
Reset the PTU.
virtual void get_limits(float &pan_min, float &pan_max, float &tilt_min, float &tilt_max)
Get position limits in radians.
virtual int min_pan()
Get minimum pan in motor ticks.
DirectedPerceptionPTU(const char *device_file, unsigned int timeout_ms=10)
Constructor.
virtual int max_pan()
Get maximum pan in motor ticks.