Tango Device

Properties

Property

Type

Default Value

Example Value

exchanges_json

String

""

'{"exchanges": []}'

exchanges_config_path

String

""

'/component/lmc-queueconnector-01/owner'

Commands

Command

Args

Return Type

IsMonitoringDB()

Void

Bool

Configure()

String

Void

Reset()

Void

Void

Note

Additional commands Standby(), Start(), Stop(), Abort() are intended for testing purposes and may be disabled or removed in future releases.

State Model

The present implementation utilizes the following native Tango operational states that can be read using the state attribute.

  • INIT: the device is currently initialising.

  • FAULT: the device has experienced an unexpected error from which it needs to be reset.

  • STANDBY: the device is not configured.

  • OFF: the device is configured, but not currently in use.

  • OPEN: the device is opening stream connections.

  • ON: the device is streaming data.

  • CLOSE: the device is closing stream connections.

_images/state-model.drawio.svg

Note

Transition arrows are triggered by a corresponding tango command, with the exception of underlined transitions, which are triggered automatically.

Configuring

The Queue Connector Tango Device only streams data when it has been configured at runtime. This can be performed via multiple approaches.

Configure by Property

To configure via properties, set either the exchanges_json and exchanges_config_path properties in the tango database and the device will configure on initialization.

Note

If both exchanges_json and exchanges_config_path properties are provided, then exchanges_config_path will take priority.

Configuration Database Path

To configure via SDP Config, set the exchanges_config_path property to a SDP Config path (including leading slash). The device will fetch the JSON value at the given path parsed as a QueueConnectorDescriptor.

JSON

To configure via JSON, set the exchanges_json property to JSON that will be parsed as a QueueConnectorDescriptor.

Configure by Command

Configuration may be performed post initialization using the Configure() command.

JSON

Pass a raw JSON string of the QueueConnectorDescriptor to the Configure() when in the STANDBY state. Configuring the device successfully will transition the device to the OFF state.

Configuration Database Path

Pass a configuration database path string to the Configure() command.

Note

The command will check for a leading ‘/’ as a heuristic for detecting a config_path to configure from, otherwise attempting to parse the string as JSON.

Note

Configure by command is deprecated and estimated for remove in version 4.0.0