CARMA C++
SignalPathMapperControl.idl
1 
6 #ifndef CARMA_SIGNALPATH_SIGNALPATHMAPPER_IDL
7 #define CARMA_SIGNALPATH_SIGNALPATHMAPPER_IDL
8 
10 
11 // Include for CORBA sequence typedefs
12 #include "carma/util/SeqTypedefs.idl"
13 
14 // Include for carma::downconverter::Polarization
15 
17 
18 // Include for CorrelatorType
20 
21 // Include for SwitchPosition
22 
23 #include "carma/switchyard/SwitchyardControl.idl"
24 
25 // Include for polarization state
26 
27 #include "carma/antenna/common/PolarizationControl.idl"
28 
29 module carma {
30  module signalpath {
31 
32  // Names under which this interface will be published
33 
34  const string SIGNALPATHMAPPERCONTROL_NAME = "carma.signalpathmapper";
35 
36  interface SignalPathMapperControl {
37 
41  enum SwitchyardConfiguration {
42  LL,
43  RR,
44  CARMA23,
45  FULLSTOKES,
46  DUALPOL,
47  MAXSENS_DUALPOL,
48  MAXSENS_CARMA23_LOWRES,
49  MAXSENS_CARMA23_MEDRES,
50  MAXSENS_CARMA23_HIGHRES,
51  MAXSENS_LL,
52  CMTEST,
53  LL_INTERIM
54  };
55 
59  enum PolarizationType {
60  POL_NONE,
61  POL_LEFT,
62  POL_RIGHT
63  };
64 
65  typedef sequence<PolarizationType> PolarizationSeq;
66 
67  enum AntennaType {
68  ANT_NONE,
69  ANT_SZA,
70  ANT_BIMA,
71  ANT_OVRO
72  };
73 
77  struct Antenna {
78  unsigned short antNo; // The antenna number corresponding to this input
79  AntennaType type; // The type of this antenna
80  unsigned short walshColNo; // Walsh column number (1-32)
81  unsigned short subarrayNo; // The current subarray controlling this antenna
82  };
83 
84  typedef sequence<Antenna> AntennaSeq;
85 
89  struct AntennaIF {
90  unsigned short antNo; // The antenna number corresponding to this input
91  PolarizationType polType; // The polarization type of this antenna IF
92  };
93 
97  struct AstroBand {
98  unsigned short astroBandNo; // The astro band number
99  };
100 
101  typedef sequence<AstroBand> AstroBandSeq;
102 
106  struct AstroBandInput {
107  AstroBand aBand; // The astro band corresponding to this input
108  unsigned short inputNo; // The astro band input number
109  };
110 
111  typedef sequence<AstroBandInput> AstroBandInputSeq;
112 
117  carma::util::CorrelatorType type; // The type of this correlator
118  unsigned short crateNo; // The crate number (e.g., the 1 of SLCOR1)
119  };
120 
121  typedef sequence<CorrelatorCrate> CorrelatorCrateSeq;
122 
126  struct CorrelatorBand {
127  CorrelatorCrate crate; // The crate associated with this band
128  unsigned short bandNo; // The band number (e.g., the 16 of WBCOR16)
129  };
130 
131  typedef sequence<CorrelatorBand> CorrelatorBandSeq;
132 
137  CorrelatorCrate crate; // The crate corresponding to this input
138  unsigned short inputNo; // The input number
139  AntennaIF antIF; // The antenna IF corresponding to this input
140  };
141 
142  typedef sequence<CorrelatorCrateInput> CorrelatorCrateInputSeq;
143 
148  CorrelatorBand band; // The band corresponding to this input
149  unsigned short inputNo; // The input number
150  AntennaIF antIF; // The antenna IF corresponding to this input
151  AstroBandInput aBandInput; // The astroband input associated with this correlator band input
152  };
153 
154  typedef sequence<CorrelatorBandInput> CorrelatorBandInputSeq;
155 
160  unsigned short antNo; // Antenna number (1-23)
161  unsigned short walshColNo; // Walsh column number (1-32)
162  };
163 
164  typedef sequence<WalshColumnAssignment> WalshColumnAssignmentSeq;
165 
170  unsigned short bdcNo; // Block downconverter number (1-15)
171  unsigned short bandNo; // Block downconverter band number (1-8)
172  carma::downconverter::BlockDownconverterControl::Polarization bdcInputType; // Input selector for this band
173  };
174 
175  typedef sequence<BlockDownconverterSetting> BlockDownconverterSettingSeq;
176 
185  void initializeCableMap(in string fileName)
187 
198  void loadConfiguration(in string fileName, in string confName, in string astroBandConfName)
200 
207  void addAntenna(in unsigned short antNo, in unsigned short subarrayNo)
209 
210  void removeAntenna(in unsigned short antNo, in unsigned short subarrayNo)
212 
219  void addCorrelator(in carma::util::CorrelatorType type, in unsigned short subarrayNo)
221 
222  void removeCorrelator(in carma::util::CorrelatorType type, in unsigned short subarrayNo)
224 
225 
240  void configureAstroBand(in unsigned short astroBandNo,
241  in string confName,
242  in unsigned short subarrayNo,
243  in carma::util::CorrelatorType type)
248  void checkConfigurationValidity(in unsigned short astroBandNo,
249  in string confName,
250  in unsigned short subarrayNo,
251  in carma::util::CorrelatorType type)
253 
257  boolean configurationIsValid(in unsigned short astroBandNo,
258  in string confName,
259  in unsigned short subarrayNo,
260  in carma::util::CorrelatorType type)
262 
272  void clearAstroBandConfiguration(in unsigned short bandNo,
273  in unsigned short subarrayNo, in carma::util::CorrelatorType type)
275 
284  void assignWalshColumn(in SignalPathMapperControl::WalshColumnAssignment wca)
286 
294  void clearWalshColumnAssignment(in unsigned short antNo)
296 
300  carma::switchyard::SwitchPositionSeq getIFSwitchSettings(in unsigned short astroBandNo)
302 
306  carma::switchyard::SwitchPositionSeq getDCLOSwitchSettings(in unsigned short astroBandNo)
308 
312  carma::switchyard::SwitchPositionSeq getLOSwitchSettings(in unsigned short astroBandNo)
314 
318  carma::switchyard::SwitchPositionSeq getLLSwitchSettings(in unsigned short astroBandNo)
320 
326  AntennaSeq getAntennas(in unsigned short astroBandNo)
328 
334  PolarizationSeq getPolarizations(in unsigned short astroBandNo)
336 
343  BlockDownconverterSettingSeq getBdcSettings(in unsigned short astroBandNo)
345 
351  carma::util::CorrelatorFpgaModeType getFpgaMode(in unsigned short astroBandNo)
353 
359  WalshColumnAssignmentSeq getWalshColumnAssignment(in unsigned short antNo)
361 
367  CorrelatorBandSeq getActiveCorrelatorBands(in carma::util::CorrelatorType type)
369 
375  AstroBandSeq getActiveAstroBands(in carma::util::CorrelatorType type)
377 
385  AstroBandSeq getAstroBandsForConfiguration(in string confName, in unsigned short subarrayNo, in carma::util::CorrelatorType type)
387 
393  CorrelatorBandSeq getCorrelatorBands(in unsigned short astroBandNo)
395 
401  carma::util::SeqShort getCorrelatorBandNoSeq(in unsigned short astroBandNo)
403 
410  carma::util::SeqShort getActiveAstroBandNoSeq(in carma::util::CorrelatorType type)
412 
413 
419  CorrelatorBandInputSeq getCorrelatorBandInputMap(in SignalPathMapperControl::CorrelatorBand band)
421 
427  CorrelatorCrateSeq getActiveCorrelatorCrates(in carma::util::CorrelatorType type)
429 
435  CorrelatorCrateInputSeq getCorrelatorCrateInputMap(in SignalPathMapperControl::CorrelatorCrate crate)
437 
446  boolean canAssertSwitchPosition(in carma::switchyard::SwitchPosition pos)
448 
452  string queryConfiguration()
453  raises (carma::util::UserException);
454 
460  void checkConfigurationSuccess(in unsigned short astroBandNo)
461  raises (carma::util::UserException);
462 
467  string getConfName(in unsigned short astroBandNo )
468  raises (carma::util::UserException);
469 
476  short getAstroBandForCorrelatorBand(in unsigned short corrBandNo, in carma::util::CorrelatorType type )
477  raises (carma::util::UserException);
478 
484  carma::util::CorrelatorType getCorrTypeForAstroBand(in unsigned short astroBandNo )
485  raises (carma::util::UserException);
486 
487  }; // interface SignalPathMapperControl
488 
489  }; // module signalpath
490 
491 }; // module carma
492 
493 #endif
struct to encapsulate a single correlator crate (SLCOR[1-8], WBCOR[1-8])
struct to encapsulate a single correlator band input
dual-polarization, LL and RR
sequence< short > SeqShort
Sequence of CORBA::Short.
Definition: SeqTypedefs.idl:10
Correlator type enumeration.
struct to encapsulate a single correlator crate input
CorrelatorFpgaModeType
FPGA configuration modes.
struct to encapsulate a single astro band input
Generic Carma variant of CORBA::UserException.
Carma Block Downconverter control interface definition.
Struct for assignment of walsh columns to antennas.
CorrelatorType
Enum to encapsulate a correlator type. These.
Definition: SignalPathMap.h:76
AntennaType
Enumeration of possible types for antennas.
Definition: Types.h:210
struct to encapsulate a single correlator band (SLCOR[1-8], WBCOR[1-16])
CORBA User Exception for carma::util.