MTHexapod

Note

This page is generated by python script generate_cet.py.

Back to table

Commands

configureAcceleration

Description: Set the acceleration for all struts.

EFDB_Topic:

MTHexapod_command_configureAcceleration

acceleration

IDL_Type:

double

Units:

um/s2

Description: Strut acceleration.

configureLimits

Description: Set position and orientation limits.

EFDB_Topic:

MTHexapod_command_configureLimits

maxXY

IDL_Type:

double

Units:

um

Description: Maximum |X| and |Y|

minZ

IDL_Type:

double

Units:

um

Description: Minimum Z

maxZ

IDL_Type:

double

Units:

um

Description: Maximum Z

maxUV

IDL_Type:

double

Units:

deg

Description: Maximum |U| and |V|

minW

IDL_Type:

double

Units:

deg

Description: Minimum W

maxW

IDL_Type:

double

Units:

deg

Description: Maximum W

configureVelocity

Description: Set velocity limits for position and orientation.

EFDB_Topic:

MTHexapod_command_configureVelocity

xy

IDL_Type:

double

Units:

um/s

Description: Maximum velocity for X and Y

z

IDL_Type:

double

Units:

um/s

Description: Maximum velocity for Z

uv

IDL_Type:

double

Units:

deg/s

Description: Maximum velocity for U and V

w

IDL_Type:

double

Units:

deg/s

Description: Maximum velocity for W

move

Description: Move the Hexapod to a specified position and orientation. This sets the uncompensated position; if compensation is enabled, the actual position will be slightly different.

EFDB_Topic:

MTHexapod_command_move

x

IDL_Type:

double

Units:

um

Description: x position

y

IDL_Type:

double

Units:

um

Description: y position

z

IDL_Type:

double

Units:

um

Description: z position

u

IDL_Type:

double

Units:

deg

Description: Rotation about x

v

IDL_Type:

double

Units:

deg

Description: Rotation about y

w

IDL_Type:

double

Units:

deg

Description: Rotation about z

sync

IDL_Type:

boolean

Units:

unitless

Description: Synchronize motion so that all actuators start and stop moving at the same time? Synchronize motion is our normal operating mode.

offset

Description: Offset the Hexapod by a specified change in position and orientation.

EFDB_Topic:

MTHexapod_command_offset

x

IDL_Type:

double

Units:

um

Description: Offset in x

y

IDL_Type:

double

Units:

um

Description: Offset in y

z

IDL_Type:

double

Units:

um

Description: Offset in z

u

IDL_Type:

double

Units:

deg

Description: Offset of rotation about x

v

IDL_Type:

double

Units:

deg

Description: Offset of rotation about y

w

IDL_Type:

double

Units:

deg

Description: Offset of rotation about z

sync

IDL_Type:

boolean

Units:

unitless

Description: Synchronize motion so that all actuators start and stop moving at the same time? Synchronize motion is our normal operating mode.

setCompensationMode

Description: Enable or disable automatic compensation for telescope elevation, etc.

EFDB_Topic:

MTHexapod_command_setCompensationMode

enable

IDL_Type:

boolean

Units:

unitless

Description: Enable or disable automatic compensation?

setPivot

Description: Specify the location of pivot point (the reference point whose position and orientation are specified by the move and offset commands). The origin is the center of the base plate interface plane and +Z points away from the motion plate (see LTS-206 section 2.2).

EFDB_Topic:

MTHexapod_command_setPivot

x

IDL_Type:

double

Units:

um

Description: x

y

IDL_Type:

double

Units:

um

Description: y

z

IDL_Type:

double

Units:

um

Description: z

stop

Description: Stop motion.

EFDB_Topic:

MTHexapod_command_stop

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

  • Enabled=2

  • Fault=4

EnabledSubstate:
  • Stationary=0

  • MovingPointToPoint=1

  • SlewingOrTracking=2

  • ControlledStopping=3

  • ConstantVelocity=6

