Python code to communicate with the main telescope camera rotator and hexapod low level controllers (code running in PXI computers).


lsst.ts.hexrotcomm is developed at You can find Jira issues for this module at labels=ts_hexrotcomm.

Python API reference

lsst.ts.hexrotcomm Package


close_stream_writer(writer) Close an asyncio.StreamWriter and wait for it to finish closing.
read_into(reader, struct) Read binary data from a socket into a ctypes.Structure.
write_from(writer, *structs) Write binary data from one or ctypes.Structures to a socket.


BaseCsc(*, name, index, sync_pattern, …[, …]) Base CSC for talking to Moog hexpod or rotator controllers.
BaseMockController(log, CommandCode, …[, …]) Base class for a mock Moog TCP/IP controller with states.
Command Command for Moog controller.
CommandTelemetryClient(*, log, config, telemetry) Client for a mock Moog TCP/IP controller.
CommandTelemetryServer(host, log, …[, …]) Serve command and telemetry ports for a low level controller to connect to.
Header Initial part of telemetry or configuration data from a Moog controller.
OneClientServer(name, host, port, log, …) A TCP/IP socket server that serves a single client.
SetStateParam Values for Command.param1 when Command.code = CommandCode.SET_STATE.
SimpleCommandCode An enumeration.
SimpleConfig Configuration of SimpleMockController.
SimpleCsc([config_dir, initial_state, …]) Simple CSC to talk to SimpleMockController.
SimpleMockController(log[, host, …]) Simple mock controller for unit testing BaseMockController.
SimpleTelemetry Telemetry from SimpleMockController.

Version History