added show all to sample storage

This commit is contained in:
Holler Mirko 2024-03-05 17:04:29 +01:00 committed by wakonig_k
parent 345a95dbe7
commit 02f950de8d

View File

@ -4,6 +4,7 @@ from ophyd import Component as Cpt
from ophyd import Device
from ophyd import DynamicDeviceComponent as Dcpt
from ophyd import EpicsSignal
from prettytable import PrettyTable
class FlomniSampleStorageError(Exception):
@ -18,6 +19,7 @@ class FlomniSampleStorage(Device):
"unset_sample_slot",
"set_sample_in_gripper",
"unset_sample_in_gripper",
"show_all",
]
SUB_VALUE = "value"
_default_sub = SUB_VALUE
@ -80,3 +82,36 @@ class FlomniSampleStorage(Device):
def is_sample_in_gripper(self) -> bool:
val = self.sample_in_gripper.get()
return bool(val)
def get_sample_name(self, slot_nr) -> str:
val = getattr(self.sample_names, f"sample{slot_nr}").get()
return str(val)
def show_all(self):
t = PrettyTable()
t.title = "flOMNI sample storage"
field_names = [""]
field_names.extend(str(ax) for ax in range(1,11))
for ct in range(0,2):
t.field_names = field_names
row = ["Container " + str(ct)]
row.extend(
"used" if self.is_sample_slot_used(slot_nr) else "free"
for slot_nr in range((ct*10)+1,(ct*10)+11)
)
t.add_row(row)
print(t)
print("\n\nFollowing samples are currently loaded:\n")
for ct in range(1,21):
if self.is_sample_slot_used(ct):
print(f" Position {ct:2.0f}: {self.get_sample_name(ct)}")
if self.sample_in_gripper.get():
print(f"\nGripper: {self.sample_in_gripper_name.get()}\n")
else:
print(f"\nGripper: no sample\n")
if self.is_sample_slot_used(0):
print(f"flOMNI stage: {self.get_sample_name(0)}\n")
else:
print(f"flOMNI stage: no sample\n")