SAL Generics#

Generic topics can be included with any CSC. Generic topics can be categorized or not. A CSC can declare which categories or individual generics are supported. More information can be found in the document LSE-209.

Commands#

abort#

Description: Abort the current operation; deprecated.

EFDB_Topic:

SALGeneric_command_abort

enable#

Description: Transition from state Disabled to Enabled.

EFDB_Topic:

SALGeneric_command_enable

Category:

csc

disable#

Description: Transition from state Enabled to Disabled.

EFDB_Topic:

SALGeneric_command_disable

Category:

csc

standby#

Description: Transition from state Offline/Available, Disabled or Fault to Standby.

EFDB_Topic:

SALGeneric_command_standby

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

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”.

enterControl#

Description: Transition from state Offline to Standby. Only a few CSCs support this command; all other CSCs start in Standby state and quit when they go to Offline.

EFDB_Topic:

SALGeneric_command_enterControl

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.

setAuthList#

Description: Specify who can command this CSC.

EFDB_Topic:

SALGeneric_command_setAuthList

Category:

csc

authorizedUsers#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of authorized users currently allowed to command this CSC,

in the form user@host. If the first character is +/- then the specified users are added/removed. Duplicates are silently ignored. The CSC’s own user@host is silently ignored, because it is always authorized. For removal, CSCs that are not in the list are silently ignored. Whitespace is allowed after the optional initial +/- and after each comma.

nonAuthorizedCSCs#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of CSC’s not currently allowed to command this CSC,

in the form name[:index]. An index of 0 is stripped (name:0 becomes name). If the first character is +/- then the specified CSCs are added/removed. Duplicates are silently ignored. For removal, CSCs that are not in the list are silently ignored. Whitespace is allowed after the optional initial +/- and after each comma.

Events#

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.

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.

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.

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.

authList#

Description: Who can command this CSC.

EFDB_Topic:

SALGeneric_logevent_authList

Category:

csc

authorizedUsers#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of authorized users currently allowed to command this CSC.

nonAuthorizedCSCs#

IDL_Type:

string

Units:

unitless

Description: Comma seperated list of CSC’s not currently allowed to command this CSC.

largeFileObjectAvailable#

Description: A new large file object is available.

EFDB_Topic:

SALGeneric_logevent_largeFileObjectAvailable

url#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: A Uniform Resource Locator which links to a Large File Object either for ingest into the EFD Large File Annex, or to announce the successful copy of same to the EFD Large File Annex.Protocols are those supported by the cURL library.

generator#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: Name of the package which generated the file being announced.

version#

IDL_Type:

float

Units:

unitless

Description: A dotted x.y version number denoting the file format revision.

byteSize#

IDL_Type:

long

Units:

unitless

Description: Size of file in bytes.

checkSum#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: Hexadecimal character string holding the checksum of the file.

mimeType#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: Mime Type code for the file.

id#

IDL_Type:

string

IDL_Size:

256

Units:

unitless

Description: A generic identifier field.

statusCode#

Description: Output when this CSC experiences a non-optimal condition that is important to a user but insufficient to raise an error condition.

EFDB_Topic:

SALGeneric_logevent_statusCode

mask#

IDL_Type:

int

Units:

unitless

Description: An integer representing a bitmask defined in LSE-209.