CARMA C++
EnvironmentalMonitor.h
Go to the documentation of this file.
1 
10 #ifndef CARMA_ANTENNA_OVRO_ENVIRONMENTALMONITOR_H
11 #define CARMA_ANTENNA_OVRO_ENVIRONMENTALMONITOR_H
12 
13 // Carma includes
15 #include "carma/canbus/Types.h"
16 #include "carma/monitor/OvroSubsystem.h"
17 #include "carma/util/PthreadMutex.h"
18 
19 namespace log4cpp {
20  class Category;
21 } // End namespace log4cpp
22 
23 namespace carma {
24 namespace antenna {
25 namespace ovro {
26 
31 public:
32 
41  carma::monitor::OvroSubsystem & mon);
42 
47 
56 
65 
77  bool sim );
78 
89 
93  void updateFrameData();
94 
95  // Public control commands
103  void enableCamera(bool on);
104 
113  void turnSidecabPowerOff();
114 
121  void enable24vPs(unsigned short supplyNo, bool on);
122 
123 protected:
124  // No protected members
125 private:
126 
127  // Disallow assignment and copy construction.
129  EnvironmentalMonitor &operator=(const EnvironmentalMonitor &);
130 
131  // Routines to process individual blanking frame CAN packets.
132  // These routines are called by processMsg.
133  void processBlankingFramePacket1( carma::canbus::DataVector & data );
134  void processBlankingFramePacket2( carma::canbus::DataVector & data );
135  void processBlankingFramePacket3( carma::canbus::DataVector & data );
136  void processBlankingFramePacket4( carma::canbus::DataVector & data );
137 
138  // Routines to produce individual simulated blanking frame CAN packets.
139  // These routines are called by simulateMsg.
140  carma::canbus::Message simBlankingFramePacket1();
141  carma::canbus::Message simBlankingFramePacket2();
142  carma::canbus::Message simBlankingFramePacket3();
143  carma::canbus::Message simBlankingFramePacket4();
144 
145  log4cpp::Category & log_;
146  carma::monitor::OvroSubsystem::EnvironmentalMonitor & mon_;
147  carma::monitor::OvroSubsystem::Track & trackMon_;
148  carma::monitor::AntennaCommon & comMon_;
149 
150 }; // End class EnvironmentalMonitor
151 }}} // End namespace carma::antenna::ovro
152 #endif
Declarations of carma::canbus types.
Class to encapsulate a CAN message.
Definition: Message.h:21
void turnSidecabPowerOff()
Turn sidecab power off!!! Yes this is a dangerous command and should only be used in an emergency...
carma::canbus::MsgBriefMap getHalfSecMonitors() const
Retrieve a map of this devices half second monitor points.
void enableCamera(bool on)
Enable or disable the optical pointing camera.
carma::canbus::MsgBriefMap getSlowMonitors() const
Return a map of this devices slow monitor points.
void enable24vPs(unsigned short supplyNo, bool on)
Enable or disable one of three 24 Volt power supplies.
XacDevice canbus::device class implementation.
Definition: XacDevice.h:37
unsigned short nodeType
Carma Node Type id type.
Definition: Types.h:66
EnvironmentalMonitor(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::OvroSubsystem &mon)
Constructor.
::std::map< ::carma::canbus::msgType,::std::string > MsgBriefMap
Alias for message descriptions keyed by message id.
Definition: Types.h:74
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
Definition: Types.h:72
void processMsg(carma::canbus::msgType mid, carma::canbus::DataVector &data, bool sim)
Process a CAN message addressed to the SecondaryMirror module.
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Produce a simulated CAN message for a given msgType.
carma::canbus::devices::XacDevice class declaration.
unsigned short msgType
Carma Message id type.
Definition: Types.h:69
CanOutput interface.
Definition: CanOutput.h:26
void updateFrameData()
Update Frame Data.
CAN Device class implementation for 10-m sidecab environmental monitor.