UtilityMonitor

class lsst.ts.m2gui.UtilityMonitor

Bases: object

Utility monitor to monitor the utility status.

Attributes:
signal_utilitySignalUtility

Signal to report the utility status.

signal_detailed_forceSignalDetailedForce

Signal to report the detailed force.

signal_positionSignalPosition

Signal to report the rigid body position.

power_motor_calibrateddict

Calibrated motor power. The unit of voltage is volt and the unit of current is ampere.

power_communication_calibrateddict

Calibrated communication power. The unit of voltage is volt and the unit of current is ampere.

power_motor_rawdict

Raw motor power. The unit of voltage is volt and the unit of current is ampere.

power_communication_rawdict

Raw communication power. The unit of voltage is volt and the unit of current is ampere.

inclinometer_anglefloat

Inclinometer angle in degree.

inclinometer_angle_tmafloat

Inclinometer angle of telescope mount assembly (TMA) in degree.

breakersdict

Breakers. The key is the breaker name. If the breaker is triggered, the value is True. Otherwise, False.

temperaturesdict

Tempertures. The key is the temperature sensor name. The value is the related temperature in degree C.

displacementsdict

Displacement sensors. The key is the displacement sensor name. The value is the reading in the unit of mm.

digital_status_inputint

Digital input status as a 32 bits value. Each bit means different status. 1 means OK (or triggered). Otherwise 0.

digital_status_outputint

Digital output status as a 8 bits value. Each bit means different status. 1 means OK (or triggered). Otherwise 0.

hard_pointsdict

Hard points of the axial and tangential actuators.

forcesActuatorForce

Detailed actuator forces.

force_error_tangentForceErrorTangent

Tangential force error to monitor the supporting force of mirror.

positionlist

Rigid body position: [x, y, z, rx, ry, rz]. The unit of x, y, and z is um. The unit of rx, ry, and ry is arcsec.

Attributes Summary

NUM_DIGIT_AFTER_DECIMAL

NUM_DIGIT_AFTER_DECIMAL_DISPLACEMENT

Methods Summary

get_breakers(power_type)

Get the breakers of the specific power type.

get_displacement_sensors(direction)

Get the displacement sensors in a specific direction.

get_forces()

Get the forces.

get_temperature_sensors(temperature_group)

Get the temperature sensors in a specific group.

report_utility_status()

Report the utility status.

reset_breakers(power_type)

Reset the breakers.

update_breaker(name, new_status)

Update the breaker status.

update_digital_status_input(new_status)

Update the digital input status (32 bits).

update_digital_status_output(new_status)

Update the digital output status (8 bits).

update_displacements(direction, ...)

Update the displacement sensor data.

update_force_error_tangent(force_error_tangent)

Update the tangential force error that monitors the supporting force of mirror.

update_forces(actuator_force)

Update the forces.

update_hard_points(axial, tangent)

Update the hard points.

update_inclinometer_angle(new_angle[, ...])

Update the angle of inclinometer.

update_position(x, y, z, rx, ry, rz)

Update the position of rigid body.

update_power_calibrated(power_type, ...)

Update the calibrated power data.

update_power_raw(power_type, new_voltage, ...)

Update the raw power data.

update_temperature(temperature_group, ...)

Update the temperature data.

Attributes Documentation

NUM_DIGIT_AFTER_DECIMAL = 1
NUM_DIGIT_AFTER_DECIMAL_DISPLACEMENT = 3

Methods Documentation

get_breakers(power_type)

Get the breakers of the specific power type.

Parameters:
power_typeenum lsst.ts.m2com.PowerType

Power type.

Returns:
list [str]

List of the breakers.

get_displacement_sensors(direction)

Get the displacement sensors in a specific direction.

Parameters:
directionenum DisplacementSensorDirection

Direction of the displacement sensors.

Returns:
list [str]

List of the sensors.

get_forces()

Get the forces.

Parameters:
`ActuatorForce`

Detailed actuator forces as a new copy of internal data.

get_temperature_sensors(temperature_group)

Get the temperature sensors in a specific group.

Parameters:
temperature_groupenum TemperatureGroup

Temperature group.

Returns:
list [str]

List of the sensors.

report_utility_status()

Report the utility status.

reset_breakers(power_type)

Reset the breakers.

Parameters:
power_typeenum lsst.ts.m2com.PowerType

Power type.

update_breaker(name, new_status)

Update the breaker status.

Parameters:
namestr

Breaker name, which is in the keys of self.breakers.

new_statusfloat

New status of breaker. If the breake is triggered, put True, otherwise, False.

update_digital_status_input(new_status)

Update the digital input status (32 bits).

Parameters:
new_statusint

New status.

update_digital_status_output(new_status)

Update the digital output status (8 bits).

Parameters:
new_statusint

New status.

update_displacements(direction, new_displacements)

Update the displacement sensor data.

This function assumes the mirror’s movement is usually in a specific direction.

Parameters:
directionenum DisplacementSensorDirection

Direction of the displacement sensors.

new_displacementslist [float]

New displacements in millimeter. The order should begin from sensor 1 to sensor n defined in the specific direction.

update_force_error_tangent(force_error_tangent)

Update the tangential force error that monitors the supporting force of mirror.

Parameters:
force_error_tangentForceErrorTangent

Tangential force error.

update_forces(actuator_force)

Update the forces.

Parameters:
actuator_forceActuatorForce

Actuator force.

Raises:
ValueError

When the input is the same object of self.forces.

update_hard_points(axial, tangent)

Update the hard points.

Parameters:
axiallist

List of the hard points in axial direction.

tangentlist

List of the hard points in tangent direction.

Raises:
ValueError

Lengths of the inputs are not right.

update_inclinometer_angle(new_angle, new_angle_processed=None, is_internal=True)

Update the angle of inclinometer.

Parameters:
new_anglefloat

New angle value in degree.

new_angle_processedfloat or None, optional

New processed angle value in degree.

is_internalbool

Is the internal inclinometer or not. If False, the new_angle comes from the telescope mount assembly (TMA). (the default is True)

update_position(x, y, z, rx, ry, rz)

Update the position of rigid body.

Parameters:
xfloat

Position x in um.

yfloat

Position y in um.

zfloat

Position z in um.

rxfloat

Rotation x in arcsec.

ryfloat

Rotation y in arcsec.

rzfloat

Rotation z in arcsec.

update_power_calibrated(power_type, new_voltage, new_current)

Update the calibrated power data.

Parameters:
power_typeenum lsst.ts.m2com.PowerType

Power type.

new_voltagefloat

New voltage value in volt.

new_currentfloat

New current value in ampere.

Raises:
ValueError

Not supported power type.

update_power_raw(power_type, new_voltage, new_current)

Update the raw power data.

Parameters:
power_typeenum lsst.ts.m2com.PowerType

Power type.

new_voltagefloat

New voltage value in volt.

new_currentfloat

New current value in ampere.

Raises:
ValueError

Not supported power type.

update_temperature(temperature_group, new_temperatures)

Update the temperature data.

This function assumes the temperature’s fluctuation is usually restricted to a small region (group) in the most of time.

Parameters:
temperature_groupenum TemperatureGroup

Temperature group.

new_temperatureslist [float]

New temperatures in degree. The order should begin from sensor 1 to sensor n defined in the specific temperature group.