Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

LinearActuator.h

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////////////////////////////////
00002 /*! \file LinearActuator.h
00003 *  \Header file for LinearActuator class
00004 *  \author $Author: bwilliam $
00005 *  \version $Revision: 1.4 $
00006 *  \date    $Date: 2006/06/27 15:24:31 $
00007 *//////////////////////////////////////////////////////////////////////////////////////////////////
00008 /*! 
00009 */
00010 //////////////////////////////////////////////////////////////////////////////////////////////////
00011 
00012 
00013 
00014 
00015 
00016 #ifndef __SSSL_LINEARACTUATOR_H__
00017 #define __SSSL_LINEARACTUATOR_H__
00018 
00019 #include <Base/Actuator.h>
00020 #include <Utils/Misc.h>
00021 #include <string>
00022 #include <sstream>
00023 #include <Actuators/PhysicalLinearActuator.h>
00024 using namespace std;
00025 using namespace O_SESSAME;
00026 
00027 /*! Class to interface with linear actuators */
00028 class LinearActuator : public Actuator  
00029 {
00030 public:
00031     //////////////////////////////////////////////////
00032     // Contructors/Deconstructors                   //
00033     //////////////////////////////////////////////////
00034 
00035         /*! Default Constructor*/
00036         LinearActuator();
00037     
00038         /*! Deconstructor*/
00039         virtual ~LinearActuator();
00040 
00041     //////////////////////////////////////////////////
00042     // Facilitators                                 //
00043     //////////////////////////////////////////////////
00044     
00045         /*!Will move the linear actuator a desired distance or as far as possible in either             direction*/
00046         /*!Param_Distance double representing the desired travel distance (inches)*/
00047         
00048         int TravelDistanceLimits(double Param_Distance);
00049 
00050 
00051         /*!Will check to see if the desired distance to travel is possible.  If it is possible, the linear actuator moves, if it is not possible an error is            reported to the user*/
00052         /*!Param_Distance double representing the desired travel distance (inches)*/
00053 
00054         int TravelDistanceChecks(double Param_Distance);
00055 
00056         /*!Will move the linear actuator to a desired position*/
00057         /*!Param_Position double representing the desired position to move to (inches)*/
00058 
00059         int TravelPosition(double Param_Position);
00060 
00061         /*!Sets velocity for the linear actuator*/
00062         /*!velocity represents velocity in the range of 0-50*/
00063 
00064         int SetVelocity(double velocity);
00065 
00066         /*! Start linear actuator jog*/
00067         
00068         int StartJog(int direction);
00069 
00070         /*! Stop the linear actuator*/
00071 
00072         int Stop();
00073 
00074         /*! Initialize the linear actuator(s)*/
00075         int Initialize(int Action, char *port);
00076  
00077         /*! Deinitialize the linear actuator*/
00078         int Deinitialize();
00079 
00080 
00081     //////////////////////////////////////////////////
00082     // Inspectors                                   //
00083     //////////////////////////////////////////////////
00084    
00085         /*!Will return the current position of the linear actuator (inches)*/
00086         
00087         double GetCurrentPosition( );
00088 
00089 protected: 
00090     
00091     
00092 private:
00093 
00094 
00095     /*! Member double representing the current position of the linear actuator in inches*/
00096     double m_CurrentPosition;
00097 
00098     /*! Member PhysicalLinearActuator object*/
00099     PhysicalLinearActuator m_PhysicalLinearActuator;
00100 
00101 };
00102 
00103 #endif 
00104 // Do not change the comments below - they will be added automatically by CVS
00105 /*****************************************************************************
00106 *       $Log: LinearActuator.h,v $
00107 *       Revision 1.4  2006/06/27 15:24:31  bwilliam
00108 *       Added jog functions. Added port file name argument to initialization function.
00109 *
00110 *
00111 *
00112 *
00113 ****************************************************************************/
00114 
00115 

Generated on Wed Sep 5 12:54:21 2007 for DSACSS Operational Code by  doxygen 1.3.9.1