My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
DlpUsbThermal.h
1 #ifndef GCP_UTIL_DLPUSBTHERMAL_H
2 #define GCP_UTIL_DLPUSBTHERMAL_H
3 
13 #include "gcp/util/common/CondVar.h"
14 #include "gcp/util/common/SerialClient.h"
15 #include "gcp/util/common/SpawnableTask.h"
16 #include "gcp/util/common/GenericTaskMsg.h"
17 #include "gcp/util/common/TimeOut.h"
18 
19 #include "gcp/util/common/DlpUsbThermalMsg.h"
20 
21 #include <sstream>
22 
23 namespace gcp {
24  namespace util {
25 
26  class DlpUsbThermal {
27  public:
28 
32  DlpUsbThermal(); //done
33 
37  ~DlpUsbThermal(); //done
38 
39 
45  bool connect(); //done
46 
50  void disconnect(); //done
51 
55  bool isConnected(); //done
56 
60  int writeString(std::string message); //done
61 
66 
70  void sendCommand(DlpUsbThermalMsg& msg); // done
71 
76  DlpUsbThermalMsg issueCommand(DlpUsbThermalMsg::Request req, int input, bool withQ); //done
77 
81  void setupDefault();
82  void setOutputType(int outType=1); // 0 for binary, all else Ascii
83  void setOutputUnits(int unitType=1); // 0 for F, all else C.
84  float queryTemperature(int channel); // channels 1 through 8
85  float queryVoltage(int channel); // channels 1 through 8
86  std::vector<float> queryAllTemps();
87  std::vector<float> queryAllVoltages();
88 
89  private:
90 
94  int fd_;
95 
99  gcp::util::FdSet fdSet_;
100 
104  bool connected_;
105 
106  public:
110  int readPort(DlpUsbThermalMsg& msg); //done
111  int readPort(DlpUsbThermalMsg& msg, bool withQ); //done
112 
113  private:
117  void waitForResponse(); //done
118 
122  void parseResponse(DlpUsbThermalMsg& msg); //done
123  void parseResponse(DlpUsbThermalMsg& msg, bool withQ); //done
124 
128  struct termios termioSave_;
129 
130  void print_bits(unsigned char feature);
131 
132 
133  }; //End class DlpUsbThermal
134 
135  }; //End namespace util
136 }; // End namesapce gcp
137 
138 #endif // End #ifndef
139 
bool isConnected()
Definition: DlpUsbThermal.cc:177
Definition: DlpUsbThermal.h:26
void disconnect()
Definition: DlpUsbThermal.cc:156
bool connect()
Definition: DlpUsbThermal.cc:53
int writeString(std::string message)
Definition: DlpUsbThermal.cc:186
Request
Definition: DlpUsbThermalMsg.h:34
void sendCommand(DlpUsbThermalMsg &msg)
DlpUsbThermalMsg issueCommand(DlpUsbThermalMsg::Request req, int input)
Definition: FdSet.h:16
DlpUsbThermal()
Definition: DlpUsbThermal.cc:35
DlpUsbThermalMsg packCommand(DlpUsbThermalMsg::Request req, int input)
int readPort(DlpUsbThermalMsg &msg)
Definition: DlpUsbThermal.cc:207
~DlpUsbThermal()
Definition: DlpUsbThermal.cc:44
Definition: DlpUsbThermalMsg.h:27