1 #ifndef CARMA_CORRELATOR_OBSRECORD2_DEFAULTCORRCONTROL_H
2 #define CARMA_CORRELATOR_OBSRECORD2_DEFAULTCORRCONTROL_H
8 #include "carma/corba/corba.h"
9 #include "carma/correlator/obsRecord2/CorDataBase.h"
11 #include "carma/util/PthreadMutex.h"
23 namespace correlator {
27 class CorrelatorConfigChecker;
32 namespace obsRecord2 {
55 const ::std::string & servedObjName,
56 void (*shutdownCallback)(
void * ),
57 void * shutdownCallbackArg );
69 CORBA::Long astroBandNo);
76 const FpgaModeSeq & fpgaMode,
107 CORBA::Long nStates90,
108 CORBA::Long nStates180,
109 CORBA::Boolean noiseEnabled);
122 CORBA::Boolean bdcEnabled );
151 CORBA::Boolean cache,
164 struct AccumDelaySamps;
167 INVALID_NOISE_SOURCE_STATE,
168 ON_NOISE_SOURCE_STATE,
169 OFF_NOISE_SOURCE_STATE
175 ::std::auto_ptr< CobraClient > cobraClient_;
177 NoiseSourceState requestedNoiseSourceState_;
178 ::std::auto_ptr< AccumDelaySamps > accumDelaySamps_;
void enableCorrelation(CORBA::Boolean enable)
Enables or disables correlations on COBRA boards.
virtual ~DefaultCorrControl()
Destructor.
void setWalshColumns(const carma::util::SeqLong &cols90, const carma::util::SeqLong &cols180, CORBA::Long nStates90, CORBA::Long nStates180, CORBA::Boolean noiseEnabled)
Sets correlator input Walsh column indices.
void setDownconverterSettings(CORBA::Double freq, carma::correlator::obsRecord2::SidebandType sb, CORBA::Boolean bdcEnabled)
Specifies the downconverter frequency and sideband in use for the band.
Class to receive phase switching tables which then triggers more processing.
void setNoiseSourceState(CORBA::Boolean isOn)
Updates the current status of the noise source.
void calibrateSpectra(CORBA::Boolean enable, CORBA::Boolean cache, CORBA::Long count, CORBA::Long seqNo)
Initiates the correlator hardware spectra calibration routine.
sequence< float > SeqFloat
Sequence of CORBA::Float.
Class responsible for handling all CORBA type functionality related to the correlator.
void setBandwidthVector(const BandWidthSeq &bandwidth, const FpgaModeSeq &fpgaMode, CORBA::Long seqNo, const carma::util::SeqLong &astroBandNo)
Vectorized version of setBandwidth command for CARMA3G correlator.
void setDownconverterSettingsVector(const carma::util::SeqFloat &freq)
Vectorized version of setDownconverterSettings command for CARMA3G correlator.
void optimizeThresholds(CORBA::Long seqNo)
Optimize CARMA digitizer thresholds.
sequence< long > SeqLong
Sequence of CORBA::Long.
void startControlServer(carma::corba::Server &server, const ::std::string &servedObjName, void(*shutdownCallback)(void *), void *shutdownCallbackArg)
Start the control server (doesn't block).
SidebandType
Downconverter sideband choice.
void flattenPhases(CORBA::Long seqNo)
Initiates the correlator hardware phase flattening routine.
BandWidthType
Supported spectral correlator bandwidths.
DefaultCorrControl(int controlPort)
Constructor.
void setInputDelayTriplets(const DelayTripletSeq &tripletSeq)
Set Input Delay coefficients.
Class for creating, managing and serving requests to CORBA servants.
void setBandwidth(obsRecord2::BandWidthType bandwidth, obsRecord2::FpgaModeType fpgaMode, CORBA::Long seqNo, CORBA::Long astroBandNo)
Sets the spectral bandwidth mode for the band.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
FpgaModeType
Astroband mode – The correlator FPGA configuration/polarization mode.
Phaseswitching corba server DO implementation.