My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
LnaBiasMonitor.h
1 #ifndef LNABIASMONITOR_H
2 #define LNABIASMONITOR_H
3 
11 #include "gcp/util/common/Labjack.h"
12 #include "gcp/util/common/LabjackU3.h"
13 #include "gcp/antenna/control/specific/Board.h"
14 #include "gcp/control/code/unix/libunix_src/common/tcpip.h"
15 #include "gcp/control/code/unix/libunix_src/common/regmap.h"
16 #include "gcp/util/common/GenericTaskMsg.h"
17 
18 #define NUM_TOTAL_VOLTAGES 12
19 namespace gcp {
20  namespace antenna {
21  namespace control {
22 
23  // define a class to hold the message
24  class LnaBiasMonitorMsg : public gcp::util::GenericTaskMsg {
25  public:
26 
27  enum MsgType {
28  CONNECT,
29  DISCONNECT,
30  GET_VOLTAGE,
31  };
32 
33  // A type for this message
34 
35  MsgType type_;
36  };
37 
38 
39  // Class to read data back from the DlpUsbThermal device
40 
41  class SpecificShare;
42 
43  class LnaBiasMonitor : public Board, public gcp::util::SpawnableTask<LnaBiasMonitorMsg> {
44 
45  public:
46 
51  LnaBiasMonitor(SpecificShare* share, std::string name, bool spawn);
52 
56  virtual ~LnaBiasMonitor();
57 
61  void processMsg(LnaBiasMonitorMsg* msg);
62 
63  // Pointer to resources.
64  gcp::util::Labjack* labjack_;
65 
66  // connects:
67  void connect();
68  // disconnects:
69  bool disconnect();
70 
71  bool connected_;
72  int reConnectCounter_;
73  // is the response valid?
74  bool isValid_;
75 
76  // values from the previous reading
77  float prevDrainCurrentVals_[NUM_RECEIVER_AMPLIFIERS];
78  float prevDrainVoltageVals_[NUM_RECEIVER_AMPLIFIERS];
79  float prevGateVoltageVals_[NUM_RECEIVER_AMPLIFIERS];
80 
84  void sendVoltRequest();
85 
89  void requestAllVoltages();
90 
97  RegMapBlock* drainCurrent_;
98  RegMapBlock* drainVoltage_;
99  RegMapBlock* gateVoltage_;
100 
101  }; // End class LnaBiasMonitor
102  } // End namespace control
103  } // End namespace antenna
104 } // End namespace gcp
105 #endif // End #ifndef LNABIASMONITOR_H
Definition: GenericTaskMsg.h:31
LnaBiasMonitor()
Definition: biasmon_save.cc:15
virtual ~LnaBiasMonitor()
Definition: biasmon_save.cc:70
Definition: SpawnableTask.h:31
void connect()
Definition: biasmon_save.cc:79
bool disconnect()
Definition: biasmon_save.cc:185
RegMapBlock * drainCurrent_
Definition: biasmon_save.h:97
void sendVoltRequest()
Definition: biasmon_save.cc:231
void processMsg(LnaBiasMonitorMsg *msg)
Definition: biasmon_save.cc:197
Definition: Labjack.h:27
void requestAllVoltages()
Definition: biasmon_save.cc:118