ApplicationStatus:
  • FOLLOWING_ERROR = 0x1

  • MOVE_COMPLETE = 0x2

  • EUI_CONNECTED = 0x4

  • RELATIVE_MOVE_MODE = 0x8

  • SYNC_MODE = 0x10

  • COMMAND_REJECTED = 0x20

  • SAFETY_INTERLOCK = 0x40

  • EXTEND_LIMIT_SWITCH = 0x80

  • RETRACT_LIMIT_SWITCH = 0x100

  • ETHERCAT_PROBLEM = 0x200

  • DDS_COMMAND_SOURCE = 0x400

  • MOTION_TIMEOUT = 0x800

  • DDS_CONNECTED = 0x1000

  • DRIVE_FAULT = 0x2000

  • SIMULINK_FAULT = 0x4000

  • LUT_TABLE_INVALID = 0x8000

ErrorCode:
  • CONTROLLER_FAULT

  • CONNECTION_LOST

  • NO_CONFIG

Events

commandableByDDS

Description: Can the CSC control the MTHexapod?

EFDB_Topic:

MTHexapod_logevent_commandableByDDS

state

IDL_Type:

boolean

Units:

unitless

Description: If true the CSC can control the MTHexapod; else the Engineering User Interface has control.

compensatedPosition

Description: The compensated position and orientation of the pivot point (the position used to compute actuator lengths). If compensation mode is disabled it will match uncompensatedPosition.

EFDB_Topic:

MTHexapod_logevent_compensatedPosition

x

IDL_Type:

double

Units:

um

Description: X position.

y

IDL_Type:

double

Units:

um

Description: Y position.

z

IDL_Type:

double

Units:

um

Description: Z position.

u

IDL_Type:

double

Units:

deg

Description: U angle.

v

IDL_Type:

double

Units:

deg

Description: V angle.

w

IDL_Type:

double

Units:

deg

Description: W angle.

compensationMode

Description: Mode of compensation for telescope elevation, etc.

EFDB_Topic:

MTHexapod_logevent_compensationMode

enabled

IDL_Type:

boolean

Units:

unitless

Description: Is automatic compensation enabled or disabled?

compensationOffset

Description: The computed compensation offset and the input parameters used to compute the offset.

EFDB_Topic:

MTHexapod_logevent_compensationOffset

elevation

IDL_Type:

double

Units:

deg

Description: Elevation on which the compensation was based.

azimuth

IDL_Type:

double

Units:

deg

Description: Azimuth on which the compensation was based.

rotation

IDL_Type:

double

Units:

deg

Description: Camera rotator angle.

temperature

IDL_Type:

double

Units:

deg_C

Description: Temperature on which the compensation was based.

x

IDL_Type:

double

Units:

um

Description: compensated - uncompensated x

y

IDL_Type:

double

Units:

um

Description: compensated - uncompensated y

z

IDL_Type:

double

Units:

um

Description: compensated - uncompensated z

u

IDL_Type:

double

Units:

deg

Description: compensated - uncompensated u

v

IDL_Type:

double

Units:

deg

Description: compensated - uncompensated v

w

IDL_Type:

double

Units:

deg

Description: compensated - uncompensated w

configuration

Description: MTHexapod configuration.

EFDB_Topic:

MTHexapod_logevent_configuration

maxXY

IDL_Type:

double

Units:

um

Description: Maximum |X| and |Y|

minZ

IDL_Type:

double

Units:

um

Description: Minimum allowed Z

maxZ

IDL_Type:

double

Units:

um

Description: Maximum allowed Z

maxUV

IDL_Type:

double

Units:

deg

Description: Maximum |U| and |V|

minW

IDL_Type:

double

Units:

deg

Description: Minimum allowed W

maxW

IDL_Type:

double

Units:

deg

Description: Maximum allowed W

maxVelocityXY

IDL_Type:

double

Units:

um/s

Description: Maximum velocity for X and Y

maxVelocityZ

IDL_Type:

double

Units:

um/s

Description: Maximum velocity for Z

maxVelocityUV

IDL_Type:

double

Units:

deg/s

Description: Maximum velocity for U and V

maxVelocityW

IDL_Type:

double

Units:

deg/s

Description: Maximum velocity for W

pivotX

IDL_Type:

double

Units:

um

Description: Pivot point X

pivotY

IDL_Type:

double

Units:

um

Description: Pivot point Y

pivotZ

IDL_Type:

double

Units:

um

Description: Pivot point Z

maxDisplacementStrut

IDL_Type:

double

Units:

um

Description: Maximum strut displacement from 0

maxVelocityStrut

