ATBuilding#
- class lsst.ts.observatory.control.auxtel.ATBuilding(domain=None, log=None, intended_usage=None)#
Bases:
RemoteGroupLSST 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. IfNonecreate a domain.log (
logging.Logger) – Optional logging class to be used for logging operations. IfNone, 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
Define class usages.
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 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 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 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:
Methods Documentation
- async assert_vent_gate_state(gates, expected_state)#
Assert that the specified vent gates are in the expected state.
- Parameters:
- Raises:
AssertionError – If any gate is not in
expected_state.- Return type:
- 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:
- async close_vent_gates(gates)#
Close the specified vent gates and wait for them to report closed.
- Parameters:
gates (
listofint) – 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.CLOSEDafter the command.
- Return type:
- 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:
- async open_vent_gates(gates, expected_state=VentGateState.OPENED)#
Open the specified vent gates and wait for them to report expected_state.
- Parameters:
- 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:
- 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_frequencyis not positive.- Return type: