From fa2e23af089e22928d5f5f24f998c0a5c714cd1c Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 21 Apr 2026 14:03:09 +0200 Subject: [PATCH] leiden GHS: make pressure scale a parameter Change-Id: I75b919030950ea68a89f92e9ebe23f1d9c5893d8 --- frappy_psi/leidenghs.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frappy_psi/leidenghs.py b/frappy_psi/leidenghs.py index 822251d9..e917ffe2 100644 --- a/frappy_psi/leidenghs.py +++ b/frappy_psi/leidenghs.py @@ -27,6 +27,7 @@ from frappy.errors import CommunicationFailedError P_SCALE = 2**14 / 1e4 + class IO(StringIO): end_of_line = '\n' identification = [('ID?', '0\\tGHS-2T-1T-700-CF.*')] @@ -80,7 +81,7 @@ class Base(HasIO): return self.io._key_status[key - 1] == '2' def get_pressure(self, addr): - return float(self.io._pressure[addr]) / P_SCALE + return float(self.io._pressure[addr]) def update_values(self): self.read_value() @@ -173,9 +174,10 @@ class Pressure(Base, Readable): value = Parameter('pressure and flow values', datatype=FloatRange(unit='mbar')) addr = Property('address of pressure sensor', datatype=EnumType(PRESSURE_MAP)) + scale = Parameter('scale factor from raw value', datatype=FloatRange(), default=P_SCALE) def read_value(self): - value = self.get_pressure(self.addr.value) + value = self.get_pressure(self.addr.value) / self.scale return value