initial version flomni temp humidity
This commit is contained in:
@@ -365,7 +365,9 @@ rtz:
|
||||
readOnly: false
|
||||
readoutPriority: on_request
|
||||
|
||||
|
||||
############################################################
|
||||
####################### Cameras ############################
|
||||
############################################################
|
||||
|
||||
cam_flomni_gripper:
|
||||
description: Camera sample changer
|
||||
@@ -389,4 +391,30 @@ cam_flomni_overview:
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readOnly: false
|
||||
readoutPriority: on_request
|
||||
readoutPriority: on_request
|
||||
|
||||
# cam_flomni_xeye:
|
||||
# description: Camera flOMNI Xray eye ID101
|
||||
# deviceClass: csaxs_bec.devices.ids_cameras.ids_camera.IDSCamera
|
||||
# deviceConfig:
|
||||
# camera_ID: 101
|
||||
# bits_per_pixel: 24
|
||||
# channels: 3
|
||||
# m_n_colormode: 1
|
||||
# enabled: true
|
||||
# onFailure: buffer
|
||||
# readOnly: false
|
||||
# readoutPriority: async
|
||||
|
||||
|
||||
# ############################################################
|
||||
# ################### flOMNI temperatures ####################
|
||||
# ############################################################
|
||||
flomni_temphum:
|
||||
description: flOMNI Temperatures and humidity
|
||||
deviceClass: csaxs_bec.devices.omny.flomni_temp_and_humidity.FlomniTempHum
|
||||
deviceConfig: {}
|
||||
enabled: true
|
||||
onFailure: buffer
|
||||
readOnly: false
|
||||
readoutPriority: baseline
|
||||
116
csaxs_bec/devices/omny/flomni_temp_and_humidity.py
Normal file
116
csaxs_bec/devices/omny/flomni_temp_and_humidity.py
Normal file
@@ -0,0 +1,116 @@
|
||||
import time
|
||||
import datetime
|
||||
|
||||
from ophyd import Component as Cpt
|
||||
from ophyd import Device
|
||||
from ophyd import DynamicDeviceComponent as Dcpt
|
||||
from ophyd import EpicsSignal
|
||||
from prettytable import FRAME, PrettyTable
|
||||
import numpy as np
|
||||
|
||||
class FlomniTempHumError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class FlomniTempHum(Device):
|
||||
USER_ACCESS = [
|
||||
"show_all",
|
||||
"help",
|
||||
]
|
||||
SUB_VALUE = "value"
|
||||
_default_sub = SUB_VALUE
|
||||
|
||||
|
||||
temperature_mirror = Cpt(
|
||||
EpicsSignal, name="temperature_mirror", read_pv="XOMNI-TEMPHUM-MIRROR:0.VAL"
|
||||
)
|
||||
temperature_mirrorset_set = Cpt(
|
||||
EpicsSignal, name="temperature_mirrorset_set", read_pv="XOMNI-TEMPHUM-MIRRORSET_SET:0.VAL"
|
||||
)
|
||||
temperature_mirrorset_rb = Cpt(
|
||||
EpicsSignal, name="temperature_mirrorset_rb", read_pv="XOMNI-TEMPHUM-MIRRORSET_RB:0.VAL"
|
||||
)
|
||||
|
||||
temperature_osa = Cpt(
|
||||
EpicsSignal, name="temperature_osa", read_pv="XOMNI-TEMPHUM-OSA:0.VAL"
|
||||
)
|
||||
temperature_osaset_set = Cpt(
|
||||
EpicsSignal, name="temperature_osaset_set", read_pv="XOMNI-TEMPHUM-OSASET_SET:0.VAL"
|
||||
)
|
||||
temperature_osaset_rb = Cpt(
|
||||
EpicsSignal, name="temperature_osaset_rb", read_pv="XOMNI-TEMPHUM-OSASET_RB:0.VAL"
|
||||
)
|
||||
|
||||
omegactrl_alive = Cpt(
|
||||
EpicsSignal, name="omegactrl_alive", read_pv="XOMNI-TEMPHUM-OMEGACTRL-ALIVE:0.VAL"
|
||||
)
|
||||
galilctrl_alive = Cpt(
|
||||
EpicsSignal, name="galilctrl_alive", read_pv="XOMNI-TEMPHUM-GALILCTRL-ALIVE:0.VAL"
|
||||
)
|
||||
|
||||
temperature_heater = Cpt(
|
||||
EpicsSignal, name="temperature_heater", read_pv="XOMNI-TEMPHUM-HEATER:0.VAL"
|
||||
)
|
||||
temperature_heaterset_set = Cpt(
|
||||
EpicsSignal, name="temperature_heaterset_set", read_pv="XOMNI-TEMPHUM-HEATERSET_SET:0.VAL"
|
||||
)
|
||||
temperature_heaterset_rb = Cpt(
|
||||
EpicsSignal, name="temperature_heaterset_rb", read_pv="XOMNI-TEMPHUM-HEATERSET_RB:0.VAL"
|
||||
)
|
||||
temperature_heaterhousing = Cpt(
|
||||
EpicsSignal, name="temperature_heaterhousing", read_pv="XOMNI-TEMPHUM-HEATERHOUSE:0.VAL"
|
||||
)
|
||||
temperature_heaterhousing_alarm = Cpt(
|
||||
EpicsSignal, name="temperature_heaterhousing_alarm", read_pv="XOMNI-TEMPHUM-HEATERHOUSEALARM:0.VAL"
|
||||
)
|
||||
temperature_heater_enabled = Cpt(
|
||||
EpicsSignal, name="temperature_heater_enabled", read_pv="XOMNI-TEMPHUM-HEAT_EN:0.VAL"
|
||||
)
|
||||
|
||||
|
||||
# XOMNI-TEMPHUM-HUM1,0}
|
||||
# {XOMNI-TEMPHUM-HUM2,0}
|
||||
# {XOMNI-TEMPHUM-TEMP1,0}
|
||||
# {XOMNI-TEMPHUM-TEMP2,0}
|
||||
# {XOMNI-TEMPHUM-ERR1,0}
|
||||
# {XOMNI-TEMPHUM-ERR2,0}
|
||||
# {XOMNI-TEMPHUM-FLOW,0}
|
||||
# {XOMNI-TEMPHUM-FLOWSET,0}
|
||||
# {XOMNI-TEMPHUM-FLOWSETSET,0}
|
||||
# {XOMNI-TEMPHUM-HUMSET,0}
|
||||
# {XOMNI-TEMPHUM-HUMSETSET,0}
|
||||
# {XOMNI-TEMPHUM-SUCTION,0}
|
||||
# {XOMNI-TEMPHUM-SUCTIONSET,0}
|
||||
# {XOMNI-TEMPHUM-VALVEDRY,0}
|
||||
# {XOMNI-TEMPHUM-VALVEWET,0}
|
||||
# {XOMNI-TEMPHUM-VALVESUC,0}
|
||||
# {XOMNI-TEMPHUM-SETUPTEMP,0}
|
||||
# }
|
||||
|
||||
def __init__(self, prefix="", *, name, **kwargs):
|
||||
super().__init__(prefix, name=name, **kwargs)
|
||||
self.temperature_mirror.subscribe(self._emit_value, run=False)
|
||||
|
||||
def _emit_value(self, **kwargs):
|
||||
timestamp = kwargs.pop("timestamp", time.time())
|
||||
self._run_subs(sub_type=self.SUB_VALUE, timestamp=timestamp, obj=self)
|
||||
|
||||
|
||||
|
||||
def show_all(self):
|
||||
print("Temperatures in flOMNI")
|
||||
print(f" Mirror: {float(self.temperature_mirror.get()):.2f} degC")
|
||||
print(f" Mirror Setpoint: {float(self.temperature_mirrorset_rb.get()):.2f} degC")
|
||||
print(f" OSA: {float(self.temperature_osa.get()):.1f} degC")
|
||||
print(f" OSA Setpoint: {float(self.temperature_osaset_rb.get()):.1f} degC")
|
||||
print(f" Heater: {float(self.temperature_heater.get()):.1f} degC")
|
||||
print(f" Heater Setpoint: {float(self.temperature_heaterset_rb.get()):.1f} degC")
|
||||
print(f" Heater Enabled: {float(self.temperature_heater_enabled.get()):.0f}")
|
||||
print(f" Heater Housing: {float(self.temperature_heaterhousing.get()):.1f} degC")
|
||||
print(f" Heater Housing Alarm: {float(self.temperature_heaterhousing_alarm.get()):.0f}")
|
||||
print(f" OMEGA ALIVE: {float(self.temperature_heaterhousing_alarm.get()):.0f}")
|
||||
|
||||
|
||||
|
||||
def help(self):
|
||||
print("Help for OMNY temperatures:")
|
||||
Reference in New Issue
Block a user