TelemetryClient#

class lsst.ts.mtmount.TelemetryClient(host, port=50035, connection_timeout=10)#

Bases: Client

Read telemetry data from the TMA and publish as SAL messages.

Paramaters#

hoststr

Host IP address of TMA telemetry server.

portint

Host IP port of TMA telemetry server.

connection_timeoutfloat

Connection timeout (sec).

Notes

Methods with the name “_preprocess_{sal_topic_name}” are used to tweak telemetry data. They receive one argument: the raw telemetry data as a dict, and must modify it “in place”.

Attributes Summary

Methods Summary

amain()

connect_callback(client)

get_preprocessor(sal_topic_name)

Get the preprocessor for this topic, if it exists, else None.

heartbeat_loop()

Output telemetryClientHeartbeat telemetry at regular intervals.

read_loop()

Read and process status from the low-level controller.

signal_handler()

Handle signals such as SIGTERM.

start()

Connect to the telemetry port and start the read loop.

Attributes Documentation

on_drive_states = frozenset({'Discrete Motion', 'Standstill', 'Stopping'})#

Methods Documentation

async classmethod amain()#
async connect_callback(client)#
get_preprocessor(sal_topic_name)#

Get the preprocessor for this topic, if it exists, else None.

Parameters:

sal_topic_name (str) – Name of SAL telemetry topic, e.g. “tel_azimuthDrives”.

async heartbeat_loop()#

Output telemetryClientHeartbeat telemetry at regular intervals.

async read_loop()#

Read and process status from the low-level controller.

signal_handler()#

Handle signals such as SIGTERM.

async start()#

Connect to the telemetry port and start the read loop.