MTRotator¶
Note
This page is generated by python script generate_cet.py
.
Commands¶
configureAcceleration¶
Description: Specify a new maximum acceleration.
- EFDB_Topic:
MTRotator_command_configureAcceleration
alimit¶
- IDL_Type:
double
- Units:
deg/s2
Description: acceleration limit
configureEmergencyAcceleration¶
Description: Specify a new emergency maximum acceleration. This is for the test/tuning purpose only. Remove this after the tuning is done.
- EFDB_Topic:
MTRotator_command_configureEmergencyAcceleration
alimit¶
- IDL_Type:
double
- Units:
deg/s2
Description: acceleration limit
configureEmergencyJerk¶
Description: Specify a new emergency maximum jerk. This is for the test/tuning purpose only. Remove this after the tuning is done.
- EFDB_Topic:
MTRotator_command_configureEmergencyJerk
jlimit¶
- IDL_Type:
double
- Units:
deg/s3
Description: jerk limit
configureJerk¶
Description: Specify a new maximum jerk. This is for the test/tuning purpose only. Remove this after the tuning is done.
- EFDB_Topic:
MTRotator_command_configureJerk
jlimit¶
- IDL_Type:
double
- Units:
deg/s3
Description: jerk limit
configureVelocity¶
Description: Specify a new maximum velocity.
- EFDB_Topic:
MTRotator_command_configureVelocity
vlimit¶
- IDL_Type:
double
- Units:
deg/s
Description: Velocity limit
fault¶
Description: Stop the rotator and send the system to the FAULT state. This is primarily for testing the low-level controller’s fault command.
- EFDB_Topic:
MTRotator_command_fault
move¶
Description: Move to a specified position.
- EFDB_Topic:
MTRotator_command_move
position¶
- IDL_Type:
double
- Units:
deg
Description: Desired position.
stop¶
Description: Stop the MTRotator and go to enabled substate Stationary.
- EFDB_Topic:
MTRotator_command_stop
track¶
Description: Specify the target position and velocity, in slewing/tracking mode. Call the trackStart command to enter this mode.
- EFDB_Topic:
MTRotator_command_track
angle¶
- IDL_Type:
double
- Units:
deg
Description: Desired position at the time specified by “tai”.
velocity¶
- IDL_Type:
double
- Units:
deg/second
Description: Desired velocity at the time specified by “tai”.
tai¶
- IDL_Type:
double
- Units:
second
Description: TAI time of the “position” and “velocity” fields.
trackStart¶
Description: Enter slewing/tracking mode (go to enabled substate SlewingOrTracking). Then specify the target path with a series of “track” commands. Finally, issue the “stop” command to end tracking/slewing.
- EFDB_Topic:
MTRotator_command_trackStart
disable¶
Description: Transition from state Enabled to Disabled.
- EFDB_Topic:
SALGeneric_command_disable
- Category:
csc
enable¶
Description: Transition from state Disabled to Enabled.
- EFDB_Topic:
SALGeneric_command_enable
- Category:
csc
exitControl¶
Description: Transition from state Standby to Offline. Most CSCs will quit, but CSCs that support the enterControl command will keep running.
- EFDB_Topic:
SALGeneric_command_exitControl
- Category:
csc
setLogLevel¶
Description: Set the logging level.
- EFDB_Topic:
SALGeneric_command_setLogLevel
- Category:
csc
level¶
- IDL_Type:
int
- Units:
unitless
Description: Logging level, as a Python logging level: error=40, warning=30, info=20, debug=10.
subsystem¶
- IDL_Type:
string
- Units:
unitless
Description: If this CSC itself has sub-ordinate components, they may be listed here. An empty string means the setting applies to all such sub-ordinate components, or just to this CSC itself.
standby¶
Description: Transition from state Offline/Available, Disabled or Fault to Standby.
- EFDB_Topic:
SALGeneric_command_standby
- Category:
csc
start¶
Description: Transition from state Standby to Disable, in a specified configuration.
- EFDB_Topic:
SALGeneric_command_start
- Category:
csc
configurationOverride¶
- IDL_Type:
string
- Units:
unitless
- Description:
Configuration override in the form [{name}][:{version}]. For salobj-based CSCs: name is a filename with “.yaml” suffix and version is a git hash; for example:
“foo.yaml” specifies just a file. Two or three config files are loaded: “_init.yaml”, “_{site}.yaml” (if present), and “foo.yaml”.
“:37bf936” specifies just a git hash. One or two config files are loaded from the specified git commit: “_init.yaml” and “_{site}.yaml” (if present.
“bar.yaml:HEAD~2” specifies both a file and a git hash. Two or three config files are read from the specified git commit: “_init.yaml”, “_{site}.yaml” (if present), and “bar.yaml”.
Enumerations¶
- ControllerState:
Standby=0
Disabled=1
Enabled=2
Offline=3
Fault=4
- EnabledSubstate:
Stationary=0
MovingPointToPoint=1
SlewingOrTracking=2
ControlledStopping=3
Initializing=4
Relative=5
ConstantVelocity=6
- FaultSubstate:
NoError=0
EmergencyStopping=1
WaitClearError=2
- ApplicationStatus:
EUI_CONNECTED = 0x4
COMMAND_REJECTED = 0x20
SAFETY_INTERLOCK = 0x40
EXTEND_LIMIT_SWITCH = 0x80
RETRACT_LIMIT_SWITCH = 0x100
ETHERCAT_PROBLEM = 0x200
DDS_COMMAND_SOURCE = 0x400
DDS_CONNECTED = 0x1000
DRIVE_FAULT = 0x2000
SIMULINK_FAULT = 0x4000
ENCODER_FAULT = 0x8000
- ErrorCode:
CONTROLLER_FAULT
CONNECTION_LOST
NO_CONFIG
Events¶
commandableByDDS¶
Description: Can the CSC can control the MTRotator?
- EFDB_Topic:
MTRotator_logevent_commandableByDDS
state¶
- IDL_Type:
boolean
- Units:
unitless
Description: If true the CSC can control the MTRotator; else the Engineering User Interface has control.
configuration¶
Description: MTRotator configuration.
- EFDB_Topic:
MTRotator_logevent_configuration
positionAngleLowerLimit¶
- IDL_Type:
double
- Units:
deg
Description: Minimum position.
positionAngleUpperLimit¶
- IDL_Type:
double
- Units:
deg
Description: Maximum position.
velocityLimit¶
- IDL_Type:
double
- Units:
deg/s
Description: Maximum velocity.
accelerationLimit¶
- IDL_Type:
double
- Units:
deg/s2
Description: Maximum acceleration.
emergencyAccelerationLimit¶
- IDL_Type:
double
- Units:
deg/s2
Description: Maximum acceleration for emergency stops.
emergencyJerkLimit¶
- IDL_Type:
double
- Units:
deg/s3
Description: Maximum jerk for emergency stops.
positionErrorThreshold¶
- IDL_Type:
double
- Units:
deg
Description: Difference between commanded and actual position that may trigger a slew.
followingErrorThreshold¶
- IDL_Type:
double
- Units:
deg
Description: Difference between commanded and actual position that triggers a following error fault.
trackingSuccessPositionThreshold¶
- IDL_Type:
double
- Units:
deg
Description: Difference between commanded and actual position that triggers a tracklost event.
trackingLostTimeout¶
- IDL_Type:
double
- Units:
s
Description: Maximum interval between “track” commands before a tracklost event.
disableLimitMaxTime¶
- IDL_Type:
double
- Units:
second
Description: Maximum time that one can disable position limit checking.
maxConfigurableVelocityLimit¶
- IDL_Type:
double
- Units:
deg/s
Description: Maximum value that can be specified for velocityLimit, using the “configureVelocity” command or the EUI.
drivesEnabled¶
- IDL_Type:
boolean
- Units:
unitless
Description: Drives are enabled or not.
connected¶
Description: State of TCP/IP connection to the low level controller.
- EFDB_Topic:
MTRotator_logevent_connected
connected¶
- IDL_Type:
boolean
- Units:
unitless
Description: Is the socket connected (true=yes, false=no)?
controllerState¶
Description: State reported by the low level controller. All values except applicationStatus are 1 greater than those reported by the controller for temporary and historical reasons.
- EFDB_Topic:
MTRotator_logevent_controllerState
controllerState¶
- IDL_Type:
long
- Units:
unitless
Description: Basic state. A ControllerState enumeration value. The state names and meanings are the same as standard CSC summaryState, but the numeric values are ordered differently. We report the controller state in addition to summaryState because we need to report a summaryState even when the controller is not connected, and to aid diagnostics, e.g. in case the controller reports an unrecognized state.
faultSubstate¶
- IDL_Type:
long
- Units:
unitless
Description: Substate in FAULT mode. A FaultSubstate enumeration value.
enabledSubstate¶
- IDL_Type:
long
- Units:
unitless
Description: Substate in ENABLED mode. An EnabledSubstate enumeration value.
applicationStatus¶
- IDL_Type:
long
- Units:
unitless
Description: Application state. A bitmask of ApplicationStatus enumeration values.
inPosition¶
Description: Is the rotator in position?
- EFDB_Topic:
MTRotator_logevent_inPosition
inPosition¶
- IDL_Type:
boolean
- Units:
unitless
Description: True if the rotator is in position, false otherwise.
interlock¶
Description: Safety interlock engaged (preventing motion) or disengaged.
- EFDB_Topic:
MTRotator_logevent_interlock
engaged¶
- IDL_Type:
boolean
- Units:
unitless
Description: Is the interlock engaged (true) or not (false)?
lowFrequencyVibration¶
Description: Current low frequency vibration in Hz.
- EFDB_Topic:
MTRotator_logevent_lowFrequencyVibration
frequency¶
- IDL_Type:
double
- Units:
Hz
Description: The strongest frequency in the detection range. If the value is 0.0, it means no vibration is detected or the current telemetry data might not give a reliable FFT result.
target¶
Description: Commanded target position, velocity and time.
- EFDB_Topic:
MTRotator_logevent_target
position¶
- IDL_Type:
double
- Units:
deg
Description: Target position at the time specified by “tai”.
velocity¶
- IDL_Type:
double
- Units:
deg/second
Description: Target velocity at the time specified by “tai”.
tai¶
- IDL_Type:
double
- Units:
second
Description: TAI time of the “position” and “velocity” fields.
tracking¶
Description: Specify whether the MTRotator is tracking.
- EFDB_Topic:
MTRotator_logevent_tracking
tracking¶
- IDL_Type:
boolean
- Units:
unitless
Description: Is the rotator tracking accurately? The value of Flags_trackingSuccess from the low-level controller.
lost¶
- IDL_Type:
boolean
- Units:
unitless
Description: Is the rotator doing badly at tracking? This uses a different algorithm than “tracking”. The value of Flags_trackingLost from the low-level controller.
noNewCommand¶
- IDL_Type:
boolean
- Units:
unitless
Description: No new tracking command was received in time; tracking fails. The value of Flags_noNewTrackCmdError from the low-level controller.
clockOffset¶
Description: Clock error between a low-level controller and its CSC. Only relevant to CSCs that control a single low-level controller.
- EFDB_Topic:
SALGeneric_logevent_clockOffset
offset¶
- IDL_Type:
double
- Units:
second
Description: Low-level controller time - CSC time. For most CSCs this is only accurate to 0.01 seconds or so, and thus is only intended to detect gross error.
configurationApplied¶
Description: Information about this CSC’s current configuration overrides.
- EFDB_Topic:
SALGeneric_logevent_configurationApplied
- Category:
configurable
configurations¶
- IDL_Type:
string
- Units:
unitless
Description: A comma-separated list of configurations applied. If configuration comes from a clone of a git repo, or similar directory, then it will be a list of file names, without the file extension. Ignore whitespace after commas.
version¶
- IDL_Type:
string
- Units:
unitless
Description: Version of the configuration source. For a clone of a git repo it will be a git hash.
url¶
- IDL_Type:
string
- Units:
unitless
Description: URL of the configuration source. For a clone of a git repo this will be a file URL. For a database it will be a standard database URL. This should always match the same-named field in configurationsAvailable.
schemaVersion¶
- IDL_Type:
string
- Units:
unitless
Description: Version of config schema used by this CSC. For a configuration git repo, this is the name of a folder in the config package, and is typically something like “v1”. This should always match the same-named field in configurationsAvailable.
otherInfo¶
- IDL_Type:
string
- Units:
unitless
Description: A comma-separated list of event topics (without the logevent prefix) used to publish the entire set of configuration parameters loaded by this CSC, and any other pertinent information. Ignore whitespace after commas.
configurationsAvailable¶
Description: Available configuration overrides for this CSC.
- EFDB_Topic:
SALGeneric_logevent_configurationsAvailable
- Category:
configurable
overrides¶
- IDL_Type:
string
- Units:
unitless
Description: Available overrides as a comma-separated list. Each entry is a possible value of the configurationOverride
field of the start
command. Ignore whitespace after commas.
version¶
- IDL_Type:
string
- Units:
unitless
Description: Version of the configuration source. For a clone of a git repo it will be a git hash.
url¶
- IDL_Type:
string
- Units:
unitless
Description: URL of the configuration source. For a clone of a git repo this will be a file URL. For a database it will be a standard database URL.
schemaVersion¶
- IDL_Type:
string
- Units:
unitless
Description: Version of config schema used by this CSC. For a configuration git repo, this is the name of a folder in the config package, and is typically something like “v1”.
errorCode¶
Description: Output when this CSC goes into the Fault state as an explanation of the problem.
- EFDB_Topic:
SALGeneric_logevent_errorCode
- Category:
csc
errorCode¶
- IDL_Type:
long
- Units:
unitless
Description: A numeric error code.
errorReport¶
- IDL_Type:
string
- Units:
unitless
Description: An string providing detailed information about the error.
traceback¶
- IDL_Type:
string
- Units:
unitless
Description: An optional stack trace of the error condition.
heartbeat¶
Description: Event output at regular intervals (typcally once per second) to show that the SAL component is alive.
- EFDB_Topic:
SALGeneric_logevent_heartbeat
- Category:
mandatory
heartbeat¶
- IDL_Type:
boolean
- Units:
unitless
Description: Deprecated field that you should ignore.
logLevel¶
Description: Current logging level.
- EFDB_Topic:
SALGeneric_logevent_logLevel
- Category:
mandatory
level¶
- IDL_Type:
int
- Units:
unitless
Description: Current logging level, a Python logging level: error=40, warning=30, info=20, debug=10.
subsystem¶
- IDL_Type:
string
- Units:
unitless
Description: If this CSC itself has sub-ordinate components, they may be listed here. An empty string means the setting applies to all such sub-ordinate components, or just to this CSC itself.
logMessage¶
Description: A log message.
- EFDB_Topic:
SALGeneric_logevent_logMessage
- Category:
mandatory
name¶
- IDL_Type:
string
- Units:
unitless
Description: Log name.
level¶
- IDL_Type:
int
- Units:
unitless
Description: Message level, a Python logging level: error=40, warning=30, info=20, debug=10.
message¶
- IDL_Type:
string
- Units:
unitless
Description: Log message.
traceback¶
- IDL_Type:
string
- Units:
unitless
Description: Exception traceback; “” if not an exception.
filePath¶
- IDL_Type:
string
- Units:
unitless
Description: Path to source file.
functionName¶
- IDL_Type:
string
- Units:
unitless
Description: Function or method name.
lineNumber¶
- IDL_Type:
long
- Units:
unitless
Description: Line number in the file specified by filePath.
process¶
- IDL_Type:
long
- Units:
unitless
Description: Process ID.
timestamp¶
- IDL_Type:
double
- Units:
second
Description: The time at which the condition being reported was observed (TAI unix seconds). 0 if unspecified.
simulationMode¶
Description: Current simulation mode.
- EFDB_Topic:
SALGeneric_logevent_simulationMode
- Category:
csc
mode¶
- IDL_Type:
int
- Units:
unitless
Description: Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.
softwareVersions¶
Description: Current versions of software in use by CSC.
- EFDB_Topic:
SALGeneric_logevent_softwareVersions
- Category:
mandatory
salVersion¶
- IDL_Type:
string
- IDL_Size:
256
- Units:
unitless
Description: This is the current version of SAL generation.
xmlVersion¶
- IDL_Type:
string
- IDL_Size:
256
- Units:
unitless
Description: This is the current version of CSC XML.
openSpliceVersion¶
- IDL_Type:
string
- IDL_Size:
256
- Units:
unitless
Description: This is the current version of OpenSplice.
cscVersion¶
- IDL_Type:
string
- IDL_Size:
256
- Units:
unitless
Description: The software version of this CSC.
subsystemVersions¶
- IDL_Type:
string
- Units:
unitless
Description: A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within this CSC.
summaryState¶
Description: Current summary state of this CSC.
- EFDB_Topic:
SALGeneric_logevent_summaryState
- Category:
csc
summaryState¶
- IDL_Type:
long
- Units:
unitless
Description: High level state machine state identifier.
Telemetry¶
ccwFollowingError¶
Description: Camera cable wrap following error.
- EFDB_Topic:
MTRotator_ccwFollowingError
positionError¶
- IDL_Type:
double
- Units:
deg
Description: Rotator actual position - camera cable wrap actual position.
velocityError¶
- IDL_Type:
double
- Units:
deg/second
Description: Rotator actual velocity - camera cable wrap actual velocity.
timestamp¶
- IDL_Type:
double
- Units:
second
- Description: The time at which the rotation telemetry was measured (TAI, unix seconds).
The CCW position is extrapolated to this time.
electrical¶
Description: Rotator drive/electrical information.
- EFDB_Topic:
MTRotator_electrical
copleyStatusWordDrive¶
- IDL_Type:
unsigned short
- Units:
unitless
- Count:
2
Description: Copley drive status word (0x6041).
copleyLatchingFaultStatus¶
- IDL_Type:
unsigned short
- Units:
unitless
- Count:
2
Description: Copley latching fault status register (0x2183).
copleyFaultStatus¶
- IDL_Type:
unsigned int
- Units:
unitless
- Count:
2
Description: Copley sticky amplifier event status register (0x2180).
motors¶
Description: Data about the two rotator motors, in order A, B
- EFDB_Topic:
MTRotator_motors
raw¶
- IDL_Type:
double
- Units:
unitless
- Count:
2
Description: Motor encoder readings in raw counts.
torque¶
- IDL_Type:
double
- Units:
N m
- Count:
2
Description: Motor torque.
current¶
- IDL_Type:
double
- Units:
A
- Count:
2
Description: Motor current.
busVoltage¶
- IDL_Type:
double
- Units:
V
Description: Bus voltage for the pair of motors.
rotation¶
Description: Demand and actual rotator position and velocity.
- EFDB_Topic:
MTRotator_rotation
demandPosition¶
- IDL_Type:
double
- Units:
deg
Description: Rotator position computed by the path generator.
demandVelocity¶
- IDL_Type:
double
- Units:
deg/second
Description: Rotator velocity computed by the path generator.
demandAcceleration¶
- IDL_Type:
double
- Units:
deg/second
Description: Rotator acceleration computed by the path generator.
actualPosition¶
- IDL_Type:
double
- Units:
deg
Description: Rotator position computed from the encoders.
actualVelocity¶
- IDL_Type:
double
- Units:
deg/second
Description: Rotator velocity computed from the two linear encoders. Warning: not yet trustworthy.
debugActualVelocityA¶
- IDL_Type:
double
- Units:
deg/second
Description: Rotator velocity computed from linear encoder A. Warning: this field is purely for debugging the low-level controller. Do not rely on it.
debugActualVelocityB¶
- IDL_Type:
double
- Units:
deg/second
Description: Rotator velocity computed from linear encoder B. Warning: this field is purely for debugging the low-level controller. Do not rely on it.
odometer¶
- IDL_Type:
double
- Units:
deg
Description: Cumulative distance the rotator has traveled.
timestamp¶
- IDL_Type:
double
- Units:
second
Description: Time at which telemetry was obtained. Will not be fully accurate until DM-26382 is implemented and the CSC updated to use it.