00001 /************************************************************************************************/ 00002 /*! \file DAQCard.h 00003 * \brief Header file of the C++ code which encapsulates the c-level DAQ card code 00004 * \author $Author: jayhawk_hokie $ 00005 * \version $Revision: 1.4 $ 00006 * \date $Date: 2006/07/05 20:58:20 $ 00007 ************************************************************************************************/ 00008 /*! 00009 * 00010 ************************************************************************************************/ 00011 00012 #ifndef __SSSL_DAQCARD_H__ 00013 #define __SSSL_DAQCARD_H__ 00014 00015 //#include <Sensors/DMU.h> 00016 00017 extern "C" 00018 { 00019 #include <Hardware/daqcard.h> 00020 } 00021 00022 using namespace std; 00023 00024 class DAQCard { 00025 00026 public: 00027 /*! Constructors */ 00028 DAQCard(); 00029 00030 /*! Deconstructors */ 00031 ~DAQCard(); 00032 00033 /*! Mutators */ 00034 /*! Initialize the attitude sensor */ 00035 int Initialize(); 00036 00037 /*! Function to return an instance of a single DAQ card, to prevent the application from trying to create multiple DAQCards */ 00038 static DAQCard* Instance(); 00039 protected: 00040 00041 private: 00042 static DAQCard* s_instance; // note: declared here, but defined outside the class declaration. 00043 00044 card_t* m_cardData; // pointer to struct holding DAQ card stuff, defined in c-header <Hardware/daqcard.h> 00045 //friend double ADscan(card_t* mycard, int _channel); // function in <Hardware/daqcard.h> given friend access specifier 00046 friend class DMU; 00047 friend class PhysicalThruster; 00048 friend class PhysicalRelay; 00049 //friend void GetAnalogReading(int, DAQCard*, timeval&, double&); // function in <Sensors/DMU.h> given friend access specifier 00050 }; 00051 00052 #endif 00053 // Do not change the comments below - they will be added automatically by CVS 00054 /***************************************************************************** 00055 * $Log: DAQCard.h,v $ 00056 * Revision 1.4 2006/07/05 20:58:20 jayhawk_hokie 00057 * Added Relay class in Private section. 00058 * 00059 * Revision 1.3 2005/02/25 19:42:45 cakinli 00060 * Attempt 5: 00061 * Created Makefiles and organized include directives to reduce the number of 00062 * include paths. Reorganized libraries so that there is now one per source 00063 * directory. Each directory is self-contained in terms of its Makefile. 00064 * The local Makefile in each directory includes src/config.mk, which has all 00065 * the definitions and general and pattern rules. So at most, to see what 00066 * goes into building a target, a person needs to examine the Makefile in 00067 * that directory, and ../config.mk. 00068 * 00069 * Revision 1.2 2004/05/27 19:32:59 shoemaker 00070 * Made changes corresponding to addition of thruster classes 00071 * 00072 * Revision 1.1 2004/04/02 19:59:49 shoemaker 00073 * Initial submission 00074 * 00075 * 00076 ******************************************************************************/