libapogee  3.0.3234
CameraStatusRegs.h
1 
13 #ifndef CAMERASTATUSREGS_INCLUDE_H__
14 #define CAMERASTATUSREGS_INCLUDE_H__
15 
16 #include <string>
17 #include <stdint.h>
18 #include "DefDllExport.h"
19 
20 class DLL_EXPORT CameraStatusRegs
21 {
22  public:
23 #pragma pack( push, 1 )
24 
25  struct BasicStatus
26  {
28  uint16_t TempHeatSink;
30  uint16_t TempCcd;
32  uint16_t CoolerDrive;
34  uint16_t InputVoltage;
36  uint16_t TdiCounter;
38  uint16_t SequenceCounter;
40  uint16_t Status;
42  uint16_t uFrame;
44  uint32_t FetchCount;
46  uint8_t DataAvailFlag;
47  };
48 #pragma pack( pop )
49 
50 #pragma pack( push, 1 )
51 
52  struct AdvStatus
53  {
55  uint16_t TempHeatSink;
57  uint16_t TempCcd;
59  uint16_t CoolerDrive;
61  uint16_t InputVoltage;
63  uint16_t TdiCounter;
65  uint16_t SequenceCounter;
67  uint16_t Status;
69  uint16_t uFrame;
71  uint16_t MostRecentFrame;
73  uint16_t ReadyFrame;
75  uint16_t CurrentFrame;
77  uint32_t FetchCount;
79  uint8_t DataAvailFlag;
80 
81  };
82 #pragma pack( pop )
83 
87  virtual ~CameraStatusRegs();
88 
89  uint16_t GetTempHeatSink() { return m_TempHeatSink; }
90  uint16_t GetTempCcd() { return m_TempCcd; }
91  uint16_t GetCoolerDrive() { return m_CoolerDrive; }
92  uint16_t GetInputVoltage() { return m_InputVoltage; }
93  uint16_t GetTdiCounter() { return m_TdiCounter; }
94  uint16_t GetSequenceCounter() { return m_SequenceCounter; }
95  uint16_t GetStatus() const { return m_Status; }
96  uint16_t GetuFrame() { return m_uFrame; }
97  uint16_t GetMostRecentFrame() { return m_MostRecentFrame; }
98  uint16_t GetReadyFrame() { return m_ReadyFrame; }
99  uint16_t GetCurrentFrame() { return m_CurrentFrame ; }
100  uint32_t GetFetchCount() { return m_FetchCount; }
101  bool GetDataAvailFlag() const { return ( (m_DataAvailFlag & 0x1) ? true:false); }
102 
103  void QueryStatusRegs( uint16_t & StatusReg,
104  uint16_t & HeatsinkTempReg,
105  uint16_t & CcdTempReg,
106  uint16_t & CoolerDriveReg,
107  uint16_t & VoltageReg,
108  uint16_t & TdiCounter,
109  uint16_t & SequenceCounter,
110  uint16_t & MostRecentFrame,
111  uint16_t & ReadyFrame,
112  uint16_t & CurrentFrame);
113 
114  std::string GetStatusStr() const;
115 
116  void Update(const CameraStatusRegs::AdvStatus & adv);
117  void Update(const CameraStatusRegs::BasicStatus & basic);
118 
119  private:
120  uint16_t m_TempHeatSink;
121  uint16_t m_TempCcd;
122  uint16_t m_CoolerDrive;
123  uint16_t m_InputVoltage;
124  uint16_t m_TdiCounter;
125  uint16_t m_SequenceCounter;
126  uint16_t m_Status;
127  uint16_t m_uFrame;
128  uint16_t m_MostRecentFrame;
129  uint16_t m_ReadyFrame;
130  uint16_t m_CurrentFrame;
131  uint32_t m_FetchCount;
132  uint8_t m_DataAvailFlag;
133 
134 };
135 
136 #endif
uint32_t FetchCount
Definition: CameraStatusRegs.h:44
uint16_t TdiCounter
Definition: CameraStatusRegs.h:36
uint16_t CoolerDrive
Definition: CameraStatusRegs.h:32
uint16_t TempHeatSink
Definition: CameraStatusRegs.h:28
uint16_t uFrame
Definition: CameraStatusRegs.h:42
uint16_t InputVoltage
Definition: CameraStatusRegs.h:34
uint16_t TempCcd
Definition: CameraStatusRegs.h:57
uint16_t SequenceCounter
Definition: CameraStatusRegs.h:38
uint16_t TempHeatSink
Definition: CameraStatusRegs.h:55
uint16_t TempCcd
Definition: CameraStatusRegs.h:30
uint16_t CoolerDrive
Definition: CameraStatusRegs.h:59
uint16_t SequenceCounter
Definition: CameraStatusRegs.h:65
Class that wrapps the basic and advanced status structs.
Definition: CameraStatusRegs.h:20
Definition: CameraStatusRegs.h:52
uint16_t InputVoltage
Definition: CameraStatusRegs.h:61
uint16_t Status
Definition: CameraStatusRegs.h:40
uint16_t Status
Definition: CameraStatusRegs.h:67
uint16_t TdiCounter
Definition: CameraStatusRegs.h:63
uint16_t CurrentFrame
Definition: CameraStatusRegs.h:75
uint8_t DataAvailFlag
Definition: CameraStatusRegs.h:46
uint16_t uFrame
Definition: CameraStatusRegs.h:69
uint16_t MostRecentFrame
Definition: CameraStatusRegs.h:71
uint16_t ReadyFrame
Definition: CameraStatusRegs.h:73
uint32_t FetchCount
Definition: CameraStatusRegs.h:77
uint8_t DataAvailFlag
Definition: CameraStatusRegs.h:79
Definition: CameraStatusRegs.h:25