improvements in magfiels/ips_mercury

- read voltage
- fix a bug with ._init name conflict
This commit is contained in:
2022-08-12 15:10:23 +02:00
parent 3496e391f6
commit 8e3cdc80e4
4 changed files with 25 additions and 7 deletions

View File

@ -82,19 +82,21 @@ class Magfield(HasLimits, Drivable):
'wait time to ensure field is stable', FloatRange(0, unit='s'), readonly=False, default=31)
_state = None
_init = True
__init = True
_super_sw_check = False
_last_target = None
switch_time = None
def doPoll(self):
if self._init:
self._init = False
if self.__init:
self.__init = False
self.switch_time = time.time()
if self.read_switch_heater() and self.mode == Mode.PERSISTENT:
self.read_value() # check for persistent field mismatch
# switch off heater from previous live or manual intervention
self.write_target(self.persistent_value)
self.write_target(self.persistent_field)
else:
self._last_target = self.persistent_field
else:
self.read_value()
self._state.cycle()