CARMA C++
AntennaIF.h
Go to the documentation of this file.
1 
11 #ifndef CARMA_ANTENNA_OVRO_ANTENNAIF_H
12 #define CARMA_ANTENNA_OVRO_ANTENNAIF_H
13 
15 #include "carma/canbus/Types.h"
16 #include "carma/util/PthreadMutex.h"
17 
18 #include <vector>
19 
20 namespace log4cpp {
21  // Forward declaration
22  class Category;
23 } // End namespace log4cpp
24 
25 namespace carma {
26 
27 namespace monitor {
28  class OvroSubsystem;
29 } // namespace monitor
30 
31 namespace antenna {
32 namespace ovro {
33 
37 typedef ::std::vector< float > IFTotalPowerVec;
38 
43 public:
44 
53  carma::monitor::OvroSubsystem & mon );
54 
58  ~AntennaIF();
59 
67 
72  void simTotalPower( unsigned int nsamps );
73 
74 protected:
75 
76 
77 private:
78 
79  // Disallow assignment and copy construction.
80  AntennaIF(const AntennaIF &);
81  AntennaIF &operator=(const AntennaIF &);
82 
83  void processTotalPowerResponse(carma::canbus::DataVector &data);
84  void processFastTotalPowerPacket(carma::canbus::DataVector & data);
85  void processSwitchStatusOnChange(carma::canbus::DataVector &data);
86  void processPAMStatusOnChange(carma::canbus::DataVector &data);
87 
88  IFTotalPowerVec totalPower;
89  mutable carma::util::PthreadMutex totalPowerMutex_;
90 
91 
92  void processFastChannel1Packet( carma::canbus::DataVector &data );
93  void processFastChannel2Packet( carma::canbus::DataVector &data );
94 };
95 }}} // End namespace carma::antenna::ovro
96 #endif
CAN Device implementation for Antenna IF Module.
Declarations of carma::canbus types.
Base Antenna IF CAN module device class.
Definition: AntennaIF.h:46
::std::vector< float > IFTotalPowerVec
IF Total Power vector in milliWatts.
Definition: AntennaIF.h:37
AntennaIF(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::OvroSubsystem &mon)
Constructor.
unsigned short nodeType
Carma Node Type id type.
Definition: Types.h:66
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
Definition: Types.h:72
Antenna IF CAN module device class.
Definition: AntennaIF.h:42
IFTotalPowerVec getIFTotalPower() const
Retrieve last valid IF total power readout.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
Definition: PthreadMutex.h:41
void simTotalPower(unsigned int nsamps)
Internally create simulated total power vector.
CanOutput interface.
Definition: CanOutput.h:26