TimingContext.h
Go to the documentation of this file.00001
00002 #ifndef _GSI_TIMING_CONTEXT_H_
00003 #define _GSI_TIMING_CONTEXT_H_
00004 #include <string>
00005
00006 #include <fesa-core/Synchronization/TimingContext.h>
00007
00008 extern "C"
00009 {
00010 #include <tim/TimLib.h>
00011 }
00012
00013 namespace fesaGSI
00014 {
00019 class TimingContext : public fesa::TimingContext
00020 {
00021 public:
00022
00029 TimingContext(long long cycleStamp, const std::string& cycleName);
00030
00037 TimingContext(TimLibTime& interruptTimeStamp, unsigned long payload=0, bool forewarning=false);
00038
00045 int64_t getInterruptTimeStamp();
00046
00053 uint32_t getCycleTime();
00054
00055 protected:
00056
00057 void init(unsigned long payload=0);
00061 TimLibTime interruptTimeStamp_;
00062
00066 TimLibTime cycleTimeStamp_;
00067 };
00068 }
00069
00070 #endif // _GSITIMING_CONTEXT_H_