CARMA C++
carma::loberotator::LoberotatorControl Interface Reference

LoberotatorControl interface More...

import "carma/loberotator/LoberotatorControl.idl";

Inheritance diagram for carma::loberotator::LoberotatorControl:
carma::canbus::devices::DeviceControl carma::util::PhaseSwitching

Classes

struct  DelayChan
 A triplet of time tagged delays, associated with a specific channel. More...
 
struct  DelayFreqPacket
 A delay and frequency element structure The frequency items apply to all channels in the packet. More...
 
struct  DelayMjd
 A delay/mjd pair structure. More...
 
struct  WalshAssignment
 Pairs of channel number/walsh column assignment. More...
 

Public Types

typedef sequence< DelayChanDelayChanSeq
 Sequence of triplet/channels. More...
 
typedef DelayMjd DelayTriplet [3]
 A triplet of timetagged delays. More...
 
typedef sequence< WalshAssignmentWalshAssignmentSeq
 Sequence of walsh columns. More...
 

Public Member Functions

void assignWalshColumn (in WalshAssignmentSeq walshAssignments) raises (carma::util::UserException)
 Assigns walsh columns to loberotator channels. More...
 
void enable180PhaseSwitching (in long chan, in boolean state) raises (carma::util::UserException)
 Engineering: Enable/disable 180 deg phase switching. More...
 
void enable90PhaseSwitching (in long chan, in boolean state) raises (carma::util::UserException)
 Engineering: Enable/disable 90 deg phase switching. More...
 
void enableDDSfringeTracking (in long chan, in boolean state) raises (carma::util::UserException)
 Engineering: Enable/disable fringe tracking in the DDS. More...
 
void enableFringeTracking (in long chan, in boolean state) raises (carma::util::UserException)
 Engineering: Enable/disable fringe tracking in the linux host This only turns off fringe tracking, not any offset phases and rates that may be enabled. More...
 
void enablePhaseSwitching (in long chan, in boolean state) raises (carma::util::UserException)
 Engineering: Enable/disable both 90 deg and 180 deg phase switching. More...
 
void enableTrace (in long chan, in boolean enable) raises (carma::util::UserException)
 Engineering: Turn on tracing for a loberotator. More...
 
void enableUpdate (in boolean enable) raises (carma::util::UserException)
 Engineering: Enable/disable half second update of LR channels This is normally enabled, and turning it off will of course break the system for astronomy. More...
 
void hardReset () raises (carma::util::UserException)
 Engineering: Reset all XAC controllers on this CANbus This uses the hardware reset wire in our CANbus cable. More...
 
void loadPhaseSwitchColumn (in long chan, in short columnId) raises (carma::util::UserException)
 Loads a phase switch column into the Xac. More...
 
void resetBoard (in long boardNo) raises (carma::util::UserException)
 Engineering: Reset XAC controller on a loberotator board This uses the Canbus command, rather than the reset wire. More...
 
void setOffsetControl (in long chan, in boolean enable) raises (carma::util::UserException)
 Engineering: Turn on/off phase offset and rate. More...
 
void setOffsetPhase (in long chan, in double phaseOffset) raises ( carma::util::UserException )
 Engineering: Phase offset to be added to the sky phase. More...
 
void setOffsetRate (in long chan, in double rateOffset) raises (carma::util::UserException)
 Engineering: Phase rate offset to be added to the sky phase rate. More...
 
void updateDelayAndFreq (in DelayFreqPacket delayFreq) raises (carma::util::UserException)
 Sets a time triplet of delays, and the frequency and mul/div. More...
 
- Public Member Functions inherited from carma::canbus::devices::DeviceControl
boolean isOnline () raises (carma::util::UserException)
 Is device ONLINE? A device is considered ONLINE if it is actively sending monitor packets on the frame timescale. More...
 
void reset () raises (carma::util::UserException)
 Reset the module via CAN reset message. More...
 
void startChannelOneFastSampling (in unsigned short fastItem) raises (carma::util::UserException)
 Start fast sampling data from this node on channel 1. More...
 
void startChannelTwoFastSampling (in unsigned short fastItem) raises (carma::util::UserException)
 Start fast sampling data from this node on channel 2. More...
 
void stopChannelOneFastSampling () raises (carma::util::UserException)
 Stop fast sampling on channel 1 for any device. More...
 
void stopChannelTwoFastSampling () raises (carma::util::UserException)
 Stop fast sampling on channel 2 for any device. More...
 
- Public Member Functions inherited from carma::util::PhaseSwitching
void loadPhaseSwitchTable (in long numColumns, in long numRows90, in PhaseTable phaseTable90, in long numRows180, in PhaseTable phaseTable180) raises (carma::util::UserException)
 Phass phaseswitch table. More...
 

Detailed Description

LoberotatorControl interface

Definition at line 37 of file LoberotatorControl.idl.

Member Typedef Documentation

Sequence of triplet/channels.

Definition at line 71 of file LoberotatorControl.idl.

typedef DelayMjd carma::loberotator::LoberotatorControl::DelayTriplet[3]

A triplet of timetagged delays.

Definition at line 53 of file LoberotatorControl.idl.

Sequence of walsh columns.

Definition at line 124 of file LoberotatorControl.idl.

Member Function Documentation

void carma::loberotator::LoberotatorControl::assignWalshColumn ( in WalshAssignmentSeq  walshAssignments)
raises (carma::util::UserException
)

Assigns walsh columns to loberotator channels.

The phaseswitching is actually done in the XAC modules. This command associates a walsh column with a loberotator channel.

