CARMA C++
Thermal.h
1 #ifndef SZA_ANTENNA_CANBUS_THERMAL_H
2 #define SZA_ANTENNA_CANBUS_THERMAL_H
3 
12 #include "carma/szautil/Thermal.h"
13 
14 namespace sza {
15  namespace antenna {
16  namespace canbus {
17 
18  class Thermal : public CanDevice {
19  public:
20 
24  Thermal(sza::antenna::control::SzaShare* share,
25  std::string boardName,
28 
32  virtual ~Thermal();
33 
37  std::vector<carma::canbus::Message>
38  setTemperature(sza::util::Thermal::Target target, float celsius, bool send=true);
39 
43  std::vector<carma::canbus::Message>
44  setMode(sza::util::Thermal::Target target,
45  sza::util::Thermal::BoxMode mode, bool send=true);
46 
50  std::vector<carma::canbus::Message>
51  setLoopGain(sza::util::Thermal::Target target, float gain, bool send=true);
52 
56  std::vector<carma::canbus::Message>
57  setIntegrationConstant(sza::util::Thermal::Target target, float constant, bool send=true);
58 
62  std::vector<carma::canbus::Message>
63  setLoopBandWidth(sza::util::Thermal::Target target, float bw, bool send=true);
64 
68  std::vector<carma::canbus::Message>
69  setRateConstant(sza::util::Thermal::Target target, float rate, bool send=true);
70 
74  std::vector<carma::canbus::Message>
75  setVoltageOffset(float voltageOffset, bool send=true);
76 
80  std::vector<carma::canbus::Message>
81  setEboxEqState(bool eqStateOn, bool send=true);
82 
86  std::vector<carma::canbus::Message>
87  setEboxIntError(float value, bool send=true);
88 
92  std::vector<carma::canbus::Message>
93  setCirculationFanPropConst(float rate, bool send=true);
94 
95  private:
96 
97  //------------------------------------------------------------
98  // Blanking-frame (half-second) monitor members.
99  //------------------------------------------------------------
100 
105  enum halfSecMonitors {
106  MONITOR_PACKET_1 = 0x0E0,
107  MONITOR_PACKET_2 = 0x0E1,
108  MONITOR_PACKET_3 = 0x0E2,
109  MONITOR_PACKET_4 = 0x0E3,
110  MONITOR_PACKET_5 = 0x0E4,
111  MONITOR_PACKET_6 = 0x0E5,
112  MONITOR_PACKET_7 = 0x0E6,
113  MONITOR_PACKET_8 = 0x0E7,
114  };
115 
119  std::map<carma::canbus::msgType, std::string>
120  getHalfSecMonitors() const;
121 
122  // Methods to deal with monitor packets for this device.
123 
124  void processBlankingFrameMonitor1(std::vector<carma::canbus::byteType>& data, bool isSim);
125  void processBlankingFrameMonitor2(std::vector<carma::canbus::byteType>& data, bool isSim);
126  void processBlankingFrameMonitor3(std::vector<carma::canbus::byteType>& data, bool isSim);
127  void processBlankingFrameMonitor4(std::vector<carma::canbus::byteType>& data, bool isSim);
128  void processBlankingFrameMonitor5(std::vector<carma::canbus::byteType>& data, bool isSim);
129  void processBlankingFrameMonitor6(std::vector<carma::canbus::byteType>& data, bool isSim);
130  void processBlankingFrameMonitor7(std::vector<carma::canbus::byteType>& data, bool isSim);
131  void processBlankingFrameMonitor8(std::vector<carma::canbus::byteType>& data, bool isSim);
132 
133  //------------------------------------------------------------
134  // Commands for this device.
135  //------------------------------------------------------------
136 
140  enum engineeringCommand
141  {
142  ENGCMD_SET_RBOX_TEMP = 0x080,
143 
144  ENGCMD_SET_RBOX_MODE = 0x081,
145  ENGCMD_SET_RBOX_LOOP_GAIN = 0x082,
146  ENGCMD_SET_RBOX_INTEG_CONST = 0x083,
147  ENGCMD_SET_RBOX_LOOP_BW = 0x084,
148  ENGCMD_SET_RBOX_RATE_CONST = 0x085,
149 
150  ENGCMD_SET_EBOX_TEMP = 0x086,
151 
152  ENGCMD_SET_EBOX_MODE = 0x087,
153  ENGCMD_SET_EBOX_LOOP_GAIN = 0x088,
154  ENGCMD_SET_EBOX_INTEG_CONST = 0x089,
155  ENGCMD_SET_EBOX_LOOP_BW = 0x08A,
156  ENGCMD_SET_EBOX_RATE_CONST = 0x08B,
157  ENGCMD_SET_CIRC_PROP_CONST = 0x08C,
158  ENGCMD_SET_VOLTAGE_OFFSET = 0x08D,
159  ENGCMD_SET_EBOX_EQ_STATE = 0x08E,
160  ENGCMD_SET_EBOX_INT_ERROR = 0x08F
161  };
162 
163  }; // End class Thermal
164 
165  } // End namespace canbus
166  } // End namespace antenna
167 } // End namespace sza
168 
169 
170 
171 #endif // End #ifndef SZA_ANTENNA_CANBUS_THERMAL_H
Started: Fri Nov 21 15:46:44 UTC 2003.
unsigned short nodeType
Carma Node Type id type.
Definition: Types.h:66
CanOutput interface.
Definition: CanOutput.h:26
An instance of this class is created by AntennaMaster and passed to the constructors of other tasks...
Definition: Share.h:38