feat: finish implemending live flux display

This commit is contained in:
perl_d committed 2026-07-10 14:52:18 +02:00
1 parent df44b656ed
commit af4db11d82
3 files changed
+18 -5

No files matched your search

+2 -2
View File
@@ -1821,7 +1821,7 @@ class AareDAQ:
self.__cfg.set_busy(BeamlineStateEnum.SampleAlignment)
try:
self.__cfg.abr_meas_pos = AerotechCoordinate(at_mm=self.__devs.aerotech_pos.at_mm)
#self.__devs.bec_worker.save_current_aerotech_position()
# self.__devs.bec_worker.save_current_aerotech_position()
self.__cfg.state_busy = False
except Exception:
self.__cfg.state_busy = False
@@ -3235,7 +3235,7 @@ class AareDAQ:
exp_shutter_open = self.__devs.exp_shutter.state()
pss_prohibited = self.__devs.pss.is_prohibited()
pss_alarm = self.__devs.pss.alarm_active()
flux = self.__devs.full_flux
flux = self.__devs.flux
samcam_settings = self.__devs.samcam_settings
bl = self.__bl
transmission = self.__devs.transmission
+8
View File
@@ -381,6 +381,14 @@ class BECClientWorker:
energy_kev = energy_ev / 1000
return energy_kev
def get_flux_x10sa(self):
try:
curr, max = bpm2flux()
except Exception as e:
logger.error(f"Could not get 10s flux from macro {e}")
curr, max = 9e12, 9e12
return curr
def change_energy(self, value: float | int, plot: bool = False):
current_energy = self.check_current_energy()
logger.info(f"Current energy: {current_energy:.1f} eV")
+8 -3
View File
@@ -61,7 +61,7 @@ class StatusBar(QStatusBar):
self.sharpness = ValueLabel("Samcam image sharpness", "", self)
self.samcam_fps = ValueLabel("Samcam FPS", "fps", self)
self.flux = ValueLabel("Flux", "x 10<sup>9</sup> ph/s", self)
self.flux = ValueLabel("Flux", "ph/s", self)
self.transmission = ValueLabel("Transmission", "", self)
self.ring_current = ValueLabel("Ring current", "mA", self)
self.wvl = ValueLabel("Wavelength", "&Aring;", self)
@@ -138,8 +138,13 @@ class StatusBar(QStatusBar):
if status.bl.flux_ph_s is None:
self.flux.set_value("0")
else:
self.flux.set_value(f"{(status.bl.flux_ph_s / 1e9):.0f}")
try:
num = f"{status.bl.flux_ph_s:.2E}"
mod, exp = num.split("E")
self.flux.set_value(f"{mod} x 10<sup>{int(exp)}</sup>")
except Exception as e:
logger.error(f"Error parsing flux result: {e}")
self.flux.set_value(f"{status.bl.flux_ph_s:.2E}")
if status.bl.transmission is None:
self.transmission.set_value("(moving)")
else: