F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
IntervalTimer.hpp
Go to the documentation of this file.
1 
7 #ifndef _IntervalTimer_hpp_
8 #define _IntervalTimer_hpp_
9 
10 #include <FpConfig.hpp>
11 
12 namespace Os {
13  class IntervalTimer {
14  public:
21  typedef struct {
22  U32 upper;
23  U32 lower;
24  } RawTime;
25 
26  IntervalTimer();
27  virtual ~IntervalTimer();
28 
29  //------------ Common Functions ------------
30  // Common functions, typically do not need to be implemented by an OS support package.
31  // Common implementations in IntervalTimerCommon.cpp.
32  //------------------------------------------
37  void start();
42  void stop();
48  U32 getDiffUsec();
49 
50  //------------ Platform Functions ------------
51  // Platform functions, typically do need to be implemented by an OS support package, as
52  // they are dependent on the platform definition of "RawTime".
53  //------------------------------------------
54 
61  static U32 getDiffUsec(const RawTime& t1, const RawTime& t2);
66  static void getRawTime(RawTime& time);
67  PRIVATE:
68 
69  //------------ Internal Member Variables ------------
70  RawTime m_startTime;
71  RawTime m_stopTime;
72 
73  //------------ Disabled (private) Copy Constructor ------------
75  };
76 }
77 
78 #endif
C++-compatible configuration header for fprime configuration.
static void getRawTime(RawTime &time)
virtual ~IntervalTimer()
Destructor.
IntervalTimer()
Constructor.
Definition: File.cpp:6
U32 lower
Lower 32-bits part of time value. Platform dependent.
U32 upper
Upper 32-bits part of time value. Platform dependent.