CARMA C++
LoControl.h
Go to the documentation of this file.
1 
11 #ifndef CARMA_DOWNCONVERTER_LOCONTROL_H
12 #define CARMA_DOWNCONVERTER_LOCONTROL_H
13 
15 
16 namespace log4cpp {
17  class Category;
18 } // End namespace log4cpp
19 
20 namespace carma {
21 
22  namespace monitor {
23  class LoControl;
24  class StateMonitorPointEnum;
25  class Xac;
26  }
27 
28  namespace downconverter {
29 
37  public:
38 
45  explicit LoControl(
47  carma::monitor::StateMonitorPointEnum & state,
48  carma::monitor::LoControl & mon,
49  carma::monitor::Xac & xacmon );
50 
54  ~LoControl( );
55 
61 
67 
74  bool sim );
75 
81 
86 
91  void updateFrameData( );
92 
99  void setLoFrequency( unsigned short bandNo,
100  double loFrequency ) const;
101 
102  protected:
103 
104  // Nothing is protected
105 
106  private:
107 
108  // Copy and assignment prohibited
109  LoControl( const LoControl & );
110  LoControl & operator=( const LoControl & );
111 
112  void processLoFreqAndStatMessage( carma::canbus::msgType mid,
113  carma::canbus::DataVector & data );
114  void processBlankingFramePacket9( carma::canbus::DataVector & data );
115  void processBlankingFramePacket10( carma::canbus::DataVector & data );
116 
117  carma::canbus::Message simLoFreqAndStatMessage(
119  carma::canbus::Message simBlankingFramePacket9( );
120  carma::canbus::Message simBlankingFramePacket10( );
121 
122  log4cpp::Category & log_;
123  carma::monitor::StateMonitorPointEnum & state_;
124  carma::monitor::LoControl & mon_;
125  carma::monitor::Xac & xacMon_;
126 
127  }; // End class LoControl
128  } // End namespace downconverter
129 } // End namespace carma
130 #endif
LoControl(carma::canbus::CanOutput &co, carma::monitor::StateMonitorPointEnum &state, carma::monitor::LoControl &mon, carma::monitor::Xac &xacmon)
Constructor.
static carma::canbus::apiType getApiId()
Retrieve API Id.
::std::map< ::carma::canbus::msgType,::std::string > MsgIdInfoMap
Alias for an ::std::map containing a string description of a message id, keyed by the described carma...
Definition: Device.h:30
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Produce a simulated CAN message for the given message id.
Class to encapsulate a CAN message.
Definition: Message.h:21
XacDevice canbus::device class implementation.
Definition: XacDevice.h:37
carma::canbus::MsgIdInfoMap getSlowMonitors() const
Retrieve a map of this devices slow monitor points.
unsigned short apiType
Carma API id type.
Definition: Types.h:64
carma::canbus::MsgIdInfoMap getHalfSecMonitors() const
Retrieve a map of this devices half second monitor points.
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
Definition: Types.h:72
carma::canbus::devices::XacDevice class declaration.
void processMsg(carma::canbus::msgType mid, carma::canbus::DataVector &data, bool sim)
Process a CAN message.
unsigned short msgType
Carma Message id type.
Definition: Types.h:69
void updateFrameData()
Update data on the half second (&quot;frame&quot;) timescale.
Spectral Line Downconverter LO Control module class.
Definition: LoControl.h:36
CanOutput interface.
Definition: CanOutput.h:26
void setLoFrequency(unsigned short bandNo, double loFrequency) const
Set LO Frequency for the specified band.