00001 /************************************************************************************************/ 00002 /*! \file instrument.h 00003 * \brief The instrument class provides the interface for h/w 00004 * \author $Author: jayhawk_hokie $ 00005 * \version $Revision: 1.1 $ 00006 * \date $Date: 2006/07/05 21:04:21 $ 00007 ************************************************************************************************/ 00008 /*! 00009 * 00010 ************************************************************************************************/ 00011 00012 #ifndef __SSSL_INSTRUMENT_H__ 00013 #define __SSSL_INSTRUMENT_H__ 00014 00015 #include <Base/Actuator.h> 00016 #include <matrix/Matrix.h> 00017 #include "PhysicalRelay.h" 00018 #include <Utils/CfgParse.h> 00019 #include <Utils/Misc.h> 00020 #include <Hardware/DAQCard.h> 00021 00022 using namespace std; 00023 00024 class Relay : virtual public Actuator 00025 { 00026 public: 00027 // Contructors/Deconstructors 00028 /*! Default Constructor */ 00029 Relay(); 00030 00031 /*! Constructor which accepts config parsing info| Not used yet */ 00032 Relay(cfgBody& cfgdat); 00033 00034 /*! Deconstructor */ 00035 ~Relay(); 00036 00037 // Facilitators 00038 int Stop(); 00039 /*! Start the device| Naming convention Device #=byte, 1=1, 2=2, 3=4, 4=8, 5=16, 6=32 */ 00040 void PowerOn(BYTE signal, int bank); 00041 /*! Shutdown device| No argument Required */ 00042 void PowerOff(); 00043 00044 // Mutators 00045 int Initialize(); 00046 /* name used to reference the device */ 00047 void SetDeviceName(const char DeviceName); 00048 00049 // Inspectors| Not needed 00050 00051 /*! Get the device name */ 00052 char GetDeviceName() const; 00053 00054 protected: 00055 00056 00057 private: 00058 00059 /*! The physical object */ 00060 PhysicalRelay m_PhysicalRelay; 00061 00062 /*! Pointer to an instance of the DAQ card */ 00063 DAQCard* m_DAQCard; 00064 00065 /*! The index number used to reference the thruster */ 00066 int m_Device; 00067 }; 00068 00069 #endif 00070 // Do not change the comments below - they will be added automatically by CVS 00071 /***************************************************************************** 00072 * $Log: instrument.h,v $ 00073 * Revision 1.1 2006/07/05 21:04:21 jayhawk_hokie 00074 * Initial submission for power management of Whorl's. 00075 * 00076 * 00077 * 00078 ******************************************************************************/