bug fixes in ppms

- bug fixes
- set min/max datatype property of mf

Change-Id: I841e69b59085991e56499efbbf9bee7040dc8b59
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21483
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
2019-10-30 09:02:25 +01:00
parent 230624cdeb
commit ac873ed546
2 changed files with 7 additions and 5 deletions

View File

@ -13,6 +13,8 @@ class = secop_psi.ppms.Temp
[module mf] [module mf]
class = secop_psi.ppms.Field class = secop_psi.ppms.Field
target.min = -9
target.max = 9
.description = magnetic field .description = magnetic field
.iodev = ppms .iodev = ppms

View File

@ -488,7 +488,7 @@ class Chamber(PpmsMixin, Drivable):
Override(visibility=3), Override(visibility=3),
} }
STATUS_MAP = { STATUS_MAP = {
StatusCode.unknown: [Status.ERROR, 'unknown'], StatusCode.unknown: [Status.WARN, 'unknown'],
StatusCode.purged_and_sealed: [Status.IDLE, 'purged and sealed'], StatusCode.purged_and_sealed: [Status.IDLE, 'purged and sealed'],
StatusCode.vented_and_sealed: [Status.IDLE, 'vented and sealed'], StatusCode.vented_and_sealed: [Status.IDLE, 'vented and sealed'],
StatusCode.sealed_unknown: [Status.WARN, 'sealed unknown'], StatusCode.sealed_unknown: [Status.WARN, 'sealed unknown'],
@ -594,7 +594,7 @@ class Temp(PpmsMixin, Drivable):
channel = 'temp' channel = 'temp'
_settingnames = ['target', 'ramp', 'approachmode'] _settingnames = ['target', 'ramp', 'approachmode']
_stopped = False _stopped = False
_expected_target = None _expected_target = 0
_last_change = 0 # 0 means no target change is pending _last_change = 0 # 0 means no target change is pending
def earlyInit(self): def earlyInit(self):
@ -633,7 +633,7 @@ class Temp(PpmsMixin, Drivable):
self.status = [self.Status.WARN, 'timeout while %s' % status[1]] self.status = [self.Status.WARN, 'timeout while %s' % status[1]]
return return
else: else:
self._expected_target = None self._expected_target = 0
self.status = status self.status = status
def get_settings(self, pname): def get_settings(self, pname):
@ -678,7 +678,7 @@ class Temp(PpmsMixin, Drivable):
return newtarget return newtarget
def write_ramp(self, value): def write_ramp(self, value):
if not isDriving(self.status)(): if not isDriving(self.status):
# do not yet write settings, as this may change the status to busy # do not yet write settings, as this may change the status to busy
return value return value
if time.time() < self._expected_target: # recalc expected target if time.time() < self._expected_target: # recalc expected target
@ -694,7 +694,7 @@ class Temp(PpmsMixin, Drivable):
def do_stop(self): def do_stop(self):
if not isDriving(self.status): if not isDriving(self.status):
return return
if self.status[0] == self.Status.STABLIZING: if self.status[0] == self.Status.STABILIZING:
# we are already near target # we are already near target
newtarget = self.target newtarget = self.target
else: else: