CARMA C++
LoberotatorControl.idl
Go to the documentation of this file.
1 #ifndef CARMA_LOBEROTATOR_IDL
2 #define CARMA_LOBEROTATOR_IDL
3 
7 
23 module carma
24 {
25  module loberotator
26  {
27 
32 const string LOBEROTATOR_NAME = "carma.loberotator.LoberotatorControl";
33 
39 
43  struct DelayMjd {
45  double delay;
46 
48  double mjd;
49  };
53  typedef DelayMjd DelayTriplet[3];
54 
58  struct DelayChan {
60  long channelID;
61 
64 
66  DelayTriplet triplet;
67  };
71  typedef sequence<DelayChan> DelayChanSeq;
72 
73 
79  struct DelayFreqPacket {
80 
83 
85  double frequency;
86 
92  long multiplier;
93 
99  long divisor;
100 
105  long sign;
106  };
107 
115  short channel;
119  short walshColumn;
120  };
124  typedef sequence<WalshAssignment> WalshAssignmentSeq;
125 
134  void updateDelayAndFreq(in DelayFreqPacket delayFreq )
136 
147  void setOffsetControl( in long chan, in boolean enable)
149 
158  void setOffsetPhase( in long chan, in double phaseOffset )
159  raises ( carma::util::UserException );
160 
169  void setOffsetRate(in long chan, in double rateOffset)
171 
183  void loadPhaseSwitchColumn(in long chan, in short columnId )
185 
194  void assignWalshColumn(in WalshAssignmentSeq walshAssignments)
196 
209  void enableFringeTracking( in long chan, in boolean state )
211 
220  void enableDDSfringeTracking( in long chan, in boolean state )
222 
231  void enable90PhaseSwitching(in long chan, in boolean state)
233 
242  void enable180PhaseSwitching(in long chan, in boolean state)
244 
253  void enablePhaseSwitching(in long chan, in boolean state)
255 
263  void resetBoard(in long boardNo)
265 
273  void hardReset()
274  raises (carma::util::UserException);
275 
283  void enableTrace(in long chan, in boolean enable)
284  raises (carma::util::UserException);
285 
292  void enableUpdate(in boolean enable)
293  raises (carma::util::UserException);
294 
295 
296 }; // LoberotatorControl
297 }; // module loberotator
298 }; // module carma
299 
300 #endif /* CARMA_LOBEROTATOR_IDL */
301 
short channel
Loberotator channel number, starting at 1.
short walshColumn
Walsh column number, starting at 1.
long multiplier
Hardware multiplication factor for DDS signal before it is added to the first LO. ...
Phaseswitching interface for passing a phaseswitching table into a subsystem.
long sign
Hardware sign of DDS signal when added to first LO.
A delay and frequency element structure The frequency items apply to all channels in the packet...
long divisor
Hardware division factor for DDS signal before it is added to the first LO.
Carma CANbus base Device control interface.
const string LOBEROTATOR_NAME
The CARMA canonical name for this Distributed Object.
sequence< WalshAssignment > WalshAssignmentSeq
Sequence of walsh columns.
Generic Carma variant of CORBA::UserException.
DelayChanSeq delaySeq
Sequence of delay/mjd channels.
sequence< DelayChan > DelayChanSeq
Sequence of triplet/channels.
CORBA User Exception for carma::util.
DelayTriplet triplet
Timetagged delay triplet.
Carma CANbus Device control base interface.
Pairs of channel number/walsh column assignment.
A triplet of time tagged delays, associated with a specific channel.
Subsystem phaseswitching interface.