fixups
Change-Id: If1377ef41f8d500ccab0e2a0979343b4c090c036
This commit is contained in:
@ -59,8 +59,15 @@ Merge datatype and validator
|
|||||||
* ["string", <maximum_allowed_length>] or ["string", <max_size_in_bytes>, <minimum_size_in_bytes>]
|
* ["string", <maximum_allowed_length>] or ["string", <max_size_in_bytes>, <minimum_size_in_bytes>]
|
||||||
* ["array", <basic_data_type>, <max_elements>] or ["array", <dtype>, <max_elements>, <min_elements>]
|
* ["array", <basic_data_type>, <max_elements>] or ["array", <dtype>, <max_elements>, <min_elements>]
|
||||||
|
|
||||||
|
|
||||||
Interface_class
|
Interface_class
|
||||||
+++++++++++++++
|
+++++++++++++++
|
||||||
|
|
||||||
* Drivable, Writable, Readable, Module (first character uppercase, no middle 'e')
|
* Drivable, Writable, Readable, Module (first character uppercase, no middle 'e')
|
||||||
|
|
||||||
|
|
||||||
|
transfer_of_blob
|
||||||
|
++++++++++++++++
|
||||||
|
|
||||||
|
* transport-encoding as base64-encoded string (no prefixed number of bytes....)
|
||||||
|
|
||||||
|
@ -200,3 +200,18 @@ Examples
|
|||||||
(SEC-node) 'update T1 [3.49,{"t":"149128945.921397","e":0.01897}]'
|
(SEC-node) 'update T1 [3.49,{"t":"149128945.921397","e":0.01897}]'
|
||||||
...
|
...
|
||||||
|
|
||||||
|
merge datatype and validator:
|
||||||
|
-----------------------------
|
||||||
|
* enum, int, double, bool, tuple, struct as before
|
||||||
|
* ["blob", <maximum_size_in_bytes>] or ["blob", <maximum_size_in_bytes>, <minimum_size_in_bytes>]
|
||||||
|
* ["string", <maximum_allowed_length>] or ["string", <max_size_in_bytes>, <minimum_size_in_bytes>]
|
||||||
|
* ["array", <basic_data_type>, <max_elements>] or ["array", <dtype>, <max_elements>, <min_elements>]
|
||||||
|
|
||||||
|
interface_class
|
||||||
|
---------------
|
||||||
|
* Drivable, Writable, Readable, Module (first character uppercase, no middle 'e')
|
||||||
|
|
||||||
|
transfer_of_blob
|
||||||
|
----------------
|
||||||
|
* transport-encoding as base64-encoded string (no prefixed number of bytes....)
|
||||||
|
|
||||||
|
@ -5,6 +5,10 @@ description = short description
|
|||||||
|
|
||||||
This is a very long description providing all the glory details in all the glory details about the stuff we are describing
|
This is a very long description providing all the glory details in all the glory details about the stuff we are describing
|
||||||
|
|
||||||
|
.description = short description
|
||||||
|
|
||||||
|
This is a very long description providing all the glory details in all the glory details about the stuff we are describing
|
||||||
|
|
||||||
|
|
||||||
[interface tcp]
|
[interface tcp]
|
||||||
interface=tcp
|
interface=tcp
|
||||||
@ -18,6 +22,9 @@ encoding=demo
|
|||||||
[device cryo]
|
[device cryo]
|
||||||
# some (non-defaut) module properties
|
# some (non-defaut) module properties
|
||||||
.group=very important/stuff
|
.group=very important/stuff
|
||||||
|
.description=A simulated cc cryostat with heat-load, specific heat for the sample
|
||||||
|
and a temperature dependend heat-link between sample and regulation.
|
||||||
|
|
||||||
# class of module:
|
# class of module:
|
||||||
class=secop_demo.cryo.Cryostat
|
class=secop_demo.cryo.Cryostat
|
||||||
|
|
||||||
|
@ -52,6 +52,8 @@ class TCPConnection(object):
|
|||||||
# disguise a TCP connection as serial one
|
# disguise a TCP connection as serial one
|
||||||
|
|
||||||
def __init__(self, host, port):
|
def __init__(self, host, port):
|
||||||
|
import mlzlog
|
||||||
|
self.log = mlzlog.getLogger('TCPConnection')
|
||||||
self._host = host
|
self._host = host
|
||||||
self._port = int(port)
|
self._port = int(port)
|
||||||
self._thread = None
|
self._thread = None
|
||||||
|
@ -43,6 +43,7 @@ class NodeCtrl(QWidget):
|
|||||||
self.contactPointLabel.setText(self._node.contactPoint)
|
self.contactPointLabel.setText(self._node.contactPoint)
|
||||||
self.equipmentIdLabel.setText(self._node.equipmentId)
|
self.equipmentIdLabel.setText(self._node.equipmentId)
|
||||||
self.protocolVersionLabel.setText(self._node.protocolVersion)
|
self.protocolVersionLabel.setText(self._node.protocolVersion)
|
||||||
|
self.nodeDescriptionLabel.setText(self._node.describingData.get('description','no description available'))
|
||||||
self._clearLog()
|
self._clearLog()
|
||||||
|
|
||||||
# now populate modules tab
|
# now populate modules tab
|
||||||
@ -197,7 +198,9 @@ class ReadableWidget(QWidget):
|
|||||||
if pname in params:
|
if pname in params:
|
||||||
return params[pname].value
|
return params[pname].value
|
||||||
try:
|
try:
|
||||||
return self._node.getParameter(self._module, pname)
|
# if queried, we get the qualifiers as well, but don't want them here
|
||||||
|
val = self._node.getParameter(self._module, pname)[0]
|
||||||
|
return val
|
||||||
except Exception:
|
except Exception:
|
||||||
self.log.exception()
|
self.log.exception()
|
||||||
if fallback is not Ellipsis:
|
if fallback is not Ellipsis:
|
||||||
|
@ -21,70 +21,6 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Contact point:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLabel" name="contactPointLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>TextLabel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Equipment ID:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLabel" name="equipmentIdLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>TextLabel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Protocol version:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLabel" name="protocolVersionLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>TextLabel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
@ -141,6 +77,117 @@ p, li { white-space: pre-wrap; }
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QWidget" name="nodeInfoTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>NodeInfo</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_6">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Contact point:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="contactPointLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Equipment ID:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="equipmentIdLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Protocol version:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="protocolVersionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_5">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Description:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="nodeDescriptionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Description
|
||||||
|
long line</string>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
<widget class="QWidget" name="modulesTab">
|
<widget class="QWidget" name="modulesTab">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
@ -160,7 +207,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>610</width>
|
<width>610</width>
|
||||||
<height>324</height>
|
<height>413</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
|
@ -33,7 +33,7 @@ from secop.lib.sequence import SequencerMixin, Step
|
|||||||
from secop.protocol import status
|
from secop.protocol import status
|
||||||
from secop.datatypes import *
|
from secop.datatypes import *
|
||||||
from secop.errors import SECoPServerError, ConfigError, ProgrammingError, CommunicationError, HardwareError, DisabledError
|
from secop.errors import SECoPServerError, ConfigError, ProgrammingError, CommunicationError, HardwareError, DisabledError
|
||||||
from secop.modules import PARAM, CMD, OVERRIDE, Module, Readable, Drivable
|
from secop.modules import PARAM, CMD, OVERRIDE, Readable, Drivable
|
||||||
|
|
||||||
|
|
||||||
class GarfieldMagnet(SequencerMixin, Drivable):
|
class GarfieldMagnet(SequencerMixin, Drivable):
|
||||||
|
Reference in New Issue
Block a user