CARMA C++
BlockDownconverter.h
Go to the documentation of this file.
1 
11 #ifndef CARMA_DOWNCONVERTER_BLOCKDOWNCONVERTER_H
12 #define CARMA_DOWNCONVERTER_BLOCKDOWNCONVERTER_H
13 
14 #include "carma/corba/corba.h"
16 #include "carma/downconverter/spectral/BlockDownconverterControl.h"
17 
18 namespace carma {
19 
20 namespace monitor {
21  class BlockDownconverter;
22  class SldcSubsystem;
23  class StateMonitorPointEnum;
24  class Xac;
25 } // namespace monitor
26 
27 namespace downconverter {
28 
33 public:
34 
42  carma::monitor::SldcSubsystem & subsys );
43 
47  virtual ~BlockDownconverter( );
48 
55 
62 
72  bool sim );
73 
80 
85  void updateFrameData( );
86 
96  CORBA::UShort bandNo ) const;
97 
103  void setBlock(
105  CORBA::UShort bandNo ) const;
106 
107 
113  void setPolarization(
115  CORBA::UShort bandNo ) const;
116 
120  void reset();
121 
122 protected:
123 
124  // Nothing
125 
126 private:
127 
128  BlockDownconverter( const BlockDownconverter & ); // No copy
129  BlockDownconverter & operator=( const BlockDownconverter & ); // No copy
130 
131  void processBlankingFramePacket1( ::carma::canbus::DataVector & data );
132  void processBlankingFramePacket2( ::carma::canbus::DataVector & data );
133  void processBlankingFramePacket3( ::carma::canbus::DataVector & data );
134  void processBlankingFramePacket4( ::carma::canbus::DataVector & data );
135  void processBlankingFramePacket5( ::carma::canbus::DataVector & data );
136  void processBlankingFramePacket6( ::carma::canbus::DataVector & data );
137 
138  ::carma::canbus::Message simBlankingFramePacket1( );
139  ::carma::canbus::Message simBlankingFramePacket2( );
140  ::carma::canbus::Message simBlankingFramePacket3( );
141  ::carma::canbus::Message simBlankingFramePacket4( );
142  ::carma::canbus::Message simBlankingFramePacket5( );
143  ::carma::canbus::Message simBlankingFramePacket6( );
144 
145  ::carma::monitor::StateMonitorPointEnum * state_;
146  ::carma::monitor::BlockDownconverter * devMon_;
147  ::carma::monitor::Xac * xacMon_;
148 
149 }; // Class BlockDownconverter
150 }} // namespace carma::downconverter
151 #endif
::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
Class to encapsulate a CAN message.
Definition: Message.h:21
void setBlockAndPolarization(carma::downconverter::BlockDownconverterControl::Block block, carma::downconverter::BlockDownconverterControl::Polarization polarization, CORBA::UShort bandNo) const
Set block and polarization for a single output.
BlockDownconverter(carma::canbus::nodeType node, carma::canbus::CanOutput &co, carma::monitor::SldcSubsystem &subsys)
Constructor.
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Produce a simulated CAN message for a given msgType.
carma::canbus::MsgIdInfoMap getSlowMonitors() const
Retrieve a map of this devices slow monitor points.
void setBlock(carma::downconverter::BlockDownconverterControl::Block block, CORBA::UShort bandNo) const
Set block for a single output.
XacDevice canbus::device class implementation.
Definition: XacDevice.h:37
void reset()
Reset the module via a software reset CAN message.
unsigned short nodeType
Carma Node Type id type.
Definition: Types.h:66
void processMsg(::carma::canbus::msgType mid,::carma::canbus::DataVector &data, bool sim)
Process a CAN message addressed to this module.
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
void updateFrameData()
Update Frame Data.
void setPolarization(carma::downconverter::BlockDownconverterControl::Polarization polarization, CORBA::UShort bandNo) const
Set polarization for single output.
virtual ~BlockDownconverter()
Destructor.
carma::canbus::devices::XacDevice class declaration.
unsigned short msgType
Carma Message id type.
Definition: Types.h:69
CAN device implementation for block downconverter (API #4).
CanOutput interface.
Definition: CanOutput.h:26