MTRotator¶
Note
This page is generated by python script generate_cet.py
.
Commands¶
configureAcceleration¶
Description: Limit the minimum and maximum acceleration level of the MTRotator to be set within the global limit of +/- 1 deg/s2.
- EFDB_Topic:
MTRotator_command_configureAcceleration
alimit¶
- IDL_Type:
double
- Units:
deg/s2
Description: acceleration limit
configureVelocity¶
Description: The configure Velocity command limits the minimum and maximum velocity level of the MTRotator to be set within the global limit of +/- 3.5 deg/s.
- 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 the MTRotator to the specified position and stop. During the move the enabled substate will be MovingPointToPoint, then it will return to Stationary.
- 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 desired MTRotator position and velocity “slewing or tracking” mode, which is started with the trackStart command and concluded with the stop command.
- 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 (enabled substate SlewingOrTracking): follow a path specified by repeated track commands. Issue the stop command when you are done tracking.
- 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
setAuthList¶
Description: Specify who can command this CSC.
- EFDB_Topic:
SALGeneric_command_setAuthList
- 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
- OfflineSubstate:
PublishOnly=0
Available=1
- EnabledSubstate:
Stationary=0
MovingPointToPoint=1
SlewingOrTracking=2
ControlledStopping=3
Initializing=4
Relative=5
ConstantVelocity=6
- 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
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
positionAngleUpperLimit¶
- IDL_Type:
double
- Units:
deg
Description: Position difference between the commanded position and the actual position that triggers system to switch between slew mode and track mode. Positive range limit (must be less than +90)
velocityLimit¶
- IDL_Type:
double
- Units:
deg/s
Description: Velocity limit
accelerationLimit¶
- IDL_Type:
double
- Units:
deg/s2
Description: Acceleration limit
positionErrorThreshold¶
- IDL_Type:
double
- Units:
deg
Description: Position error threshold
positionAngleLowerLimit¶
- IDL_Type:
double
- Units:
deg
Description: Position difference between the commanded position and the actual position that triggers system to switch between slew mode and track mode. Negative range limit (must be greater than -90)
followingErrorThreshold¶
- IDL_Type:
double
- Units:
deg
Description: Deviation between commanded position and actual MTRotator position that triggers following error event/fault
trackingSuccessPositionThreshold¶
- IDL_Type:
double
- Units:
deg
Description: RMS deviation over 150ms interval between position command and actual MTRotator position for triggering tracking and tracklost events
trackingLostTimeout¶
- IDL_Type:
double
- Units:
s
Description: Duration between receiving slewing and tracking commands over DDS before tracklost event/fault is declared
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.
offlineSubstate¶
- IDL_Type:
long
- Units:
unitless
Description: Substate in OFFLINE mode. An OfflineSubstate 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: Event to indicate MTRotator is in position or not
- EFDB_Topic:
MTRotator_logevent_inPosition
inPosition¶
- IDL_Type:
boolean
- Units:
unitless
Description: MTRotator in position
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)?
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 MTRotator tracking accurately? The value of Flags_trackingSuccess from the low-level controller.
lost¶
- IDL_Type:
boolean
- Units:
unitless
Description: Is the MTRotator 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.
authList¶
Description: Who can command this CSC.
- EFDB_Topic:
SALGeneric_logevent_authList
- Category:
csc
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¶
- EFDB_Topic:
MTRotator_electrical
copleyStatusWordDrive¶
- IDL_Type:
unsigned short
- Units:
unitless
- Count:
2
Description: Copley drive status word.
copleyLatchingFaultStatus¶
- IDL_Type:
unsigned short
- Units:
unitless
- Count:
2
Description: Copley latching fault status register.
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.