00001 00002 /*************************************************************************** 00003 * evid100p.h - Sony EviD100P Visca wrapper 00004 * 00005 * Created: Sun Jun 21 13:10:51 2009 00006 * Copyright 2005-2009 Tim Niemueller [www.niemueller.de] 00007 * 00008 ****************************************************************************/ 00009 00010 /* This program is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2 of the License, or 00013 * (at your option) any later version. A runtime exception applies to 00014 * this software (see LICENSE.GPL_WRE file mentioned below for details). 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Library General Public License for more details. 00020 * 00021 * Read the full text in the LICENSE.GPL_WRE file in the doc directory. 00022 */ 00023 00024 #ifndef __PLUGINS_PANTILT_SONY_EVID100P_H_ 00025 #define __PLUGINS_PANTILT_SONY_EVID100P_H_ 00026 00027 #include "visca.h" 00028 00029 #define SONY_EVID100P_NUM_PAN_SPEEDS 24 00030 #define SONY_EVID100P_NUM_TILT_SPEEDS 20 00031 00032 class SonyEviD100PVisca : public Visca { 00033 00034 public: 00035 SonyEviD100PVisca(const char *device_file, unsigned int def_timeout_ms = 30, 00036 bool blocking = true); 00037 ~SonyEviD100PVisca(); 00038 00039 void get_pan_tilt_rad(float &pan, float &tilt); 00040 void set_pan_tilt_rad(float pan, float tilt); 00041 00042 void set_speed_radsec(float pan_speed, float tilt_speed); 00043 void get_speed_radsec(float &pan_speed, float &tilt_speed); 00044 00045 void get_speed_limits(float &pan_min, float &pan_max, 00046 float &tilt_min, float &tilt_max); 00047 00048 static const int MAX_PAN; 00049 static const int MIN_PAN; 00050 static const int MAX_TILT; 00051 static const int MIN_TILT; 00052 00053 static const float MAX_PAN_DEG; 00054 static const float MIN_PAN_DEG; 00055 static const float MAX_TILT_DEG; 00056 static const float MIN_TILT_DEG; 00057 00058 static const float MAX_PAN_RAD; 00059 static const float MIN_PAN_RAD; 00060 static const float MAX_TILT_RAD; 00061 static const float MIN_TILT_RAD; 00062 00063 static const float PAN_STEPS_PER_DEG; 00064 static const float TILT_STEPS_PER_DEG; 00065 00066 static const float PAN_STEPS_PER_RAD; 00067 static const float TILT_STEPS_PER_RAD; 00068 00069 static const unsigned int EFFECT_PASTEL; 00070 static const unsigned int EFFECT_NEGATIVE; 00071 static const unsigned int EFFECT_SEPIA; 00072 static const unsigned int EFFECT_BW; 00073 static const unsigned int EFFECT_SOLARIZE; 00074 static const unsigned int EFFECT_MOSAIC; 00075 static const unsigned int EFFECT_SLIM; 00076 static const unsigned int EFFECT_STRETCH; 00077 00078 static const float SPEED_TABLE_PAN[SONY_EVID100P_NUM_PAN_SPEEDS]; 00079 static const float SPEED_TABLE_TILT[SONY_EVID100P_NUM_TILT_SPEEDS]; 00080 }; 00081 00082 00083 00084 #endif