diff --git a/etc/amagnet.cfg b/etc/amagnet.cfg
index d3d2139..7e58e3b 100644
--- a/etc/amagnet.cfg
+++ b/etc/amagnet.cfg
@@ -35,7 +35,7 @@ tangodevice=tango://amagnet.antares.frm2:10000/box/plc/_polarity
value.datatype=["enum", {'+1':1,'0':0,'-1':-1}]
target.datatype=["enum", {'+1':1,'0':0,'-1':-1}]
.description=polarity (+/-) switch
-
+ .
there is an interlock in the plc:
if there is current, switching polarity is forbidden
if polarity is short, powersupply is disabled
@@ -49,7 +49,7 @@ tangodevice=tango://amagnet.antares.frm2:10000/box/plc/_symmetric
value.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
target.datatype=["enum",{'symmetric':1,'short':0, 'asymmetric':-1}]
.description=par/ser switch selecting (a)symmetric mode
-
+ .
symmetric is ser, asymmetric is par
.visibility=advanced
@@ -58,28 +58,28 @@ class=secop_mlz.entangle.AnalogInput
tangodevice=tango://amagnet.antares.frm2:10000/box/plc/_t1
.description=Temperature1 of the coils system
#warnlimits=(0, 50)
-#unit=degC
+value.unit='degC'
[device T2]
class=secop_mlz.entangle.AnalogInput
tangodevice=tango://amagnet.antares.frm2:10000/box/plc/_t2
.description=Temperature2 of the coils system
#warnlimits=(0, 50)
-#unit=degC
+value.unit='degC'
[device T3]
class=secop_mlz.entangle.AnalogInput
tangodevice=tango://amagnet.antares.frm2:10000/box/plc/_t3
.description=Temperature3 of the coils system
#warnlimits=(0, 50)
-#unit=degC
+value.unit='degC'
[device T4]
class=secop_mlz.entangle.AnalogInput
tangodevice=tango://amagnet.antares.frm2:10000/box/plc/_t4
.description=Temperature4 of the coils system
#warnlimits=(0, 50)
-#unit=degC
+value.unit='degC'
[device currentsource]
class=secop_mlz.entangle.PowerSupply
@@ -101,7 +101,8 @@ subdev_currentsource=currentsource
subdev_enable=enable
subdev_polswitch=polarity
subdev_symmetry=symmetry
-#unit=T
+target.unit='T'
+value.unit='T'
userlimits=(-0.35, 0.35)
calibrationtable={'symmetric':[0.00186517, 0.0431937, -0.185956, 0.0599757, 0.194042],
'short': [0.0, 0.0, 0.0, 0.0, 0.0],
@@ -110,4 +111,4 @@ calibrationtable={'symmetric':[0.00186517, 0.0431937, -0.185956, 0.0599757, 0.19
.priority=100
.visibility=user
-abslimits.default=0,0.4
+abslimits.default=-0.4,0.4
diff --git a/etc/cryo.cfg b/etc/cryo.cfg
index e0feae9..f046555 100644
--- a/etc/cryo.cfg
+++ b/etc/cryo.cfg
@@ -47,3 +47,5 @@ p.group='pid'
i.group='pid'
d.group='pid'
+value.unit='K'
+
diff --git a/secop/gui/nodectrl.py b/secop/gui/nodectrl.py
index 725218e..a21476b 100644
--- a/secop/gui/nodectrl.py
+++ b/secop/gui/nodectrl.py
@@ -133,7 +133,10 @@ class NodeCtrl(QWidget):
row = 0
for modname in sorted(self._node.modules):
modprops = self._node.getModuleProperties(modname)
- interfaces = modprops['interface_class']
+ if 'interface_class' in modprops:
+ interfaces = modprops['interface_class']
+ else:
+ interfaces = modprops['interfaces']
description = modprops['description']
unit = self._node.getProperties(modname, 'value').get('unit', '')
@@ -144,7 +147,8 @@ class NodeCtrl(QWidget):
label = QLabel(labelstr)
label.setFont(labelfont)
- if 'Drivable' in interfaces:
+ # fallback: allow (now) invalid 'Driveable'
+ if 'Drivable' in interfaces or 'Driveable' in interfaces:
widget = DrivableWidget(self._node, modname, self)
elif 'Readable' in interfaces:
widget = ReadableWidget(self._node, modname, self)
diff --git a/secop/gui/ui/nodectrl.ui b/secop/gui/ui/nodectrl.ui
index 99bee3a..4d4fe24 100644
--- a/secop/gui/ui/nodectrl.ui
+++ b/secop/gui/ui/nodectrl.ui
@@ -170,17 +170,32 @@ p, li { white-space: pre-wrap; }
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
-
+
+ true
+
-
+
0
- 1
+ 0
- aaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaa
+ description
true
@@ -190,9 +205,29 @@ aaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaa
+ -
+
+
+ true
+
+
+
+ 0
+ 1
+
+
+
+
+ label
+ contactPointLabel
+ equipmentIdLabel
+ label_3
+ protocolVersionLabel
+ label_5
+ nodeDescriptionLabel
label_2
- gridLayoutWidget
+ verticalSpacer