10 #ifndef CARMA_DOWNCONVERTER_QUADRATUREMODULATOR_H
11 #define CARMA_DOWNCONVERTER_QUADRATUREMODULATOR_H
14 #include "carma/util/PthreadMutex.h"
24 class QuadModContainer;
25 class StateMonitorPointEnum;
29 namespace downconverter {
52 carma::monitor::QuadModContainer & quadModMon );
67 std::map<carma::canbus::msgType, std::string>
88 std::vector<carma::canbus::byteType> &data,
bool sim);
120 void walshTableColumnImminent(
unsigned short length,
123 void loadWalshTableColumn(
unsigned char segmentIndex,
124 std::vector<unsigned char> segment );
126 void setPoutPreset();
128 void setPout(
double pout);
130 void setPoutAtten(
unsigned short atten);
133 void enableQuadMod(
bool enable);
136 void enableModulationOnly(
bool enable );
138 void loadWalshSequence(
const WalshSequence & walshSequence );
141 bool checkIfOutPower(
double power,
double delta);
142 bool checkIfInPower(
double power,
double delta);
164 carma::monitor::StateMonitorPointEnum * state_;
165 carma::monitor::QuadMod *mon_;
166 carma::monitor::Xac *xacMon_;
std::map< carma::canbus::msgType, std::string > getHalfSecMonitors() const
Retrieve a map of this devices half second monitor points.
virtual ~QuadratureModulator()
Destructor.
Class to encapsulate a CAN message.
void updateFrameData()
Update data on a frame time scale This routine is called automatically by carma::canbus::Master every...
Quadrature modulator Device class implementation.
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Produce a simulated CAN message for a given msgType.
std::map< carma::canbus::msgType, std::string > getSlowMonitors() const
Retrieve a map of this devices slow monitor points.
XacDevice canbus::device class implementation.
unsigned short apiType
Carma API id type.
unsigned short nodeType
Carma Node Type id type.
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
static carma::canbus::apiType getApiId()
Staticly retrieve the API Id.
void processMsg(carma::canbus::msgType mid, std::vector< carma::canbus::byteType > &data, bool sim)
Process a CAN message addressed to this device.
QuadratureModulator(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::QuadModContainer &quadModMon)
Constructor Creates a Quadrature Modulator device with the given node id.
carma::canbus::devices::XacDevice class declaration.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
unsigned short msgType
Carma Message id type.