CARMA C++
CryoCompressor.h
Go to the documentation of this file.
1 
11 #ifndef CARMA_ANTENNA_OVRO_CRYOCOMPRESSOR_H
12 #define CARMA_ANTENNA_OVRO_CRYOCOMPRESSOR_H
13 
14 // Carma includes
16 #include "carma/canbus/Types.h"
17 #include "carma/monitor/OvroSubsystem.h"
18 
19 namespace log4cpp {
20  // Forward dec
21  class Category;
22 } // End namespace log4cpp
23 
24 namespace carma {
25 namespace antenna {
26 namespace ovro {
27 
37 public:
38 
46  carma::monitor::OvroSubsystem & ovroSubsys );
47 
52 
58  std::map<carma::canbus::msgType, std::string> getControls() const;
59 
67  std::map<carma::canbus::msgType, std::string> getHalfSecMonitors() const;
68 
76  std::map<carma::canbus::msgType, std::string> getSlowMonitors() const;
77 
88  std::vector<carma::canbus::byteType> &data,
89  bool sim);
90 
101 
105  void updateFrameData();
106 
107  // Public control commands
108 
113  void enableCompressor(bool on);
114 
118  void resetCompressor();
119 
125  void fillCompressor();
126 
132  void purgeCompressor();
133 
139  void enableTemperatureServo(bool on);
140 
148  void setInletLouver(float volts);
149 
157  void setOutletLouver(float volts);
158 
159 private:
160 
161 
162  // Disallow assignment and copy construction.
164  CryoCompressor &operator=(const CryoCompressor &);
165 
166  // Routines to process individual blanking frame CAN packets.
167  // These routines are called by processMsg.
168  void processBlankingFramePacket1( carma::canbus::DataVector &data );
169  void processBlankingFramePacket2( carma::canbus::DataVector &data );
170  void processBlankingFramePacket3( carma::canbus::DataVector &data );
171  void processBlankingFramePacket4( carma::canbus::DataVector &data );
172  void processBlankingFramePacket5( carma::canbus::DataVector &data );
173  void processBlankingFramePacket6( carma::canbus::DataVector &data );
174 
175  // Routines to produce individual simulated blanking frame
176  // CAN packets. These routines are called by simulateMsg.
177  carma::canbus::Message simBlankingFramePacket1();
178  carma::canbus::Message simBlankingFramePacket2();
179  carma::canbus::Message simBlankingFramePacket3();
180  carma::canbus::Message simBlankingFramePacket4();
181  carma::canbus::Message simBlankingFramePacket5();
182  carma::canbus::Message simBlankingFramePacket6();
183 
184  // Member variables
185 
186  log4cpp::Category &log_; // Reference to the system logger
187  carma::monitor::OvroSubsystem::Compressor & mon_;
188 
189 }; // End class CryoCompressor
190 }}} // End namespace carma::antenna::ovro
191 #endif
void fillCompressor()
Fill the helium compressor.
void resetCompressor()
Reset the helium compressor.
Declarations of carma::canbus types.
Class to encapsulate a CAN message.
Definition: Message.h:21
Cryo Compressor device class.
std::map< carma::canbus::msgType, std::string > getHalfSecMonitors() const
Retrieve a map of this devices half second monitor points.
XacDevice canbus::device class implementation.
Definition: XacDevice.h:37
void enableCompressor(bool on)
Turn helium compressor on or off.
void updateFrameData()
Update Frame Data.
std::map< carma::canbus::msgType, std::string > getSlowMonitors() const
Return a map of this devices slow monitor points.
void enableTemperatureServo(bool on)
Turn temperature servo on or off.
unsigned short nodeType
Carma Node Type id type.
Definition: Types.h:66
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Produce a simulated CAN message for a given msgType.
void setOutletLouver(float volts)
Set outlet louver position.
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
Definition: Types.h:72
void processMsg(carma::canbus::msgType mid, std::vector< carma::canbus::byteType > &data, bool sim)
Process a CAN message addressed to the CryoCompressor module.
carma::canbus::devices::XacDevice class declaration.
void purgeCompressor()
Purge the helium compressor.
std::map< carma::canbus::msgType, std::string > getControls() const
Retrieve a map of this devices controls.
unsigned short msgType
Carma Message id type.
Definition: Types.h:69
CryoCompressor(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::OvroSubsystem &ovroSubsys)
Constructor.
CanOutput interface.
Definition: CanOutput.h:26
void setInletLouver(float volts)
Set inlet louver position.