CARMA C++
|
LoberotatorControl interface More...
import "carma/loberotator/LoberotatorControl.idl";
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< DelayChan > | DelayChanSeq |
Sequence of triplet/channels. More... | |
typedef DelayMjd | DelayTriplet [3] |
A triplet of timetagged delays. More... | |
typedef sequence< WalshAssignment > | WalshAssignmentSeq |
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... | |
![]() | |
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... | |
![]() | |
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... | |
LoberotatorControl interface
Definition at line 37 of file LoberotatorControl.idl.
typedef sequence<DelayChan> carma::loberotator::LoberotatorControl::DelayChanSeq |
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.
typedef sequence<WalshAssignment> carma::loberotator::LoberotatorControl::WalshAssignmentSeq |
Sequence of walsh columns.
Definition at line 124 of file LoberotatorControl.idl.
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.
walshAssignments | A sequence of loberotatorChannel/walshColumn pairs. |
void carma::loberotator::LoberotatorControl::enable180PhaseSwitching | ( | in long | chan, |
in boolean | state | ||
) | |||
raises | ( | carma::util::UserException | |
) |
Engineering: Enable/disable 180 deg phase switching.
chan | channel number; the first chan is one, zero is all |
boolean | state True = ON, False = OFF |
void carma::loberotator::LoberotatorControl::enable90PhaseSwitching | ( | in long | chan, |
in boolean | state | ||
) | |||
raises | ( | carma::util::UserException | |
) |
Engineering: Enable/disable 90 deg phase switching.
chan | channel number; the first chan is one, zero is all |
boolean | state True = ON, False = OFF of 90 deg switching |
void carma::loberotator::LoberotatorControl::enableDDSfringeTracking | ( | in long | chan, |
in boolean | state | ||
) | |||
raises | ( | carma::util::UserException | |
) |
Engineering: Enable/disable fringe tracking in the DDS.
chan | channel number; the first chan is one, zero is all |
boolean | state True = fringe tracking ON, False = OFF |
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.
chan | channel number; the first chan is one, zero is all |
boolean | state True = fringe tracking ON, False = OFF |
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.
chan | channel number; the first chan is one, zero is all |
boolean | state True = ON, False = OFF |
void carma::loberotator::LoberotatorControl::enableTrace | ( | in long | chan, |
in boolean | enable | ||
) | |||
raises | ( | carma::util::UserException | |
) |
Engineering: Turn on tracing for a loberotator.
chan | channel number; the first chan is one, zero is all |
enable | true=enable, false=disable |
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.
none |
void carma::loberotator::LoberotatorControl::loadPhaseSwitchColumn | ( | in long | chan, |
in short | columnId | ||
) | |||
raises | ( | carma::util::UserException | |
) |
Loads a phase switch column into the Xac.
chan | channel number; the first chan is one |
columnId | Id for a particular column, choosen from a previously loaded table. The first column is one. |
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.
boardNo | board number, starting at one, zero is all |
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.
chan | channel number; the first chan is one, zero is all |
bool | enable (true=offset phases/rates are used) |
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.
chan | channel number; the first chan is one, single channel only |
double | phaseOffset in degrees |
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.
chan | channel number; the first chan is one, single channel only |
rateOffset | in Hz (turns/sec) |
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.
updates | a sequence of elements containing frequency and three delay/mjd sets |