00001
00002
00003
00004
00005
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