CBPComponent¶
-
class
lsst.ts.cbp.CBPComponent(csc)¶ Bases:
objectThis class is for implementing the CBP component.
The component implements a python wrapper over DMC code written by DFM Manufacturing. The following API exposes commands that move the motors of the CBP, sets the focus and selects the mask.
Parameters: - csc :
CBPCSC The running CSC for the CBP.
Notes
The class uses the python socket module to build TCP/IP connections to the Galil controller for the CBP. The underlying API is built on DMC.
Attributes: - csc :
CBPCSC - log :
logging.Logger - reader :
asyncio.StreamReaderorNone - writer :
asyncio.StreamWriterorNone - lock :
asyncio.Lock - timeout :
int - long_timeout :
int - host :
str - port :
int - connected :
bool - error_tolerance :
float
Attributes Summary
auto_parkedReturn autoparked value. azimuthReturn azimuth value. elevationReturn elevation value. focusReturn focus value. in_positionReturn inPosition event data. maskReturn mask value. mask_rotationReturn mask rotation value. parkedReturn parked value. statusReturn status telemetry data. targetReturn target event data. Methods Summary
assert_in_range(name, value, min_value, …)Raise ValueError if a value is out of range. change_focus(position)Change focus. check_cbp_status()Read and record the status of the encoders. check_park()Get the park variable from CBP. configure(config)Configure the CBP. connect()Create a socket and connect to the CBP’s static address and designated port. disconnect()Disconnect from the tcp socket. generate_mask_info()Generate initial mask info. get_azimuth()Get the azimuth value. get_cbp_telemetry()Get the position data of the CBP. get_elevation()Read and record the mount elevation encoder, in degrees. get_focus()Get the focus value. get_mask()Get mask and mask rotation value. move_azimuth(position)Move the azimuth encoder. move_elevation(position)Move the elevation encoder. send_command(msg)Send the encoded command and read the reply. set_mask(mask)Set the mask value set_mask_rotation(mask_rotation)Set the mask rotation set_park()Park the CBP. set_unpark()Unpark the CBP. update_in_position()Update the in position status of each actuator, based on the most recently read encoder data. update_status()Update the status. Attributes Documentation
-
auto_parked¶ Return autoparked value.
-
azimuth¶ Return azimuth value.
-
elevation¶ Return elevation value.
-
focus¶ Return focus value.
-
in_position¶ Return inPosition event data.
-
mask¶ Return mask value.
-
mask_rotation¶ Return mask rotation value.
-
parked¶ Return parked value.
-
status¶ Return status telemetry data.
-
target¶ Return target event data.
Methods Documentation
-
assert_in_range(name, value, min_value, max_value)¶ Raise ValueError if a value is out of range.
Parameters: Raises: - ValueError
Raised when a value is outside of the given range.
-
change_focus(position: int)¶ Change focus.
Parameters: - position :
int The value of the new focus (microns).
Raises: - ValueError
Raised when the new value falls outside the accepted range.
- position :
-
check_cbp_status()¶ Read and record the status of the encoders.
-
check_park()¶ Get the park variable from CBP.
-
configure(config)¶ Configure the CBP.
Parameters: - config :
types.SimpleNamespace
- config :
-
connect()¶ Create a socket and connect to the CBP’s static address and designated port.
-
disconnect()¶ Disconnect from the tcp socket.
Safe to call even if already disconnected.
-
generate_mask_info()¶ Generate initial mask info.
-
get_azimuth()¶ Get the azimuth value.
-
get_cbp_telemetry()¶ Get the position data of the CBP.
-
get_elevation()¶ Read and record the mount elevation encoder, in degrees.
Note that the low-level controller calls this axis “altitude”.
-
get_focus()¶ Get the focus value.
-
get_mask()¶ Get mask and mask rotation value.
-
move_azimuth(position: float)¶ Move the azimuth encoder.
Parameters: - position :
float The desired azimuth (degrees).
Raises: - ValueError
Raised when the new value falls outside the accepted range.
- position :
-
move_elevation(position: float)¶ Move the elevation encoder.
Parameters: - position :
float The desired elevation (degrees)
Raises: - ValueError
Raised when the new value falls outside the accepted range.
- position :
-
send_command(msg)¶ Send the encoded command and read the reply.
Parameters: - msg :
str The string command to be sent.
Returns: - reply :
str The reply to the command sent.
- msg :
-
set_mask(mask: str)¶ Set the mask value
Parameters: - mask :
str This is the name of the mask which is converted to an int using a dictionary.
Raises: - KeyError
Raised when new mask is not a key in the dictionary.
- mask :
-
set_mask_rotation(mask_rotation: float)¶ Set the mask rotation
Parameters: - mask_rotation :
float The mask_rotation value that will be sent.
Raises: - ValueError
Raised when the new value falls outside the accepted range.
- mask_rotation :
-
set_park()¶ Park the CBP.
-
set_unpark()¶ Unpark the CBP.
-
update_in_position()¶ Update the in position status of each actuator, based on the most recently read encoder data.
Returns: - did_change :
bool True if anything changed (and so the event was published)
- did_change :
-
update_status()¶ Update the status.
- csc :