IDL_Type:

double

Units:

um/s

Description: Maximum strut velocity

accelerationStrut

IDL_Type:

double

Units:

um/s2

Description: Strut acceleration

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:

MTHexapod_logevent_connected

connected

IDL_Type:

boolean

Units:

unitless

Description: Is the socket connected (true=yes, false=no)?

controllerState

Description: State reported by the controller.

EFDB_Topic:

MTHexapod_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 differ. 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.

enabledSubstate

IDL_Type:

long

Units:

unitless

Description: Substate in ENABLED mode, an EnabledSubstate enumeration value.

applicationStatus

IDL_Type:

long

Units:

unitless

Description: Application status. A bitmask of ApplicationStatus enumeration values.

inPosition

Description: Indicates whether or not all actuators have reached their commanded position.

EFDB_Topic:

MTHexapod_logevent_inPosition

inPosition

IDL_Type:

boolean

Units:

unitless

Description: All actuators are in position.

interlock

Description: Safety interlock engaged (preventing motion) or disengaged.

EFDB_Topic:

MTHexapod_logevent_interlock

engaged

IDL_Type:

boolean

Units:

unitless

Description: Is the interlock engaged (true) or not (false)?

uncompensatedPosition

Description: The uncompensated position and orientation of the pivot point, as specified by the move command and offset by the offset command. It is not output when motion is commanded by the engineering user interface.

EFDB_Topic:

MTHexapod_logevent_uncompensatedPosition

x

IDL_Type:

double

Units:

um

Description: X position.

y

IDL_Type:

double

Units:

um

Description: Y position.

z

IDL_Type:

double

Units:

um

Description: Z position.

u

IDL_Type:

double

Units:

deg

Description: U angle.

v

IDL_Type:

double

Units:

deg

Description: V angle.

w

IDL_Type:

double

Units:

deg

Description: W angle.

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

actuators

Description: Hexapod actuators information.

EFDB_Topic:

MTHexapod_actuators

calibrated

IDL_Type:

double

Units:

um

Count:

6

Description: Estimated strut length from each MTHexapod actuator (x1,x2,x3,x4,x5,x6) in microns

raw

IDL_Type:

double

Units:

unitless

Count:

6

Description: Linear encoder readings from each MTHexapod actuator (x1,x2,x3,x4,x5,x6) in counts/nanometer (raw linear load encoder, 0x6064)

positionError

IDL_Type:

double

Units:

micron

Count:

6

Description: Position error of each MTHexapod actuator (x1,x2,x3,x4,x5,x6) in microns (following error actual value, 0x60F4)

timestamp

IDL_Type:

double

Units:

second

Description: Time at which encoders were read (TAI unix seconds).

application

Description: Hexapod movement details of application.

EFDB_Topic:

MTHexapod_application

demand

IDL_Type:

double

Units:

unitless

Count:

6

Description: Commanded MTHexapod position in order (X, Y, Z, U, V, W). Linear positions are in microns, angular positions are in degrees.

position

IDL_Type:

double

Units:

unitless

Count:

6

Description: Actual MTHexapod position, in order (X, Y, Z, U, V, W). Linear positions are in microns, angular positions are in degrees.

error

IDL_Type:

double

Units:

unitless

Count:

6

Description: Position error (position - demand), in order (X, Y, Z, U, V, W). Linear positions are in microns, angular positions are in degrees.

electrical

Description: Hexapod drive/electrical information.

EFDB_Topic:

MTHexapod_electrical

copleyStatusWordDrive

IDL_Type:

unsigned short

Units:

unitless

Count:

6

Description: Bus undervoltage fault, bus overvoltage fault, and overcurrent fault are all being monitored for each drive channel (drive status word, 0x6041).

copleyLatchingFaultStatus

IDL_Type:

unsigned short

Units:

unitless

Count:

6

Description: Copley latching fault status (0x2183).

copleyFaultStatus

IDL_Type:

unsigned int

Units:

unitless

Count:

6

Description: Copley sticky amplifier event status register (0x2180).

motorCurrent

IDL_Type:

double

Units:

A

Count:

6

Description: Actual current for each strut motor.

busVoltage

IDL_Type:

double

Units:

V

Count:

3

Description: Actual bus voltage for each pair of strut motors.