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

@ -35,6 +35,7 @@ CURRENT_CHECK_SIZE = 2
class Field(MercuryChannel, Magfield):
action = Parameter('action', EnumType(Action), readonly=False)
setpoint = Parameter('field setpoint', FloatRange(unit='T'), default=0)
voltage = Parameter('leads voltage', FloatRange(unit='V'), default=0)
atob = Parameter('field to amp', FloatRange(0, unit='A/T'), default=0)
forced_persistent_field = Parameter(
'manual indication that persistent field is bad', BoolType(), readonly=False, default=False)
@ -43,13 +44,13 @@ class Field(MercuryChannel, Magfield):
_field_mismatch = None
nslaves = 3
slave_currents = None
_init = True
__init = True
def read_value(self):
self.current = self.query('PSU:SIG:FLD')
pf = self.query('PSU:SIG:PFLD')
if self._init:
self._init = False
if self.__init:
self.__init = False
self.persistent_field = pf
if self.switch_heater != 0 or self._field_mismatch is None:
self.forced_persistent_field = False
@ -92,6 +93,9 @@ class Field(MercuryChannel, Magfield):
def read_atob(self):
return self.query('PSU:ATOB')
def read_voltage(self):
return self.query('PSU:SIG:VOLT')
def read_setpoint(self):
return self.query('PSU:SIG:FSET')