AnnotatorJr.h

00001 /*-----------------------------------------------------------------------------
00002  * AnnotatorJr declaration
00003  * Ionetrics 2006
00004  * John Williams
00005  * AnnotatorJr.h
00006  *---------------------------------------------------------------------------*/
00007 
00008 #ifndef ANNOTATORJR_H
00009 #define ANNOTATORJR_H
00010 
00011 //-----------------------------------------------------------------------------
00012 
00013 #include <vector>
00014 
00015 #include "AnnotatorCommApi.h"
00016 #include "AnnotatorComm.h"
00017 #include "AnnotatorJr/TimestampDestination.h"
00018 #include "AnnotatorJr/TriggerMode.h"
00019 #include "AnnotatorJr/TriggerTimestamp.h"
00020 #include "FTD2XX/FTD2XX.h"
00021 #include "FTD2XX/FTD2XXDeviceInfo.h"
00022 
00023 using namespace std;
00024 using namespace annotatorcomm::ftd2xx;
00025 
00026 //-----------------------------------------------------------------------------
00027 
00028 namespace annotatorcomm
00029 {
00030 
00031 namespace annotatorjr
00032 {
00033 
00037 class ANNCOMM_API AnnotatorJr : public AnnotatorComm
00038 {
00039 public:
00043         static const int IONETRICS_USB_VID;
00044         
00048         static const int ANNOTATOR_JR_USB_PID;
00049         
00056         static vector<FTD2XXDeviceInfo> scanForAnnotatorJrs() throw(IOException);
00057         
00065         static FTD2XX* openFTD2XX(FTD2XXDeviceInfo & deviceInfo) throw(IOException);
00066 
00067 public:
00073         AnnotatorJr(FTD2XX* ftd2xx) throw(IOException);
00074 
00078         virtual ~AnnotatorJr();
00079         
00085         virtual void close() throw(IOException);
00086         
00093         virtual void signal(ResponseMessage & rsp);
00094         
00101         const TriggerMode* getTriggerMode() throw(IOException);
00102         
00109         void setTriggerMode(const TriggerMode* triggerMode) throw(IOException);
00110         
00117         const TimestampDestination* getTimeStampDestination() throw(IOException);
00118         
00126         void setTimeStampDestination(const TimestampDestination* destination) throw(IOException);
00127         
00134         int getTimestampCount() throw(IOException);
00135         
00145         vector<TriggerTimestamp> getTimestamps(int first, int last) throw(IOException);
00146         
00152         void clearTimeTags() throw(IOException);
00153         
00160         int getRtcCalibration() throw(IOException);
00161         
00170         void setRtcCalibration(int cal) throw(IOException);
00171         
00178         void saveRtcCalibration() throw(IOException);
00179         
00187         void setRtcCalibrationMode(bool isEnabled) throw(IOException);
00188 
00189 private:
00193         FTD2XX* ftd2xx;
00194 };
00195 
00196 }
00197 
00198 }
00199 
00200 //-----------------------------------------------------------------------------
00201 
00202 #endif /* ANNOTATORJR_H */

Generated on Tue Aug 1 11:14:11 2006 for libAnnotatorComm by  doxygen 1.4.7