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
33{
34public:
35 SonyEviD100PVisca(const char * device_file,
36 unsigned int def_timeout_ms = 30,
37 bool blocking = true);
39
40 void get_pan_tilt_rad(float &pan, float &tilt);
41 void set_pan_tilt_rad(float pan, float tilt);
42
43 void set_speed_radsec(float pan_speed, float tilt_speed);
44 void get_speed_radsec(float &pan_speed, float &tilt_speed);
45
46 void get_speed_limits(float &pan_min, float &pan_max, 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#endif
Sony EviD100P Visca controller.
Definition: evid100p.h:33
static const unsigned int EFFECT_BW
B/W effect.
Definition: evid100p.h:72
static const unsigned int EFFECT_SEPIA
Sepia effect.
Definition: evid100p.h:71
static const float SPEED_TABLE_TILT[SONY_EVID100P_NUM_TILT_SPEEDS]
Speed table for supported tilt speed values in radians.
Definition: evid100p.h:79
~SonyEviD100PVisca()
Destructor.
Definition: evid100p.cpp:124
void get_pan_tilt_rad(float &pan, float &tilt)
Get pan/tilt in radians.
Definition: evid100p.cpp:155
static const float MIN_TILT_RAD
Min tilt in rad.
Definition: evid100p.h:61
static const float TILT_STEPS_PER_RAD
Tilt steps per rad.
Definition: evid100p.h:67
static const float PAN_STEPS_PER_RAD
Pan steps per rad.
Definition: evid100p.h:66
static const unsigned int EFFECT_STRETCH
Stretch effect.
Definition: evid100p.h:76
static const float MAX_PAN_DEG
Max pan in degrees.
Definition: evid100p.h:53
static const float TILT_STEPS_PER_DEG
Tilt steps per degree.
Definition: evid100p.h:64
static const unsigned int EFFECT_SOLARIZE
Solarize effect.
Definition: evid100p.h:73
static const unsigned int EFFECT_MOSAIC
Mosaic effect.
Definition: evid100p.h:74
SonyEviD100PVisca(const char *device_file, unsigned int def_timeout_ms=30, bool blocking=true)
Constructor.
Definition: evid100p.cpp:116
static const float SPEED_TABLE_PAN[SONY_EVID100P_NUM_PAN_SPEEDS]
Speed table for supported pan speed values in radians.
Definition: evid100p.h:78
static const float MAX_TILT_RAD
Max tilt in rad.
Definition: evid100p.h:60
static const float MIN_PAN_RAD
Min pan in rad.
Definition: evid100p.h:59
static const float MIN_PAN_DEG
Min pan in degrees.
Definition: evid100p.h:54
static const int MIN_TILT
Min tilt .
Definition: evid100p.h:51
void set_pan_tilt_rad(float pan, float tilt)
Set pan/tilt in radians.
Definition: evid100p.cpp:133
static const int MAX_TILT
Max Tilt.
Definition: evid100p.h:50
static const float MIN_TILT_DEG
Min tilt in degrees.
Definition: evid100p.h:56
void set_speed_radsec(float pan_speed, float tilt_speed)
Set speed given in rad/sec.
Definition: evid100p.cpp:172
void get_speed_limits(float &pan_min, float &pan_max, float &tilt_min, float &tilt_max)
Get speed limits.
Definition: evid100p.cpp:239
static const float MAX_PAN_RAD
Max pan in rad.
Definition: evid100p.h:58
static const float PAN_STEPS_PER_DEG
Pan steps per degree.
Definition: evid100p.h:63
void get_speed_radsec(float &pan_speed, float &tilt_speed)
Get current speed in rad/sec.
Definition: evid100p.cpp:224
static const int MIN_PAN
Minimum pan.
Definition: evid100p.h:49
static const unsigned int EFFECT_PASTEL
Pastel effect.
Definition: evid100p.h:69
static const int MAX_PAN
Maximum pan.
Definition: evid100p.h:48
static const unsigned int EFFECT_SLIM
Slim effect.
Definition: evid100p.h:75
static const unsigned int EFFECT_NEGATIVE
Negative effect.
Definition: evid100p.h:70
static const float MAX_TILT_DEG
Max tilt in degrees.
Definition: evid100p.h:55
Visca control protocol implementation over a serial line.
Definition: visca.h:51