improvements in magfiels/ips_mercury
- read voltage - fix a bug with ._init name conflict
This commit is contained in:
@ -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')
|
||||
|
||||
|
Reference in New Issue
Block a user