1 #ifndef CARMA_CONTROL_SIGNALPATHMAPPERHANDLE_H
2 #define CARMA_CONTROL_SIGNALPATHMAPPERHANDLE_H
12 #include "carma/control/CorrDefs.h"
14 #include "carma/control/CorrelatorInfo.h"
15 #include "carma/monitor/ControlSubsystem.h"
17 #include "carma/signalpath/SignalPathMapperControl.h"
18 #include "carma/switchyard/SwitchyardControl.h"
19 #include "carma/util/SeqTypedefs.h"
20 #include "carma/util/corrUtils.h"
34 RemoteObjHandleT< carma::signalpath::SignalPathMapperControl>
35 SignalPathMapperRemoteObjHandle;
57 carma::monitor::ControlSubsystemBase::Reachable & reachable );
83 const ::std::string & confName,
84 const ::std::string & astroBandConfName );
99 const ::std::string & confName,
100 unsigned short subarrayNo,
101 ControlCorrelatorDesignation type);
103 void checkConfigurationValidity(
unsigned short bandNo,
104 const ::std::string & confName,
105 unsigned short subarrayNo,
106 ControlCorrelatorDesignation type);
108 void checkConfigurationSuccess(
unsigned short bandNo);
115 std::vector<carma::signalpath::SignalPathMapperControl::Antenna>
123 std::vector<carma::signalpath::SignalPathMapperControl::BlockDownconverterSetting>
131 ::std::vector<carma::signalpath::SignalPathMapperControl::CorrelatorBandInput>
139 ::std::vector<carma::signalpath::SignalPathMapperControl::AstroBand>
151 ::std::vector<carma::signalpath::SignalPathMapperControl::AstroBand>
153 unsigned short subarrayNo,
154 ControlCorrelatorDesignation type);
161 ::std::vector<carma::signalpath::SignalPathMapperControl::CorrelatorBand>
168 ::std::vector<carma::signalpath::SignalPathMapperControl::CorrelatorBand>
185 ::std::vector<short> getActiveAstroBandNoVec( ControlCorrelatorDesignation type );
194 std::vector<carma::switchyard::SwitchPosition>
197 std::vector<carma::switchyard::SwitchPosition>
198 getDCLOSwitchSettings(
unsigned short astroBandNo);
200 std::vector<carma::switchyard::SwitchPosition>
201 getLOSwitchSettings(
unsigned short astroBandNo);
203 std::vector<carma::switchyard::SwitchPosition>
204 getLLSwitchSettings(
unsigned short astroBandNo);
228 unsigned short subarrayNo,
229 ControlCorrelatorDesignation type);
256 ::std::vector<carma::signalpath::SignalPathMapperControl::WalshColumnAssignment>
267 void addAntenna(
unsigned short antNo,
unsigned short subarrayNo);
268 void removeAntenna(
unsigned short antNo,
unsigned short subarrayNo);
270 void addCorrelator(ControlCorrelatorDesignation type,
unsigned short subarrayNo);
272 void removeCorrelator(ControlCorrelatorDesignation type,
unsigned short subarrayNo);
278 bool isValidAstroBand(
unsigned astroBandNo, ControlCorrelatorDesignation type);
284 ::std::string
getConfname(
unsigned short astroBandNo );
293 ControlCorrelatorDesignation type );
310 if ( type == carma::util::CORR_NONE )
return 0;
312 return getActiveCorrelatorBands( type ).size();
void configureAstroBand(unsigned short bandNo, const ::std::string &confName, unsigned short subarrayNo, ControlCorrelatorDesignation type)
Configure an astro band.
void initializeCableMap(const ::std::string &fileName)
Initialize a cable map, specifying switchyard hardware connections.
::std::vector< carma::signalpath::SignalPathMapperControl::AstroBand > getActiveAstroBands(ControlCorrelatorDesignation type)
Query active astro bands managed by this correlator.
sequence< short > SeqShort
Sequence of CORBA::Short.
void clearWalshColumnAssignment(unsigned short antNo)
Clear a walsh column assignment.
CorrelatorFpgaModeType
FPGA configuration modes.
Manages control's reference to SignalPathMapper DO.
void loadConfiguration(const ::std::string &fileName, const ::std::string &confName, const ::std::string &astroBandConfName)
Load a new configuration from a file.
void assignWalshColumn(carma::signalpath::SignalPathMapperControl::WalshColumnAssignment wca)
Set a walsh column explicitly for an antenna.
void addAntenna(unsigned short antNo, unsigned short subarrayNo)
Methods to add/remove an antenna from a subarray.
bool isValidAstroBand(unsigned astroBandNo, ControlCorrelatorDesignation type)
void clearAstroBandConfiguration(unsigned short bandNo, unsigned short subarrayNo, ControlCorrelatorDesignation type)
Clear an astro band configuration.
ControlCorrelatorDesignation getCorrTypeForAstroBand(unsigned short astroBandNo)
Query the correlator type for a given astroband.
unsigned int getNumActiveAstroBands(ControlCorrelatorDesignation type)
carma::util::SeqShort * getActiveAstroBandNoSeq(ControlCorrelatorDesignation type)
Struct for assignment of walsh columns to antennas.
::std::vector< carma::signalpath::SignalPathMapperControl::CorrelatorBand > getActiveCorrelatorBands(ControlCorrelatorDesignation type)
Query active correlator bands managed by this correlator.
std::vector< carma::signalpath::SignalPathMapperControl::BlockDownconverterSetting > getBdcSettings(unsigned short astroBandNo)
Query block downconverter settings.
Manages connection to remote DO.
std::vector< carma::switchyard::SwitchPosition > getIFSwitchSettings(unsigned short astroBandNo)
Query switch settings.
unsigned int getNumActiveCorrelatorBands(ControlCorrelatorDesignation type)
struct to encapsulate a single correlator band (SLCOR[1-8], WBCOR[1-16])
::std::vector< carma::signalpath::SignalPathMapperControl::CorrelatorBand > getCorrelatorBands(unsigned astroBandNo)
Query active correlator bands in this AstroBand.
::std::string getConfname(unsigned short astroBandNo)
Typed class for managing connections to DOs.
Monitor system base class.
::std::vector< carma::signalpath::SignalPathMapperControl::CorrelatorBandInput > getCorrelatorBandInputMap(const carma::signalpath::SignalPathMapperControl::CorrelatorBand &band)
Query correlator band input mapping.
::std::vector< carma::signalpath::SignalPathMapperControl::AstroBand > getAstroBandsForConfiguration(const ::std::string &confName, unsigned short subarrayNo, ControlCorrelatorDesignation type)
Query astro bands for which a mapping is specified by the requested configuration.
::std::string queryConfiguration()
carma::util::SeqShort * getCorrelatorBandNoSeq(unsigned astroBandNo)
int getAstroBandForCorrelatorBand(unsigned short corrBandNo, ControlCorrelatorDesignation type)
std::vector< carma::signalpath::SignalPathMapperControl::Antenna > getAntennas(unsigned short astroBandNo)
Query antennas.
::std::vector< carma::signalpath::SignalPathMapperControl::WalshColumnAssignment > getWalshColumnAssignment(unsigned short antNo)
Query walsh function assignments.
SignalPathMapperHandle(carma::monitor::MonitorSystem &monitorSystem, carma::monitor::ControlSubsystemBase::Reachable &reachable)
Constructor.