00001 /************************************************************************************************/ 00002 /*! \file PhysicalThruster.h 00003 * \brief The Thruster class provides the interface for h/w thrusters. 00004 * \author $Author: cakinli $ 00005 * \version $Revision: 1.3 $ 00006 * \date $Date: 2005/02/25 18:40:52 $ 00007 ************************************************************************************************/ 00008 /*! 00009 * 00010 ************************************************************************************************/ 00011 00012 #ifndef __SSSL_PHYSICALTHRUSTER_H__ 00013 #define __SSSL_PHYSICALTHRUSTER_H__ 00014 00015 #include <Base/Actuator.h> 00016 #include <matrix/Matrix.h> 00017 #include <Hardware/DAQCard.h> 00018 00019 #include <sys/time.h> 00020 00021 00022 using namespace std; 00023 00024 class PhysicalThruster 00025 { 00026 public: 00027 // Contructors/Deconstructors 00028 /*! Default Constructor */ 00029 PhysicalThruster(); 00030 00031 /*! Deconstructor */ 00032 ~PhysicalThruster(); 00033 00034 // Facilitators 00035 00036 /*! Fire the thruster */ 00037 void StartFire(BYTE signal); 00038 00039 /*! Turn off the thruster */ 00040 void StopFire(); 00041 00042 /*! Calculate the steady state thrust level given a pressure setting */ 00043 double CalcThrustLevel( double pressureSetting ); 00044 00045 // Mutators 00046 void Initialize(); 00047 00048 protected: 00049 00050 00051 private: 00052 /*! Pointer to an instance of the DAQ card */ 00053 DAQCard* m_DAQCard; 00054 00055 }; 00056 00057 #endif 00058 // Do not change the comments below - they will be added automatically by CVS 00059 /***************************************************************************** 00060 * $Log: PhysicalThruster.h,v $ 00061 * Revision 1.3 2005/02/25 18:40:52 cakinli 00062 * Created Makefiles and organized include directives to reduce the number of 00063 * include paths. Reorganized libraries so that there is now one per source 00064 * directory. Each directory is self-contained in terms of its Makefile. 00065 * The local Makefile in each directory includes src/config.mk, which has all 00066 * the definitions and general and pattern rules. So at most, to see what 00067 * goes into building a target, a person needs to examine the Makefile in 00068 * that directory, and ../config.mk. 00069 * 00070 * Revision 1.2 2004/06/15 14:58:45 shaigunjoe 00071 * Added changes for digital signal 00072 * 00073 * Revision 1.1 2004/05/27 19:59:06 shoemaker 00074 * Made changes for analog output thruster control 00075 * 00076 * Revision 1.2 2003/07/04 14:06:43 simpliciter 00077 * Added newline at end of file. 00078 * 00079 * Revision 1.1.1.1 2003/06/06 18:44:15 simpliciter 00080 * Initial submission. 00081 * 00082 * 00083 ******************************************************************************/