Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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