From 1e56f2f39e253c8d797d0791dbba61647c15befe Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Mon, 29 Jan 2024 10:27:22 +0100 Subject: [PATCH] frappy_psi/SR.py: move soft auto range from read_value to doPoll Change-Id: Ia94e081eaa4c28b1f436227635d7c5beb883792b --- frappy_psi/SR.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frappy_psi/SR.py b/frappy_psi/SR.py index e3f0026..2de98b5 100644 --- a/frappy_psi/SR.py +++ b/frappy_psi/SR.py @@ -58,6 +58,14 @@ class XY(HasIO, Readable): ioClass = SR_IO + def doPoll(self): + super().doPoll() + if self.autorange == 1: # soft auto range + if max(abs(x), abs(y)) >= 0.9 * self.range and self.irange < 27: + self.write_irange(self.irange + 1) + elif max(abs(x), abs(y)) <= 0.3 * self.range and self.irange > 1: + self.write_irange(self.irange - 1) + def comm(self, cmd): reply, status, overload = self.communicate(cmd).split(';') # try/except reply = reply.rstrip('\n') @@ -85,11 +93,6 @@ class XY(HasIO, Readable): reply = self.comm('XY.').split(',') x = float(reply[0]) y = float(reply[1]) - if self.autorange == 1: # soft - if max(abs(x), abs(y)) >= 0.9 * self.range and self.irange < 27: - self.write_irange(self.irange + 1) - elif max(abs(x), abs(y)) <= 0.3 * self.range and self.irange > 1: - self.write_irange(self.irange - 1) return x, y def read_freq(self):