Parameters
walshAssignmentsA sequence of loberotatorChannel/walshColumn pairs.
Returns
none.
void carma::loberotator::LoberotatorControl::enable180PhaseSwitching ( in long  chan,
in boolean  state 
)
raises (carma::util::UserException
)

Engineering: Enable/disable 180 deg phase switching.

Parameters
chanchannel number; the first chan is one, zero is all
booleanstate True = ON, False = OFF
Returns
none.
See Also
enable90PhaseSwitching, enablePhaseSwitching
void carma::loberotator::LoberotatorControl::enable90PhaseSwitching ( in long  chan,
in boolean  state 
)
raises (carma::util::UserException
)

Engineering: Enable/disable 90 deg phase switching.

Parameters
chanchannel number; the first chan is one, zero is all
booleanstate True = ON, False = OFF of 90 deg switching
Returns
none.
See Also
enablePhaseSwitching, enable180PhaseSwitching
void carma::loberotator::LoberotatorControl::enableDDSfringeTracking ( in long  chan,
in boolean  state 
)
raises (carma::util::UserException
)

Engineering: Enable/disable fringe tracking in the DDS.

Parameters
chanchannel number; the first chan is one, zero is all
booleanstate True = fringe tracking ON, False = OFF
Returns
none.
See Also
enableFringeTracking
void carma::loberotator::LoberotatorControl::enableFringeTracking ( in long  chan,
in boolean  state 
)
raises (carma::util::UserException
)

Engineering: Enable/disable fringe tracking in the linux host This only turns off fringe tracking, not any offset phases and rates that may be enabled.

Note that the disable fringe tracking that can be done on the DDS will disable all phase and rate updates.

Parameters
chanchannel number; the first chan is one, zero is all
booleanstate True = fringe tracking ON, False = OFF
See Also
enableDDSfringeTracking
Returns
none.
void carma::loberotator::LoberotatorControl::enablePhaseSwitching ( in long  chan,
in boolean  state 
)
raises (carma::util::UserException
)

Engineering: Enable/disable both 90 deg and 180 deg phase switching.

Parameters
chanchannel number; the first chan is one, zero is all
booleanstate True = ON, False = OFF
Returns
none.
See Also
enable90PhaseSwitching, enable180PhaseSwitching
void carma::loberotator::LoberotatorControl::enableTrace ( in long  chan,
in boolean  enable 
)
raises (carma::util::UserException
)

Engineering: Turn on tracing for a loberotator.

Parameters
chanchannel number; the first chan is one, zero is all
enabletrue=enable, false=disable
Returns
none.
void carma::loberotator::LoberotatorControl::enableUpdate ( in boolean  enable)
raises (carma::util::UserException
)

Engineering: Enable/disable half second update of LR channels This is normally enabled, and turning it off will of course break the system for astronomy.

Use only for extreme testing as it is very dangerous.

void carma::loberotator::LoberotatorControl::hardReset ( )
raises (carma::util::UserException
)

Engineering: Reset all XAC controllers on this CANbus This uses the hardware reset wire in our CANbus cable.

Parameters
none
Returns
none
void carma::loberotator::LoberotatorControl::loadPhaseSwitchColumn ( in long  chan,
in short  columnId 
)
raises (carma::util::UserException
)

Loads a phase switch column into the Xac.

Todo:
This routine has not been debugged or checked since it was originally written, and may not conform to the latest API. It currently throws an exception to tell you that it is not usable.
Parameters
chanchannel number; the first chan is one
columnIdId for a particular column, choosen from a previously loaded table. The first column is one.
Returns
none.
void carma::loberotator::LoberotatorControl::resetBoard ( in long  boardNo)
raises (carma::util::UserException
)

Engineering: Reset XAC controller on a loberotator board This uses the Canbus command, rather than the reset wire.

Parameters
boardNoboard number, starting at one, zero is all
Returns
none.
void carma::loberotator::LoberotatorControl::setOffsetControl ( in long  chan,
in boolean  enable 
)
raises (carma::util::UserException
)

Engineering: Turn on/off phase offset and rate.

The offsets and are 'on-the-sky'; equivalent to applying the rates/phases to the final multiplied LO signal.

Parameters
chanchannel number; the first chan is one, zero is all
boolenable (true=offset phases/rates are used)
Returns
none.
See Also
setOffsetPhase, setOffsetRate
void carma::loberotator::LoberotatorControl::setOffsetPhase ( in long  chan,
in double  phaseOffset 
)
raises (carma::util::UserException
)

Engineering: Phase offset to be added to the sky phase.

Parameters
chanchannel number; the first chan is one, single channel only
doublephaseOffset in degrees
Returns
none.
See Also
setOffsetControl, setOffsetRate
void carma::loberotator::LoberotatorControl::setOffsetRate ( in long  chan,
in double  rateOffset 
)
raises (carma::util::UserException
)

Engineering: Phase rate offset to be added to the sky phase rate.

Parameters
chanchannel number; the first chan is one, single channel only
rateOffsetin Hz (turns/sec)
Returns
none.
See Also
setOffsetControl, setOffsetPhase
void carma::loberotator::LoberotatorControl::updateDelayAndFreq ( in DelayFreqPacket  delayFreq)
raises (carma::util::UserException
)

Sets a time triplet of delays, and the frequency and mul/div.

This is the only method used in standard control of the LR.

Parameters
updatesa sequence of elements containing frequency and three delay/mjd sets
Returns
none.

The documentation for this interface was generated from the following file: