Fawkes API Fawkes Development Version

evid100p.h

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
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends