Fawkes API  Fawkes Development Version
evid100p.h
1 
2 /***************************************************************************
3  * evid100p.h - Sony EviD100P Visca wrapper
4  *
5  * Created: Sun Jun 21 13:10:51 2009
6  * Copyright 2005-2009 Tim Niemueller [www.niemueller.de]
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #ifndef __PLUGINS_PANTILT_SONY_EVID100P_H_
25 #define __PLUGINS_PANTILT_SONY_EVID100P_H_
26 
27 #include "visca.h"
28 
29 #define SONY_EVID100P_NUM_PAN_SPEEDS 24
30 #define SONY_EVID100P_NUM_TILT_SPEEDS 20
31 
32 class SonyEviD100PVisca : public Visca {
33 
34  public:
35  SonyEviD100PVisca(const char *device_file, unsigned int def_timeout_ms = 30,
36  bool blocking = true);
38 
39  void get_pan_tilt_rad(float &pan, float &tilt);
40  void set_pan_tilt_rad(float pan, float tilt);
41 
42  void set_speed_radsec(float pan_speed, float tilt_speed);
43  void get_speed_radsec(float &pan_speed, float &tilt_speed);
44 
45  void get_speed_limits(float &pan_min, float &pan_max,
46  float &tilt_min, float &tilt_max);
47 
48  static const int MAX_PAN;
49  static const int MIN_PAN;
50  static const int MAX_TILT;
51  static const int MIN_TILT;
52 
53  static const float MAX_PAN_DEG;
54  static const float MIN_PAN_DEG;
55  static const float MAX_TILT_DEG;
56  static const float MIN_TILT_DEG;
57 
58  static const float MAX_PAN_RAD;
59  static const float MIN_PAN_RAD;
60  static const float MAX_TILT_RAD;
61  static const float MIN_TILT_RAD;
62 
63  static const float PAN_STEPS_PER_DEG;
64  static const float TILT_STEPS_PER_DEG;
65 
66  static const float PAN_STEPS_PER_RAD;
67  static const float TILT_STEPS_PER_RAD;
68 
69  static const unsigned int EFFECT_PASTEL;
70  static const unsigned int EFFECT_NEGATIVE;
71  static const unsigned int EFFECT_SEPIA;
72  static const unsigned int EFFECT_BW;
73  static const unsigned int EFFECT_SOLARIZE;
74  static const unsigned int EFFECT_MOSAIC;
75  static const unsigned int EFFECT_SLIM;
76  static const unsigned int EFFECT_STRETCH;
77 
78  static const float SPEED_TABLE_PAN[SONY_EVID100P_NUM_PAN_SPEEDS];
79  static const float SPEED_TABLE_TILT[SONY_EVID100P_NUM_TILT_SPEEDS];
80 };
81 
82 
83 
84 #endif
static const float MIN_TILT_RAD
Min tilt in rad.
Definition: evid100p.h:61
static const unsigned int EFFECT_NEGATIVE
Negative effect.
Definition: evid100p.h:70
static const float MAX_PAN_DEG
Max pan in degrees.
Definition: evid100p.h:53
static const float PAN_STEPS_PER_RAD
Pan steps per rad.
Definition: evid100p.h:66
void get_speed_radsec(float &pan_speed, float &tilt_speed)
Get current speed in rad/sec.
Definition: evid100p.cpp:227
static const int MIN_PAN
Minimum pan.
Definition: evid100p.h:49
static const float MIN_PAN_RAD
Min pan in rad.
Definition: evid100p.h:59
static const float MAX_PAN_RAD
Max pan in rad.
Definition: evid100p.h:58
static const unsigned int EFFECT_SEPIA
Sepia effect.
Definition: evid100p.h:71
static const unsigned int EFFECT_BW
B/W effect.
Definition: evid100p.h:72
static const float MAX_TILT_DEG
Max tilt in degrees.
Definition: evid100p.h:55
void set_speed_radsec(float pan_speed, float tilt_speed)
Set speed given in rad/sec.
Definition: evid100p.cpp:177
void set_pan_tilt_rad(float pan, float tilt)
Set pan/tilt in radians.
Definition: evid100p.cpp:136
void get_speed_limits(float &pan_min, float &pan_max, float &tilt_min, float &tilt_max)
Get speed limits.
Definition: evid100p.cpp:243
SonyEviD100PVisca(const char *device_file, unsigned int def_timeout_ms=30, bool blocking=true)
Constructor.
Definition: evid100p.cpp:117
static const float TILT_STEPS_PER_DEG
Tilt steps per degree.
Definition: evid100p.h:64
static const unsigned int EFFECT_SLIM
Slim effect.
Definition: evid100p.h:75
static const int MAX_PAN
Maximum pan.
Definition: evid100p.h:48
void get_pan_tilt_rad(float &pan, float &tilt)
Get pan/tilt in radians.
Definition: evid100p.cpp:159
static const unsigned int EFFECT_SOLARIZE
Solarize effect.
Definition: evid100p.h:73
Visca control protocol implementation over a serial line.
Definition: visca.h:50
static const int MAX_TILT
Max Tilt.
Definition: evid100p.h:50
static const float PAN_STEPS_PER_DEG
Pan steps per degree.
Definition: evid100p.h:63
static const float TILT_STEPS_PER_RAD
Tilt steps per rad.
Definition: evid100p.h:67
static const float MIN_PAN_DEG
Min pan in degrees.
Definition: evid100p.h:54
~SonyEviD100PVisca()
Destructor.
Definition: evid100p.cpp:126
static const unsigned int EFFECT_STRETCH
Stretch effect.
Definition: evid100p.h:76
static const unsigned int EFFECT_MOSAIC
Mosaic effect.
Definition: evid100p.h:74
static const float MAX_TILT_RAD
Max tilt in rad.
Definition: evid100p.h:60
Sony EviD100P Visca controller.
Definition: evid100p.h:32
static const int MIN_TILT
Min tilt .
Definition: evid100p.h:51
static const float SPEED_TABLE_TILT[SONY_EVID100P_NUM_TILT_SPEEDS]
Speed table for supported tilt speed values in radians.
Definition: evid100p.h:79
static const unsigned int EFFECT_PASTEL
Pastel effect.
Definition: evid100p.h:69
static const float MIN_TILT_DEG
Min tilt in degrees.
Definition: evid100p.h:56
static const float SPEED_TABLE_PAN[SONY_EVID100P_NUM_PAN_SPEEDS]
Speed table for supported pan speed values in radians.
Definition: evid100p.h:78