Maser subpackage
This subpackage implements maser functionality for SAT.LMC.
- class MaserDriver(logger, maser_host, maser_port, communication_state_changed=None, component_state_changed=None, update_rate=1.0)
Device Server for the T4Science i3000 Maser for SAT.LMC.
- __init__(logger, maser_host, maser_port, communication_state_changed=None, component_state_changed=None, update_rate=1.0)
Initialise the attributes and properties of the SatMaser.
- Parameters:
logger (
Logger
) – a logger for this object to usemaser_host (
str
) – the host of the hardware masermaser_port (
int
) – the port of the hardware masercommunication_state_changed (
Optional
[Callable
[[CommunicationStatus
],None
]]) – callback to be called when the status of the communications channel between the component manager and its component changescomponent_state_changed (
Optional
[Callable
[[bool
],None
]]) – callback to be called when the component faults (or stops faulting)update_rate (
float
) – how often updates to attribute values should be provided. This is not necessarily the same as the rate at which the instrument is polled. For example, the instrument may be polled every 0.1 seconds, thus ensuring that any invoked commands or writes will be executed promptly. However, if the update_rate is 5.0, then routine reads of instrument values will only occur every 50th poll (i.e. every 5 seconds).
- get_request()
Check whether the attributes should be read on the next poll.
- Return type:
- Returns:
true if attributes are read on the next poll.
- poll(poll_request)
Poll the hardware.
Connect to the hardware, write any values that are to be written, and then read all values.
- poll_succeeded(poll_response)
Handle the receipt of new polling values.
This is a hook called by the poller when values have been read during a poll.
- polling_stopped()
Respond to polling having stopped.
This is a hook called by the poller when it stops polling.
- Return type:
- class MaserHealthModel(health_changed_callback, **kwargs)
A health model for a maser.
At present this uses the base health model; this is a placeholder for a future, better implementation.
- class SatMaser(*args, **kwargs)
An implementation of a Maser Tango device for SatLmc.
- GetVersionInfo()
Get the version the device.
- Return type:
- Returns:
Version details of the device.
- class InitCommand(*args, **kwargs)
Implement the device initialisation for the Maser device.
- do(*args, **kwargs)
Initialise the attributes and properties.
- Parameters:
- Return type:
- Returns:
A tuple containing a return code and a string message indicating status. The message is for information purpose only.
- Off()
Put the device into off mode.
The Maser is always on so this does nothing
- On()
Put the device into on mode.
The Maser is always on so this does nothing
- Reset()
Reset the device.
The Maser is always on so this does nothing
- Standby()
Put the device into standby mode.
The Maser is always on so this does nothing
- __init__(*args, **kwargs)
Initialise a new instance.
- ambient_temperature()
Report the ambient temperature.
- Return type:
- Returns:
ambient temperature
- amplitude_405khz_voltage()
Report the 405 kHz Amplitude.
- Return type:
- Returns:
the 405 kHz Amplitude
- create_component_manager()
Create and return a component manager for this device.
- Return type:
- Returns:
a component manager for this device.
- dissociator_current()
Report the dissociator current.
- Return type:
- Returns:
dissociator current
- external_bottom_heater_voltage()
Report the external bottom heater voltage.
- Return type:
- Returns:
external bottom heater voltage
- external_high_current_value()
Report the external high current value.
- Return type:
- Returns:
external high current value
- external_high_voltage_value()
Report the external high voltage value.
- Return type:
- Returns:
external high voltage value
- external_side_heater_voltage()
Report the external side heater voltage.
- Return type:
- Returns:
external side heater voltage
- hydrogen_pressure_measured()
Report the measured hydrogen pressure.
- Return type:
- Returns:
hydrogen pressure measurement
- hydrogen_pressure_setting()
Report the hydrogen pressure setting.
- Return type:
- Returns:
hydrogen pressure setting
- hydrogen_storage_heater_voltage()
Report the hydrogen storage heater voltage.
- Return type:
- Returns:
hydrogen storage heater voltage
- hydrogen_storage_pressure()
Report the hydrogen storage pressure.
- Return type:
- Returns:
hydrogen storage pressure
- init_command_objects()
Initialise the command handlers for commands supported by this device.
- Return type:
- internal_bottom_heater_voltage()
Report the internal bottom heater voltage.
- Return type:
- Returns:
internal bottom heater voltage
- internal_high_current_value()
Report the internal high current value.
- Return type:
- Returns:
internal high current value
- internal_high_voltage_value()
Report the internal high voltage value.
- Return type:
- Returns:
internal high voltage value
- internal_side_heater_voltage()
Report the internal side heater voltage.
- Return type:
- Returns:
internal side heater voltage
- internal_top_heater_voltage()
Report the internal top heater voltage.
- Return type:
- Returns:
internal top heater voltage
- is_attribute_allowed(attr_req_type)
Protect attribute access before being updated otherwise it reports alarm.
- Parameters:
attr_req_type (
AttReqType
) – tango attribute type READ/WRITE- Return type:
- Returns:
True if the attribute can be read else False
- isolator_heater_voltage()
Report the isolator heater voltage.
- Return type:
- Returns:
isolator heater voltage
- oscillator_100mhz_voltage()
Report the oscillator_voltage 100MHz.
- Return type:
- Returns:
oscillator_voltage 100MHz
- oscillator_voltage()
Report the OCXO varicap voltage.
- Return type:
- Returns:
the OCXO varicap voltage
- phase_lock_loop_lockstatus()
Report the main PLL lock status.
- Return type:
- Returns:
main PLL lock status
- pirani_heater_voltage()
Report the pirani heater voltage.
- Return type:
- Returns:
pirani heater voltage
- thermal_control_unit_heater_voltage()
Report the thermal control unit heater voltage.
- Return type:
- Returns:
thermal control unit heater voltage
- tube_heater_voltage()
Report the tube heater voltage.
- Return type:
- Returns:
tube heater voltage
- Maser device
SatMaser
SatMaser.GetVersionInfo()
SatMaser.InitCommand
SatMaser.Off()
SatMaser.On()
SatMaser.Reset()
SatMaser.Standby()
SatMaser.__init__()
SatMaser.ambient_temperature()
SatMaser.amplitude_405khz_voltage()
SatMaser.battery_current_a()
SatMaser.battery_current_b()
SatMaser.battery_voltage_a()
SatMaser.battery_voltage_b()
SatMaser.boxes_current()
SatMaser.boxes_temperature()
SatMaser.cfield_voltage()
SatMaser.create_component_manager()
SatMaser.dissociator_current()
SatMaser.dissociator_light()
SatMaser.external_bottom_heater_voltage()
SatMaser.external_high_current_value()
SatMaser.external_high_voltage_value()
SatMaser.external_side_heater_voltage()
SatMaser.hydrogen_pressure_measured()
SatMaser.hydrogen_pressure_setting()
SatMaser.hydrogen_storage_heater_voltage()
SatMaser.hydrogen_storage_pressure()
SatMaser.init_command_objects()
SatMaser.init_device()
SatMaser.internal_bottom_heater_voltage()
SatMaser.internal_high_current_value()
SatMaser.internal_high_voltage_value()
SatMaser.internal_side_heater_voltage()
SatMaser.internal_top_heater_voltage()
SatMaser.is_attribute_allowed()
SatMaser.isolator_heater_voltage()
SatMaser.lock100mhz()
SatMaser.negative15vdc()
SatMaser.negative5vdc()
SatMaser.oscillator_100mhz_voltage()
SatMaser.oscillator_voltage()
SatMaser.phase_lock_loop_lockstatus()
SatMaser.pirani_heater_voltage()
SatMaser.positive15vdc()
SatMaser.positive18vdc()
SatMaser.positive24vdc()
SatMaser.positive5vdc()
SatMaser.positive8vdc()
SatMaser.purifier_current()
SatMaser.thermal_control_unit_heater_voltage()
SatMaser.tube_heater_voltage()
SatMaser.varactor_diode_voltage()
main()
- Maser health model