AXptz
ax_ptz_movement_handler.h
Go to the documentation of this file.
1 
46 #ifndef _AX_PTZ_MOVEMENT_HANDLER_H_
47 #define _AX_PTZ_MOVEMENT_HANDLER_H_
48 
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 
55 #include "ax_ptz_types.h"
56 #include "ax_ptz_control_queue.h"
57 #include "ax_ptz_movement.h"
58 
59 
64 typedef enum {
69 
74 typedef enum {
78 
83 typedef enum {
88 
93 typedef enum {
98 
102 typedef struct {
103  glong tv_sec;
104  glong tv_usec;
106 
111 typedef struct
112 {
113  fixed_t pan_value;
114  AXPTZMoveStatus pan_status;
115  fixed_t tilt_value;
116  AXPTZMoveStatus tilt_status;
117  fixed_t zoom_value;
118  AXPTZMoveStatus zoom_status;
120 } AXPTZStatus;
121 
127 typedef struct
128 {
129  fixed_t min_pan_value;
130  fixed_t max_pan_value;
131  fixed_t min_tilt_value;
132  fixed_t max_tilt_value;
133  fixed_t min_zoom_value;
134  fixed_t max_zoom_value;
135 } AXPTZLimits;
136 
137 
152 gboolean
153 ax_ptz_movement_handler_set_absolute_spaces(AXPTZMovementPanTiltSpace pan_tilt_space,
154  AXPTZMovementPanTiltSpeedSpace pan_tilt_speed_space,
155  AXPTZMovementZoomSpace zoom_space,
156  GError **error);
157 
171 gboolean
173  gint video_channel,
174  const AXPTZAbsoluteMovement *movement,
175  AXPTZInvoke invoke,
176  void *callback_func,
177  void *user_data,
178  GError **error);
179 
194 gboolean
195 ax_ptz_movement_handler_set_relative_spaces(AXPTZMovementPanTiltSpace pan_tilt_space,
196  AXPTZMovementPanTiltSpeedSpace pan_tilt_speed_space,
197  AXPTZMovementZoomSpace zoom_space,
198  GError **error);
199 
213 gboolean
215  gint video_channel,
216  const AXPTZRelativeMovement *movement,
217  AXPTZInvoke invoke,
218  void *callback_func,
219  void *user_data,
220  GError **error);
221 
231 gboolean
232 ax_ptz_movement_handler_set_continuous_spaces(AXPTZMovementPanTiltSpeedSpace pan_tilt_speed_space,
233  GError **error);
234 
248 gboolean
250  gint video_channel,
251  const AXPTZContinuousMovement *movement,
252  AXPTZInvoke invoke,
253  void *callback_func,
254  void *user_data,
255  GError **error);
256 
271 gboolean
273  gint video_channel,
274  gboolean stop_pan_tilt,
275  gboolean stop_zoom,
276  AXPTZInvoke invoke,
277  void *callback_func,
278  void *user_data,
279  GError **error);
280 
294 gboolean
295 ax_ptz_movement_handler_get_ptz_status(gint video_channel,
296  AXPTZMovementPanTiltSpace pan_tilt_space,
297  AXPTZMovementZoomSpace zoom_space,
298  AXPTZStatus **status,
299  GError **error);
300 
313 gboolean
314 ax_ptz_movement_handler_get_ptz_limits(gint video_channel,
315  AXPTZMovementPanTiltSpace pan_tilt_space,
316  AXPTZMovementZoomSpace zoom_space,
317  AXPTZLimits **limits,
318  GError **error);
319 
330 gboolean
331 ax_ptz_movement_handler_get_fov(gint video_channel,
332  fixed_t *h_fov,
333  fixed_t *v_fov,
334  GError **error);
335 
346 gboolean
347 ax_ptz_movement_handler_is_ptz_moving(gint video_channel,
348  gboolean *is_moving,
349  GError **error);
350 
371 GList*
373  GError **error);
374 
375 
376 #ifdef __cplusplus
377 }
378 #endif
379 
380 
381 #endif /* _AX_PTZ_MOVEMENT_HANDLER_H_ */
Definition: ax_ptz_movement_handler.h:65
Definition: ax_ptz_movement_handler.h:66
AXPTZMoveStatus tilt_status
Definition: ax_ptz_movement_handler.h:116
A structure with the lower and upper limits for the pan, tilt and zoom coordinates. The limits are given in the requested pan, tilt and zoom spaces. Unsupported coordinates are set to zero.
Definition: ax_ptz_movement_handler.h:127
fixed_t min_pan_value
Definition: ax_ptz_movement_handler.h:129
Common types for the AXPTZ library.
Definition: ax_ptz_movement_handler.h:85
AXPTZMoveStatus
Definition: ax_ptz_movement_handler.h:93
AXPTZMoveStatus pan_status
Definition: ax_ptz_movement_handler.h:114
gboolean ax_ptz_movement_handler_get_fov(gint video_channel, fixed_t *h_fov, fixed_t *v_fov, GError **error)
Gets the horizontal and vertical field of view in degrees.
Definition: ax_ptz_movement_handler.c:638
A structure for keeping time stamp information.
Definition: ax_ptz_movement_handler.h:102
fixed_t min_zoom_value
Definition: ax_ptz_movement_handler.h:133
Definition: ax_ptz_movement_handler.h:96
fixed_t max_tilt_value
Definition: ax_ptz_movement_handler.h:132
AXPTZInvoke
Definition: ax_ptz_types.h:24
gboolean ax_ptz_movement_handler_continuous_stop(const AXPTZControlQueueGroup *group, gint video_channel, gboolean stop_pan_tilt, gboolean stop_zoom, AXPTZInvoke invoke, void *callback_func, void *user_data, GError **error)
Stops a continuous movement.
Definition: ax_ptz_movement_handler.c:391
GList * ax_ptz_movement_handler_get_move_capabilities(gint video_channel, GError **error)
Gets the supported PTZ move capabilities.
Definition: ax_ptz_movement_handler.c:713
The PTZ control queue and its functions.
fixed_t max_zoom_value
Definition: ax_ptz_movement_handler.h:134
AXPTZMovementZoomSpace
Definition: ax_ptz_movement_handler.h:83
gboolean ax_ptz_movement_handler_set_continuous_spaces(AXPTZMovementPanTiltSpeedSpace pan_tilt_speed_space, GError **error)
Sets the spaces for the continuous movements.
Definition: ax_ptz_movement_handler.c:325
gboolean ax_ptz_movement_handler_absolute_move(const AXPTZControlQueueGroup *group, gint video_channel, const AXPTZAbsoluteMovement *movement, AXPTZInvoke invoke, void *callback_func, void *user_data, GError **error)
Performs an absolute movement.
Definition: ax_ptz_movement_handler.c:199
Definition: ax_ptz_movement_handler.h:94
A structure with the current pan, tilt and zoom coordinates and move statuses. The coordinates are gi...
Definition: ax_ptz_movement_handler.h:111
gboolean ax_ptz_movement_handler_is_ptz_moving(gint video_channel, gboolean *is_moving, GError **error)
Checks if the camera is panning, tilting, zooming, focusing, adjusting brightness or adjusting iris...
Definition: ax_ptz_movement_handler.c:679
Definition: ax_ptz_movement_handler.h:86
fixed_t tilt_value
Definition: ax_ptz_movement_handler.h:115
AXPTZMovementPanTiltSpace
Definition: ax_ptz_movement_handler.h:64
fixed_t zoom_value
Definition: ax_ptz_movement_handler.h:117
gboolean ax_ptz_movement_handler_set_absolute_spaces(AXPTZMovementPanTiltSpace pan_tilt_space, AXPTZMovementPanTiltSpeedSpace pan_tilt_speed_space, AXPTZMovementZoomSpace zoom_space, GError **error)
Sets the spaces for the absolute movements.
Definition: ax_ptz_movement_handler.c:157
fixed_t min_tilt_value
Definition: ax_ptz_movement_handler.h:131
gboolean ax_ptz_movement_handler_continuous_start(const AXPTZControlQueueGroup *group, gint video_channel, const AXPTZContinuousMovement *movement, AXPTZInvoke invoke, void *callback_func, void *user_data, GError **error)
Starts a continuous movement.
Definition: ax_ptz_movement_handler.c:353
Definition: ax_ptz_movement_handler.h:75
gboolean ax_ptz_movement_handler_get_ptz_status(gint video_channel, AXPTZMovementPanTiltSpace pan_tilt_space, AXPTZMovementZoomSpace zoom_space, AXPTZStatus **status, GError **error)
Gets the current pan, tilt and zoom coordinates and movement statuses.
Definition: ax_ptz_movement_handler.c:461
Definition: ax_ptz_movement_int.h:23
AXPTZMoveStatus zoom_status
Definition: ax_ptz_movement_handler.h:118
AXPTZMovementPanTiltSpeedSpace
Definition: ax_ptz_movement_handler.h:74
gboolean ax_ptz_movement_handler_set_relative_spaces(AXPTZMovementPanTiltSpace pan_tilt_space, AXPTZMovementPanTiltSpeedSpace pan_tilt_speed_space, AXPTZMovementZoomSpace zoom_space, GError **error)
Sets the spaces for the relative movements.
Definition: ax_ptz_movement_handler.c:241
Definition: ax_ptz_control_queue_int.h:8
Definition: ax_ptz_movement_handler.h:84
gboolean ax_ptz_movement_handler_get_ptz_limits(gint video_channel, AXPTZMovementPanTiltSpace pan_tilt_space, AXPTZMovementZoomSpace zoom_space, AXPTZLimits **limits, GError **error)
Gets the pan, tilt and zoom limits.
Definition: ax_ptz_movement_handler.c:554
Definition: ax_ptz_movement_int.h:35
Definition: ax_ptz_movement_handler.h:76
Definition: ax_ptz_movement_int.h:29
Definition: ax_ptz_movement_handler.h:67
Definition: ax_ptz_movement_handler.h:95
The absolute, relative and continuous movements and its functions.
fixed_t pan_value
Definition: ax_ptz_movement_handler.h:113
gboolean ax_ptz_movement_handler_relative_move(const AXPTZControlQueueGroup *group, gint video_channel, const AXPTZRelativeMovement *movement, AXPTZInvoke invoke, void *callback_func, void *user_data, GError **error)
Performs a relative movement.
Definition: ax_ptz_movement_handler.c:283
AXPTZMonotonicTimestamp time_val
Definition: ax_ptz_movement_handler.h:119
fixed_t max_pan_value
Definition: ax_ptz_movement_handler.h:130