9 #ifndef CARMA_DOWNCONVERTER_WBDCMASTER_H
10 #define CARMA_DOWNCONVERTER_WBDCMASTER_H
13 #include "carma/downconverter/common/DownconverterControl.h"
14 #include "carma/downconverter/common/QuadModControl.h"
15 #include "carma/downconverter/common/LoMonitorControl.h"
16 #include "carma/downconverter/common/NoiseSourceControl.h"
17 #include "carma/downconverter/common/SldcLoControl.h"
18 #include "carma/downconverter/spectral/BlockDownconverterControl.h"
19 #include "carma/downconverter/spectral/SpectralDownconverterControl.h"
23 #include <tao/Basic_Types.h>
62 namespace downconverter {
67 class QuadratureModulator;
99 carma::monitor::WbdcSubsystem & mon );
112 int modulBusNo,
int slotNo,
113 carma::monitor::WbdcSubsystem & mon );
126 carma::monitor::WbdcSubsystem & mon );
162 carma::downconverter::DownconverterControl_ptr GlobalDownconverter();
163 carma::downconverter::DownconverterControl_ptr
Downconverter(
164 short input,
short band);
165 carma::downconverter::SpectralDownconverterControl_ptr
167 carma::downconverter::QuadModControl_ptr GlobalQuadMod();
168 carma::downconverter::QuadModControl_ptr QuadMod(
short input);
169 carma::downconverter::NoiseSourceControl_ptr GlobalNoiseSource();
170 carma::downconverter::NoiseSourceControl_ptr
NoiseSource();
171 carma::downconverter::LoMonitorControl_ptr GlobalLoMonitor();
172 carma::downconverter::LoMonitorControl_ptr
LoMonitor();
173 carma::downconverter::SldcLoControl_ptr
LoControl();
174 carma::downconverter::BlockDownconverterControl_ptr
176 carma::downconverter::BlockDownconverterControl_ptr
177 GlobalBlockDownconverter( );
179 void selectSidebandFrequency(
181 CORBA::Double lofreq,
182 CORBA::UShort bandNo);
185 CORBA::UShort bandNo );
186 void setPsysPreset( CORBA::UShort inputNo, CORBA::UShort bandNo );
187 void setPsys( CORBA::Float psys,
188 CORBA::UShort inputNo,
189 CORBA::UShort bandNo );
206 void removeDevices();
211 static void *runThreadEntry(
void *arg);
221 pthread_t runThreadId_;
228 DcByNodeMap downconverters_;
233 typedef std::pair< short, short > InputBandNoPair;
234 typedef std::map< InputBandNoPair,
235 carma::downconverter::DownconverterControl_ptr >
236 DownconverterControlsMap;
237 typedef std::map< short,
238 carma::downconverter::QuadModControl_ptr >
241 carma::downconverter::DownconverterControl_ptr globalDcControl_;
242 carma::downconverter::QuadModControl_ptr globalQmControl_;
243 carma::downconverter::LoMonitorControl_ptr globalLoMonControl_;
245 DownconverterControlsMap dcControls_;
246 QuadModControlsMap qmControls_;
247 carma::downconverter::NoiseSourceControl_ptr nsControl_;
248 carma::downconverter::LoMonitorControl_ptr loMonControl_;
251 carma::monitor::WbdcSubsystem & mon_;
254 const std::string hostname_;
257 pthread_mutex_t doneMutex_;
Noise Source Device Class.
LoMonitor Device class implementation.
WbdcMaster(carma::corba::Server &server, carma::monitor::WbdcSubsystem &mon)
Default constructor for emulation.
FilterType
Valid output bandwidth filter types.
Declaration of carma::canbus::Master class.
Quadrature modulator Device class implementation.
virtual ~WbdcMaster()
Destructor.
unsigned short nodeType
Carma Node Type id type.
Carma Canbus Master class.
SpectralDownconverter CAN Device class implementation.
Downconverter Device class implementation.
SidebandType
Sideband type.
Class for creating, managing and serving requests to CORBA servants.
void updateStatus()
Update the status of the Cwdc CAN Master.
Spectral Line Downconverter LO Control module class.
CAN device implementation for block downconverter (API #4).
bool isDone()
Query to see if the System::quit() method has been invoked.
Carma Wideband Downconverter CAN Master class.