ATBuilding#

class lsst.ts.observatory.control.auxtel.ATBuilding(domain=None, log=None, intended_usage=None)#

Bases: RemoteGroup

LSST Auxiliary Telescope Building.

ATBuilding encapsulates core functionality from the ATBuilding CSC, providing high-level methods for controlling the vent gates and extraction fan.

Parameters:
  • domain (lsst.ts.salobj.Domain) – Domain for remotes. If None create a domain.

  • log (logging.Logger) – Optional logging class to be used for logging operations. If None, creates a new logger. Useful to use in salobj.BaseScript and allow logging in the class use the script logging.

  • intended_usage (int) – Optional integer that maps to a list of intended operations. This is used to limit the resources allocated by the class by gathering some knowledge about the usage intention. By default allocates all resources.

rem.atbuilding#
Type:

salobj.Remote

Attributes Summary

usages

Define class usages.

valid_use_cases

Returns valid usages.

Methods Summary

assert_vent_gate_state(gates, expected_state)

Assert that the specified vent gates are in the expected state.

close_all_vent_gates()

Close all four vent gates and wait for them to report closed.

close_vent_gates(gates)

Close the specified vent gates and wait for them to report closed.

open_all_vent_gates()

Open all four vent gates and wait for them to report open.

open_vent_gates(gates[, expected_state])

Open the specified vent gates and wait for them to report expected_state.

start_extraction_fan(target_frequency)

Start the extraction fan at a specified drive frequency.

stop_extraction_fan()

Stop the extraction fan.

Attributes Documentation

usages#
valid_use_cases#

Returns valid usages.

When subclassing, overwrite this method to return the proper enum.

Returns:

usages

Return type:

ATBuildingUsages

Methods Documentation

async assert_vent_gate_state(gates, expected_state)#

Assert that the specified vent gates are in the expected state.

Parameters:
  • gates (list of int) – Gate indices to check (0-3).

  • expected_state (VentGateState) – Expected state for all specified gates.

Raises:

AssertionError – If any gate is not in expected_state.

Return type:

None

async close_all_vent_gates()#

Close all four vent gates and wait for them to report closed.

Raises:

RuntimeError – If any gate does not reach VentGateState.CLOSED.

Return type:

None

async close_vent_gates(gates)#

Close the specified vent gates and wait for them to report closed.

Parameters:

gates (list of int) – Indices of the gates to close (0-3, counter-clockwise from door).

Raises:
  • ValueError – If any gate index is outside the range [0, N_VENT_GATES).

  • RuntimeError – If a gate does not reach VentGateState.CLOSED after the command.

Return type:

None

async open_all_vent_gates()#

Open all four vent gates and wait for them to report open.

Raises:

RuntimeError – If any gate does not reach VentGateState.OPENED.

Return type:

None

async open_vent_gates(gates, expected_state=VentGateState.OPENED)#

Open the specified vent gates and wait for them to report expected_state.

Parameters:
  • gates (list of int) – Indices of the gates to open (0-3, counter-clockwise from door).

  • expected_state (VentGateState) – State to wait for, default VentGateState.OPENED.

Raises:
  • ValueError – If any gate index is outside the range [0, N_VENT_GATES).

  • RuntimeError – If a gate does not reach expected_state after the command.

Return type:

None

async start_extraction_fan(target_frequency)#

Start the extraction fan at a specified drive frequency.

Parameters:

target_frequency (float) – Target drive frequency in Hz. Must be positive.

Raises:

ValueError – If target_frequency is not positive.

Return type:

None

async stop_extraction_fan()#

Stop the extraction fan.

Return type:

None