Compare commits
333 Commits
Author | SHA1 | Date | |
---|---|---|---|
38b8a7a118 | |||
d73b8bc774 | |||
ceb6e487a8 | |||
eb08e31b62 | |||
4b88ece3be | |||
c22e41c8e2 | |||
701d1f1735 | |||
400b314fc7 | |||
ce3b3ddfd6 | |||
3045a11ff9 | |||
de773f084d | |||
564bea63e4 | |||
bd8a417112 | |||
e6263cbcd0 | |||
7c06bbeec2 | |||
d6947711c6 | |||
0938049e89 | |||
0053b7847c | |||
5c93953183 | |||
b60ad38fd0 | |||
7b0356b4ee | |||
7faf328141 | |||
d07406c2fd | |||
dbd4667c87 | |||
6e7514b718 | |||
c49f15ce64 | |||
3bae6f8d7f | |||
e46291eef6 | |||
af746f59bb | |||
a2a4d4332a | |||
aff6a2381a | |||
eb8eee02d1 | |||
9a818ab40b | |||
dc87a50c76 | |||
5974d759b0 | |||
396bbe9982 | |||
ae98fa174c | |||
83ad7b1638 | |||
257b24a480 | |||
29f0e18c1e | |||
144083a54a | |||
748a39f932 | |||
8cea974f49 | |||
5768f096a5 | |||
94859fe2ef | |||
fcf867675e | |||
09dce1aabd | |||
eefe271cba | |||
c42dd41dec | |||
c545e36633 | |||
ef985f094c | |||
55d399241c | |||
aea56bb16a | |||
3b8f3586cf | |||
56bee015b3 | |||
1febb7bacf | |||
df4dec6db5 | |||
7feee607e0 | |||
7c938a3bb1 | |||
904dd96f95 | |||
04fd8743a2 | |||
b59a98e4dc | |||
285c5c330f | |||
e3e27881d3 | |||
d26434f797 | |||
c3b6aca7bc | |||
71372a450b | |||
79dbfdfad0 | |||
5c7fe37807 | |||
e75b8b0b10 | |||
8d62375483 | |||
7c60daa568 | |||
fdc868c2d7 | |||
b66acd4d73 | |||
da24c6244e | |||
738c4c7a51 | |||
93fa2c818b | |||
88eb6e93bd | |||
5242c903ae | |||
4aec05c86b | |||
a43590a3ff | |||
76e46f7c84 | |||
baf55baffc | |||
f7f77b168f | |||
ebcf95e31e | |||
ee29bea821 | |||
4fc4cd3687 | |||
1145493e81 | |||
3f7ef438e3 | |||
90dc5359b9 | |||
6d63c4e0df | |||
98fa19ce3b | |||
7f83f76d38 | |||
0ab849d0cf | |||
8ee49caba5 | |||
b1de9218bd | |||
8eaad86b66 | |||
85400a2777 | |||
dda4afbe5b | |||
9b079ddf4b | |||
898da75b89 | |||
a7a846dfba | |||
6da671df62 | |||
bdb14af4af | |||
e57ad9826e | |||
8775103bf8 | |||
5636a76152 | |||
745cc69e9e | |||
b4c0a827f0 | |||
d57416a73e | |||
8dcf6ca658 | |||
bc66a314c4 | |||
6fac63d769 | |||
e41692bf2c | |||
dff3bd2f24 | |||
b67e5a9260 | |||
4815f4e6b4 | |||
e8ec9b415a | |||
5b9e36180e | |||
f1b59e4150 | |||
17070ca732 | |||
d618fafe4b | |||
dd1dfb3094 | |||
8d6617e288 | |||
fdec531c99 | |||
a246584c4a | |||
00ef174292 | |||
ada66f4851 | |||
a9be6475b1 | |||
f380289a84 | |||
528d80652c | |||
7c6df58906 | |||
1851c0ac43 | |||
880d472a4a | |||
25ff96873b | |||
82881049c4 | |||
60c9737cfe | |||
632db924eb | |||
261121297b | |||
1bd243f3d2 | |||
7c3f9f7196 | |||
9074dfda9d | |||
de32eb09e6 | |||
2e97f0f0ce | |||
0b06acf304 | |||
cc90291358 | |||
03b4604643 | |||
ada696e72b | |||
1d70a90270 | |||
20da7592da | |||
e750e69045 | |||
11a65b485b | |||
edf5a5568b | |||
f382a01d86 | |||
3c69dcb170 | |||
b889a86461 | |||
c7143a6dc7 | |||
c2a3821000 | |||
1cebf3998f | |||
bea994aaa2 | |||
bc0925fca7 | |||
09235cb145 | |||
824d3e7b7a | |||
dab963f1bb | |||
b93254b553 | |||
ec667c8151 | |||
56c7bbc831 | |||
c3a87e43be | |||
1fcd8d13fc | |||
f697b9ad57 | |||
e4a14bc27f | |||
03867c1f43 | |||
16abfdc65e | |||
601ad9d301 | |||
4892c2fd8f | |||
25986d67aa | |||
f8d8cbd76d | |||
f9f713811e | |||
72eb00fb27 | |||
7111d73226 | |||
19d5756eb0 | |||
d6b31222b6 | |||
b3a2f33151 | |||
380c8108eb | |||
cde09694a5 | |||
73a54dfc44 | |||
025eb5fff5 | |||
f36af47b98 | |||
13db0d6bc6 | |||
fe0aa3d7d5 | |||
6c2b1ea355 | |||
7ee219ce7a | |||
ba2b5ac786 | |||
abfb8afdc5 | |||
7fdb2e7e2f | |||
dd0cb2e1dc | |||
227f67a4c7 | |||
c92d6471eb | |||
991f4781c4 | |||
5083db8d92 | |||
7c54ac735d | |||
d6b28075d5 | |||
d555a58781 | |||
e6639fbc08 | |||
d9f2fb291a | |||
27be8c11fd | |||
bd84a69537 | |||
a1dd8e2168 | |||
f0f12d6d96 | |||
96a388eae9 | |||
c272a8d619 | |||
f2940d3f23 | |||
925df6f4fa | |||
ff772e578e | |||
6f465be567 | |||
1f5bba5575 | |||
a7fc1e4342 | |||
6e1cd30678 | |||
acf9a03aa4 | |||
79827baf2a | |||
12d7b5dae9 | |||
318b3ad412 | |||
4305d84ef8 | |||
177f49ca3f | |||
fb5e468048 | |||
6c01a1e48a | |||
96412cb480 | |||
807afba53b | |||
97032193bf | |||
a3c1399854 | |||
f0eb7d95f1 | |||
c1403763f4 | |||
d38b672a9a | |||
7c96b83aff | |||
3ee6e32a46 | |||
c20801c8fe | |||
a5e698163b | |||
5376490a7e | |||
9d50412a38 | |||
39dbe1149c | |||
a281583cd2 | |||
ad15ef3cdb | |||
7536454e96 | |||
bfbb8172e0 | |||
258ec60b4c | |||
2f396e5897 | |||
2c102ad38b | |||
b3519c7317 | |||
9caa3f3e08 | |||
bb11f7cc20 | |||
ffe6f3cce0 | |||
91a91d6483 | |||
7131536770 | |||
82c1081b69 | |||
ff2fcf7651 | |||
21dae2d9ce | |||
476d2087f6 | |||
bb6cf9caa1 | |||
c3b1ce4b8c | |||
e4eb5989c3 | |||
48393b2332 | |||
9eb8f2efc8 | |||
46f815af38 | |||
09f4f1d192 | |||
15fc9ca16c | |||
c6056ad1de | |||
4da6aa95d7 | |||
fa37b43be2 | |||
986065e1f6 | |||
455f15d975 | |||
cefd0fe8b5 | |||
9cd38375c0 | |||
86b888b43a | |||
9eb83df7de | |||
20596744f9 | |||
0a98776e27 | |||
f5667a9267 | |||
8b27e4012c | |||
6837b82791 | |||
e093bdae96 | |||
a4ee261744 | |||
e09ed9ebe3 | |||
8bc0671f73 | |||
26f9c177f7 | |||
4c6bc2ba68 | |||
ce7de98dc7 | |||
1c229c33bd | |||
2d08f25993 | |||
89df37462c | |||
69938f7ce8 | |||
913b40ac92 | |||
070e78f626 | |||
a44f3fae50 | |||
5a54503fe7 | |||
f702854066 | |||
67fa50a9e0 | |||
5e5f262472 | |||
9995ac8165 | |||
b1f9c74269 | |||
63210c9924 | |||
47c5e297d4 | |||
6cd83eabcc | |||
caaefec6db | |||
6dfb3bcee8 | |||
d492f7326f | |||
7929c37027 | |||
76349e38f9 | |||
647d87f70f | |||
798c268eb4 | |||
9467f5233c | |||
a7ff73a34d | |||
bf018e74ba | |||
801f80af7f | |||
26fa5371e9 | |||
2bad1ffee5 | |||
b2b77c70ea | |||
192cde605e | |||
c7d23e40e9 | |||
2561e82086 | |||
55c96ffe4f | |||
17a44ef42a | |||
fcdee8e3ec | |||
dddf74df9e | |||
ac251ea515 | |||
9e4f9b7b95 | |||
4f65ae7e46 | |||
a73b7e7d88 | |||
76a78871b4 | |||
118e22ee44 | |||
c63f98f3cb | |||
6514a1b2ee | |||
aeec940659 | |||
4571af8534 |
@ -40,6 +40,7 @@ disable=missing-docstring
|
|||||||
,locally-disabled
|
,locally-disabled
|
||||||
,fixme
|
,fixme
|
||||||
,no-member
|
,no-member
|
||||||
|
,not-callable
|
||||||
,wrong-import-position
|
,wrong-import-position
|
||||||
,ungrouped-imports
|
,ungrouped-imports
|
||||||
,import-self
|
,import-self
|
||||||
@ -203,6 +204,9 @@ max-statements=150
|
|||||||
# Maximum number of parents for a class (see R0901).
|
# Maximum number of parents for a class (see R0901).
|
||||||
max-parents=20
|
max-parents=20
|
||||||
|
|
||||||
|
# Maximum number of positional arguments
|
||||||
|
max-positional-arguments=10
|
||||||
|
|
||||||
# Maximum number of attributes for a class (see R0902).
|
# Maximum number of attributes for a class (see R0902).
|
||||||
max-attributes=50
|
max-attributes=50
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2016 by the authors, see LICENSE
|
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from os import path
|
from pathlib import Path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
from frappy.client.interactive import init, run, clientenv, interact
|
from frappy.client.interactive import init, run, clientenv, interact
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ def parseArgv(argv):
|
|||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('-i', '--include',
|
parser.add_argument('-i', '--include',
|
||||||
help='file to execute after connecting to the clients', metavar='file',
|
help='file to execute after connecting to the clients', metavar='file',
|
||||||
type=str, action='append', default=[])
|
type=Path, action='append', default=[])
|
||||||
parser.add_argument('-o', '--only-execute',
|
parser.add_argument('-o', '--only-execute',
|
||||||
help='Do not go into interactive mode after executing files. \
|
help='Do not go into interactive mode after executing files. \
|
||||||
Has no effect without --include.', action='store_true')
|
Has no effect without --include.', action='store_true')
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2016 by the authors, see LICENSE
|
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
@ -26,10 +26,10 @@ from __future__ import print_function
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from os import path
|
from pathlib import Path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from mlzlog import ColoredConsoleHandler
|
from mlzlog import ColoredConsoleHandler
|
||||||
@ -46,8 +46,11 @@ def parseArgv(argv):
|
|||||||
loggroup.add_argument('-q', '--quiet',
|
loggroup.add_argument('-q', '--quiet',
|
||||||
help='Supress everything but errors',
|
help='Supress everything but errors',
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
|
parser.add_argument('-D', '--detailed',
|
||||||
|
help='Start in detailed mode',
|
||||||
|
action='store_true', default=False)
|
||||||
parser.add_argument('node',
|
parser.add_argument('node',
|
||||||
help='Nodes the Gui should connect to.\n', metavar='host[:port]',
|
help='Nodes the GUI should connect to.\n', metavar='host[:port]',
|
||||||
nargs='*', type=str, default=[])
|
nargs='*', type=str, default=[])
|
||||||
return parser.parse_args(argv)
|
return parser.parse_args(argv)
|
||||||
|
|
||||||
@ -61,13 +64,14 @@ def main(argv=None):
|
|||||||
loglevel = logging.DEBUG if args.debug else (logging.ERROR if args.quiet else logging.INFO)
|
loglevel = logging.DEBUG if args.debug else (logging.ERROR if args.quiet else logging.INFO)
|
||||||
logger = logging.getLogger('gui')
|
logger = logging.getLogger('gui')
|
||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG)
|
||||||
console = ColoredConsoleHandler()
|
if sys.stdout is not None:
|
||||||
console.setLevel(loglevel)
|
console = ColoredConsoleHandler()
|
||||||
logger.addHandler(console)
|
console.setLevel(loglevel)
|
||||||
|
logger.addHandler(console)
|
||||||
|
|
||||||
app = QApplication(argv)
|
app = QApplication(argv, organizationName='frappy', applicationName='frappy_gui')
|
||||||
|
|
||||||
win = MainWindow(args.node, logger)
|
win = MainWindow(args, logger)
|
||||||
app.aboutToQuit.connect(win._onQuit)
|
app.aboutToQuit.connect(win._onQuit)
|
||||||
win.show()
|
win.show()
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2016 by the authors, see LICENSE
|
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
@ -22,14 +22,18 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
from os import path
|
from pathlib import Path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
|
from frappy.lib import generalConfig
|
||||||
|
from frappy.logging import logger
|
||||||
from frappy.client.interactive import Console
|
from frappy.client.interactive import Console
|
||||||
from frappy.playground import play, USAGE
|
from frappy.playground import play, USAGE
|
||||||
|
|
||||||
|
generalConfig.init()
|
||||||
|
logger.init()
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
play(sys.argv[1])
|
play(sys.argv[1])
|
||||||
else:
|
else:
|
||||||
|
139
bin/frappy-scan
Executable file
139
bin/frappy-scan
Executable file
@ -0,0 +1,139 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# *****************************************************************************
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
|
# Foundation; either version 2 of the License, or (at your option) any later
|
||||||
|
# version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
# details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with
|
||||||
|
# this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
# Module authors:
|
||||||
|
# Alexander Zaft <a.zaft@fz-juelich.de>
|
||||||
|
#
|
||||||
|
# *****************************************************************************
|
||||||
|
|
||||||
|
"""SEC node autodiscovery tool."""
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import select
|
||||||
|
import socket
|
||||||
|
import sys
|
||||||
|
from collections import namedtuple
|
||||||
|
from time import time as currenttime
|
||||||
|
|
||||||
|
UDP_PORT = 10767
|
||||||
|
|
||||||
|
Answer = namedtuple('Answer',
|
||||||
|
'address, port, equipment_id, firmware, description')
|
||||||
|
|
||||||
|
|
||||||
|
def decode(msg, addr):
|
||||||
|
msg = msg.decode('utf-8')
|
||||||
|
try:
|
||||||
|
data = json.loads(msg)
|
||||||
|
except Exception:
|
||||||
|
return None
|
||||||
|
if not isinstance(data, dict):
|
||||||
|
return None
|
||||||
|
if data.get('SECoP') != 'node':
|
||||||
|
return None
|
||||||
|
try:
|
||||||
|
eq_id = data['equipment_id']
|
||||||
|
fw = data['firmware']
|
||||||
|
desc = data['description']
|
||||||
|
port = data['port']
|
||||||
|
except KeyError:
|
||||||
|
return None
|
||||||
|
addr, _scanport = addr
|
||||||
|
return Answer(addr, port, eq_id, fw, desc)
|
||||||
|
|
||||||
|
|
||||||
|
def print_answer(answer, *, short=False):
|
||||||
|
try:
|
||||||
|
hostname = socket.gethostbyaddr(answer.address)[0]
|
||||||
|
address = hostname
|
||||||
|
numeric = f' ({answer.address})'
|
||||||
|
except Exception:
|
||||||
|
address = answer.address
|
||||||
|
numeric = ''
|
||||||
|
if short:
|
||||||
|
# NOTE: keep this easily parseable!
|
||||||
|
print(f'{answer.equipment_id} {address}:{answer.port}')
|
||||||
|
return
|
||||||
|
print(f'Found {answer.equipment_id} at {address}{numeric}:')
|
||||||
|
print(f' Port: {answer.port}')
|
||||||
|
print(f' Firmware: {answer.firmware}')
|
||||||
|
desc = answer.description.replace('\n', '\n ')
|
||||||
|
print(f' Node description: {desc}')
|
||||||
|
print('-' * 80)
|
||||||
|
|
||||||
|
|
||||||
|
def scan(max_wait=1.0):
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
||||||
|
# send a general broadcast
|
||||||
|
try:
|
||||||
|
s.sendto(json.dumps(dict(SECoP='discover')).encode('utf-8'),
|
||||||
|
('255.255.255.255', UDP_PORT))
|
||||||
|
except OSError as e:
|
||||||
|
print('could not send the broadcast:', e)
|
||||||
|
# we still keep listening for self-announcements
|
||||||
|
start = currenttime()
|
||||||
|
seen = set()
|
||||||
|
while currenttime() < start + max_wait:
|
||||||
|
res = select.select([s], [], [], 0.1)
|
||||||
|
if res[0]:
|
||||||
|
try:
|
||||||
|
msg, addr = s.recvfrom(1024)
|
||||||
|
except socket.error: # pragma: no cover
|
||||||
|
continue
|
||||||
|
answer = decode(msg, addr)
|
||||||
|
if answer is None:
|
||||||
|
continue
|
||||||
|
if (answer.address, answer.equipment_id, answer.port) in seen:
|
||||||
|
continue
|
||||||
|
seen.add((answer.address, answer.equipment_id, answer.port))
|
||||||
|
yield answer
|
||||||
|
|
||||||
|
|
||||||
|
def listen(*, short=False):
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
if os.name == 'nt':
|
||||||
|
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
|
else:
|
||||||
|
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
||||||
|
s.bind(('0.0.0.0', UDP_PORT))
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
msg, addr = s.recvfrom(1024)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
break
|
||||||
|
answer = decode(msg, addr)
|
||||||
|
if answer:
|
||||||
|
print_answer(answer, short=short)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('-l', '--listen', action='store_true',
|
||||||
|
help='Keep listening after the broadcast.')
|
||||||
|
parser.add_argument('-s', '--short', action='store_true',
|
||||||
|
help='Print short info (always on when listen).')
|
||||||
|
args = parser.parse_args(sys.argv[1:])
|
||||||
|
short = args.listen or args.short
|
||||||
|
if not short:
|
||||||
|
print('-' * 80)
|
||||||
|
for answer in scan():
|
||||||
|
print_answer(answer, short=short)
|
||||||
|
if args.listen:
|
||||||
|
listen(short=short)
|
@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
from os import path
|
from pathlib import Path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
from frappy.lib import generalConfig
|
from frappy.lib import generalConfig
|
||||||
from frappy.logging import logger
|
from frappy.logging import logger
|
||||||
@ -35,7 +35,15 @@ from frappy.server import Server
|
|||||||
|
|
||||||
|
|
||||||
def parseArgv(argv):
|
def parseArgv(argv):
|
||||||
parser = argparse.ArgumentParser(description="Manage a SECoP server")
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Manage a SECoP server",
|
||||||
|
epilog="""The server needs some configuration, by default from the
|
||||||
|
generalConfig.cfg file. the keys confdir, logdir and piddir have to
|
||||||
|
be set.
|
||||||
|
Alternatively, one can set the environment variables FRAPPY_CONFDIR
|
||||||
|
FRAPPY_LOGDIR and FRAPPY_PIDDIR to set the required values.
|
||||||
|
"""
|
||||||
|
)
|
||||||
loggroup = parser.add_mutually_exclusive_group()
|
loggroup = parser.add_mutually_exclusive_group()
|
||||||
loggroup.add_argument("-v", "--verbose",
|
loggroup.add_argument("-v", "--verbose",
|
||||||
help="Output lots of diagnostic information",
|
help="Output lots of diagnostic information",
|
||||||
@ -60,9 +68,9 @@ def parseArgv(argv):
|
|||||||
action='store',
|
action='store',
|
||||||
help="comma separated list of cfg files,\n"
|
help="comma separated list of cfg files,\n"
|
||||||
"defaults to <name_of_the_instance>.\n"
|
"defaults to <name_of_the_instance>.\n"
|
||||||
"cfgfiles given without '.cfg' extension are searched"
|
"If a config file contains a slash, it is treated as a"
|
||||||
" in the configuration directory,"
|
"path, otherwise the file is searched for in the "
|
||||||
" else they are treated as path names",
|
"configuration directory.",
|
||||||
default=None)
|
default=None)
|
||||||
parser.add_argument('-g',
|
parser.add_argument('-g',
|
||||||
'--gencfg',
|
'--gencfg',
|
||||||
@ -96,7 +104,9 @@ def main(argv=None):
|
|||||||
generalConfig.init(args.gencfg)
|
generalConfig.init(args.gencfg)
|
||||||
logger.init(loglevel)
|
logger.init(loglevel)
|
||||||
|
|
||||||
srv = Server(args.name, logger.log, cfgfiles=args.cfgfiles,
|
cfgfiles = [s.strip() for s in args.cfgfiles.split(',')] if args.cfgfiles else None
|
||||||
|
|
||||||
|
srv = Server(args.name, logger.log, cfgfiles=cfgfiles,
|
||||||
interface=args.port, testonly=args.test)
|
interface=args.port, testonly=args.test)
|
||||||
|
|
||||||
if args.daemonize:
|
if args.daemonize:
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# *****************************************************************************
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
|
||||||
# Foundation; either version 2 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
#
|
|
||||||
# Module authors:
|
|
||||||
# Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
|
|
||||||
#
|
|
||||||
# *****************************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
import os
|
|
||||||
from os import path
|
|
||||||
|
|
||||||
import markdown
|
|
||||||
|
|
||||||
BASE_PATH = path.abspath(path.join(path.dirname(__file__), '..'))
|
|
||||||
DOC_SRC = path.join(BASE_PATH, 'doc')
|
|
||||||
DOC_DST = path.join(BASE_PATH, 'html')
|
|
||||||
|
|
||||||
conv = markdown.Markdown()
|
|
||||||
|
|
||||||
for dirpath, dirnames, filenames in os.walk(DOC_SRC):
|
|
||||||
# re-create the dir-structure of DOC_SRC into DOC_DST
|
|
||||||
dst_path = path.join(DOC_DST, path.relpath(dirpath, DOC_SRC))
|
|
||||||
try:
|
|
||||||
os.mkdir(dst_path)
|
|
||||||
except OSError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
for fn in filenames:
|
|
||||||
full_name = path.join(dirpath, fn)
|
|
||||||
sub_name = path.relpath(full_name, DOC_SRC)
|
|
||||||
final_name = path.join(DOC_DST, sub_name)
|
|
||||||
|
|
||||||
if not fn.endswith('md'):
|
|
||||||
# just copy everything else
|
|
||||||
with open(full_name, 'rb') as fi:
|
|
||||||
with open(final_name, 'wb') as fo:
|
|
||||||
# WARNING: possible Memory hog!
|
|
||||||
fo.write(fi.read())
|
|
||||||
continue
|
|
||||||
# treat .md files special
|
|
||||||
final_sub_name = path.splitext(sub_name)[0] + '.html'
|
|
||||||
final_name = path.join(DOC_DST, final_sub_name)
|
|
||||||
print("Converting %s to %s" %(sub_name, final_sub_name))
|
|
||||||
# transform one file
|
|
||||||
conv.reset()
|
|
||||||
conv.convertFile(input=full_name,
|
|
||||||
output=final_name,
|
|
||||||
encoding="utf-8")
|
|
53
bin/peus-plot
Executable file
53
bin/peus-plot
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
# Add import path for inplace usage
|
||||||
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
|
from frappy.client.interactive import Client
|
||||||
|
from frappy_psi.iqplot import Plot
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print('Usage: peus-plot <maxY>')
|
||||||
|
|
||||||
|
|
||||||
|
def get_modules(name):
|
||||||
|
return list(filter(None, (globals().get(name % i) for i in range(10))))
|
||||||
|
|
||||||
|
|
||||||
|
secnode = Client('pc13252:5000')
|
||||||
|
time_size = {'time', 'size'}
|
||||||
|
int_mods = [u] + get_modules('roi%d')
|
||||||
|
t_rois = get_modules('roi%d')
|
||||||
|
i_rois = get_modules('roi%di')
|
||||||
|
q_rois = get_modules('roi%dq')
|
||||||
|
|
||||||
|
maxx = None
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
maxy = float(sys.argv[1])
|
||||||
|
if len(sys.argv) > 2:
|
||||||
|
maxx = float(sys.argv[2])
|
||||||
|
else:
|
||||||
|
maxy = 0.02
|
||||||
|
|
||||||
|
|
||||||
|
iqplot = Plot(maxy, maxx)
|
||||||
|
|
||||||
|
for i in range(99):
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
while True:
|
||||||
|
curves = np.array(u.get_curves())
|
||||||
|
iqplot.plot(curves,
|
||||||
|
rois=[(r.time - r.size * 0.5, r.time + r.size * 0.5) for r in int_mods],
|
||||||
|
average=([r.time for r in t_rois],
|
||||||
|
[r.value for r in i_rois],
|
||||||
|
[r.value for r in q_rois]))
|
||||||
|
if not iqplot.pause(0.5):
|
||||||
|
break
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
iqplot.close()
|
229
bin/sim-server
229
bin/sim-server
@ -22,114 +22,42 @@
|
|||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
bin/stringio-server <communciator> <server port>
|
bin/sim-server <communicator class> -p <server port> [-o <option1>=<value> <option2>=<value>]
|
||||||
|
|
||||||
open a server on <server port> to communicate with the string based <communicator> over TCP/IP.
|
open a server on <server port> to communicate with the string based <communicator> over TCP/IP.
|
||||||
|
|
||||||
Use cases, mainly for test purposes:
|
Use cases, mainly for test purposes:
|
||||||
- as a T, if the hardware allows only one connection, and more than one is needed
|
|
||||||
- relay to a communicator not using TCP/IP, if Frappy should run on an other host
|
|
||||||
- relay to a hardware simulation written as a communicator
|
- relay to a hardware simulation written as a communicator
|
||||||
|
|
||||||
|
> bin/sim-server frappy_psi.ls370sim.Ls370Sim
|
||||||
|
|
||||||
|
- relay to a communicator not using TCP/IP, if Frappy should run on an other host
|
||||||
|
|
||||||
|
> bin/sim-server frappy.io.StringIO -o uri=serial:///dev/tty...
|
||||||
|
|
||||||
|
- as a T, if the hardware allows only one connection, and more than one is needed:
|
||||||
|
|
||||||
|
> bin/sim-server frappy.io.StringIO -o uri=tcp://<host>:<port>
|
||||||
|
|
||||||
|
typically using communicator class frappy.io.StringIO
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from os import path
|
from pathlib import Path
|
||||||
import asyncore
|
|
||||||
import socket
|
import socket
|
||||||
import time
|
import time
|
||||||
|
import os
|
||||||
|
from ast import literal_eval
|
||||||
|
from socketserver import BaseRequestHandler, ThreadingTCPServer
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
from frappy.lib import get_class, formatException, mkthread
|
from frappy.lib import get_class, formatException, mkthread
|
||||||
|
|
||||||
|
|
||||||
class LineHandler(asyncore.dispatcher_with_send):
|
|
||||||
|
|
||||||
def __init__(self, sock):
|
|
||||||
self.buffer = b""
|
|
||||||
asyncore.dispatcher_with_send.__init__(self, sock)
|
|
||||||
self.crlf = 0
|
|
||||||
|
|
||||||
def handle_line(self, line):
|
|
||||||
raise NotImplementedError
|
|
||||||
|
|
||||||
def handle_read(self):
|
|
||||||
data = self.recv(8192)
|
|
||||||
if data:
|
|
||||||
parts = data.split(b"\n")
|
|
||||||
if len(parts) == 1:
|
|
||||||
self.buffer += data
|
|
||||||
else:
|
|
||||||
self.handle_line((self.buffer + parts[0]).decode('latin_1'))
|
|
||||||
for part in parts[1:-1]:
|
|
||||||
if part[-1] == b"\r":
|
|
||||||
self.crlf = True
|
|
||||||
part = part[:-1]
|
|
||||||
else:
|
|
||||||
self.crlf = False
|
|
||||||
self.handle_line(part.decode('latin_1'))
|
|
||||||
self.buffer = parts[-1]
|
|
||||||
|
|
||||||
def send_line(self, line):
|
|
||||||
self.send((line + ("\r\n" if self.crlf else "\n")).encode('latin_1'))
|
|
||||||
|
|
||||||
|
|
||||||
class LineServer(asyncore.dispatcher):
|
|
||||||
|
|
||||||
def __init__(self, port, line_handler_cls, handler_args):
|
|
||||||
asyncore.dispatcher.__init__(self)
|
|
||||||
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
||||||
self.set_reuse_addr()
|
|
||||||
self.bind(('0.0.0.0', port))
|
|
||||||
self.listen(5)
|
|
||||||
print('accept connections at port', port)
|
|
||||||
self.line_handler_cls = line_handler_cls
|
|
||||||
self.handler_args = handler_args
|
|
||||||
|
|
||||||
def handle_accept(self):
|
|
||||||
pair = self.accept()
|
|
||||||
if pair is not None:
|
|
||||||
sock, addr = pair
|
|
||||||
print("Incoming connection from %s" % repr(addr))
|
|
||||||
self.line_handler_cls(sock, self.handler_args)
|
|
||||||
|
|
||||||
def loop(self):
|
|
||||||
asyncore.loop()
|
|
||||||
|
|
||||||
|
|
||||||
class Server(LineServer):
|
|
||||||
|
|
||||||
class Dispatcher:
|
|
||||||
def announce_update(self, *_):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def announce_update_error(self, *_):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwds):
|
|
||||||
super().__init__(*args, **kwds)
|
|
||||||
self.dispatcher = self.Dispatcher()
|
|
||||||
|
|
||||||
|
|
||||||
class Handler(LineHandler):
|
|
||||||
def __init__(self, sock, handler_args):
|
|
||||||
super().__init__(sock)
|
|
||||||
self.module = handler_args['module']
|
|
||||||
self.verbose = handler_args['verbose']
|
|
||||||
|
|
||||||
def handle_line(self, line):
|
|
||||||
try:
|
|
||||||
reply = self.module.communicate(line.strip())
|
|
||||||
if self.verbose:
|
|
||||||
print('%-40s | %s' % (line, reply))
|
|
||||||
except Exception:
|
|
||||||
print(formatException(verbose=True))
|
|
||||||
return
|
|
||||||
self.send_line(reply)
|
|
||||||
|
|
||||||
|
|
||||||
class Logger:
|
class Logger:
|
||||||
def debug(self, *args):
|
def debug(self, *args):
|
||||||
pass
|
pass
|
||||||
@ -143,43 +71,126 @@ class Logger:
|
|||||||
exception = error = warn = info
|
exception = error = warn = info
|
||||||
|
|
||||||
|
|
||||||
|
class TcpRequestHandler(BaseRequestHandler):
|
||||||
|
def setup(self):
|
||||||
|
print(f'connection opened from {self.client_address}')
|
||||||
|
self.running = True
|
||||||
|
self.request.settimeout(1)
|
||||||
|
self.data = b''
|
||||||
|
|
||||||
|
def finish(self):
|
||||||
|
"""called when handle() terminates, i.e. the socket closed"""
|
||||||
|
# close socket
|
||||||
|
try:
|
||||||
|
self.request.shutdown(socket.SHUT_RDWR)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
finally:
|
||||||
|
print(f'connection closed from {self.client_address}')
|
||||||
|
self.request.close()
|
||||||
|
|
||||||
|
def poller(self):
|
||||||
|
while True:
|
||||||
|
time.sleep(1.0)
|
||||||
|
self.module.doPoll()
|
||||||
|
|
||||||
|
def handle(self):
|
||||||
|
"""handle a new connection"""
|
||||||
|
# do a copy of the options, as they are consumed
|
||||||
|
self.module = self.server.modulecls(
|
||||||
|
'mod', Logger(), dict(self.server.options), self.server)
|
||||||
|
self.module.earlyInit()
|
||||||
|
|
||||||
|
mkthread(self.poller)
|
||||||
|
while self.running:
|
||||||
|
try:
|
||||||
|
newdata = self.request.recv(1024)
|
||||||
|
if not newdata:
|
||||||
|
return
|
||||||
|
except socket.timeout:
|
||||||
|
# no new data during read, continue
|
||||||
|
continue
|
||||||
|
self.data += newdata
|
||||||
|
while self.running:
|
||||||
|
message, sep, self.data = self.data.partition(b'\n')
|
||||||
|
if not sep:
|
||||||
|
break
|
||||||
|
cmd = message.decode('latin-1')
|
||||||
|
try:
|
||||||
|
reply = self.module.communicate(cmd.strip())
|
||||||
|
if self.server.verbose:
|
||||||
|
print('%-40s | %s' % (cmd, reply))
|
||||||
|
except Exception:
|
||||||
|
print(formatException(verbose=True))
|
||||||
|
return
|
||||||
|
outdata = reply.encode('latin-1') + b'\n'
|
||||||
|
try:
|
||||||
|
self.request.sendall(outdata)
|
||||||
|
except Exception as e:
|
||||||
|
print(repr(e))
|
||||||
|
self.running = False
|
||||||
|
|
||||||
|
|
||||||
|
class Server(ThreadingTCPServer):
|
||||||
|
allow_reuse_address = os.name != 'nt' # False on Windows systems
|
||||||
|
|
||||||
|
class Dispatcher:
|
||||||
|
def announce_update(self, *_):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def announce_update_error(self, *_):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __init__(self, port, modulecls, options, verbose=False):
|
||||||
|
super().__init__(('', port), TcpRequestHandler,
|
||||||
|
bind_and_activate=True)
|
||||||
|
self.secnode = None
|
||||||
|
self.dispatcher = self.Dispatcher()
|
||||||
|
self.verbose = verbose
|
||||||
|
self.modulecls = get_class(modulecls)
|
||||||
|
self.options = options
|
||||||
|
print(f'started sim-server listening on port {port}')
|
||||||
|
|
||||||
|
|
||||||
def parse_argv(argv):
|
def parse_argv(argv):
|
||||||
parser = argparse.ArgumentParser(description="Simulate HW with a serial interface")
|
parser = argparse.ArgumentParser(description="Relay to a communicator (simulated HW or other)")
|
||||||
parser.add_argument("-v", "--verbose",
|
parser.add_argument("-v", "--verbose",
|
||||||
help="output full communication",
|
help="output full communication",
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
parser.add_argument("cls",
|
parser.add_argument("cls",
|
||||||
type=str,
|
type=str,
|
||||||
help="simulator class.\n",)
|
help="communicator class.\n",)
|
||||||
parser.add_argument('-p',
|
parser.add_argument('-p',
|
||||||
'--port',
|
'--port',
|
||||||
action='store',
|
action='store',
|
||||||
help='server port or uri',
|
help='server port or uri',
|
||||||
default=2089)
|
default=2089)
|
||||||
|
parser.add_argument('-o',
|
||||||
|
'--options',
|
||||||
|
action='store',
|
||||||
|
nargs='*',
|
||||||
|
help='options in the form key=value',
|
||||||
|
default=None)
|
||||||
return parser.parse_args(argv)
|
return parser.parse_args(argv)
|
||||||
|
|
||||||
|
|
||||||
def poller(pollfunc):
|
|
||||||
while True:
|
|
||||||
time.sleep(1.0)
|
|
||||||
pollfunc()
|
|
||||||
|
|
||||||
|
|
||||||
def main(argv=None):
|
def main(argv=None):
|
||||||
if argv is None:
|
if argv is None:
|
||||||
argv = sys.argv
|
argv = sys.argv
|
||||||
|
|
||||||
args = parse_argv(argv[1:])
|
args = parse_argv(argv[1:])
|
||||||
|
options = {'description': ''}
|
||||||
opts = {'description': 'simulator'}
|
for item in args.options or ():
|
||||||
|
key, eq, value = item.partition('=')
|
||||||
handler_args = {'verbose': args.verbose}
|
if not eq:
|
||||||
srv = Server(int(args.port), Handler, handler_args)
|
raise ValueError(f"missing '=' in {item}")
|
||||||
module = get_class(args.cls)(args.cls, Logger(), opts, srv)
|
try:
|
||||||
handler_args['module'] = module
|
value = literal_eval(value)
|
||||||
module.earlyInit()
|
except Exception:
|
||||||
mkthread(poller, module.doPoll)
|
pass
|
||||||
srv.loop()
|
options[key] = value
|
||||||
|
srv = Server(int(args.port), args.cls, options, args.verbose)
|
||||||
|
srv.serve_forever()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
65
bin/us-plot
Executable file
65
bin/us-plot
Executable file
@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
# Add import path for inplace usage
|
||||||
|
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
||||||
|
|
||||||
|
from frappy.client.interactive import Client
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
from frappy_psi.iqplot import Pause
|
||||||
|
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print("""
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
us-plot <end> [<start> [<npoints>]]
|
||||||
|
|
||||||
|
end: end of window [ns]
|
||||||
|
start: start of window [n2], default: 0
|
||||||
|
npoints: number fo points (default 1000)
|
||||||
|
""")
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
Client('pc13252:5000')
|
||||||
|
|
||||||
|
|
||||||
|
def plot(array, ax, style, xs):
|
||||||
|
xaxis = np.arange(len(array)) * xs
|
||||||
|
return ax.plot(xaxis, array, style)[0]
|
||||||
|
|
||||||
|
|
||||||
|
def update(array, line, xs):
|
||||||
|
xaxis = np.arange(len(array)) * xs
|
||||||
|
line.set_data(np.array([xaxis, array]))
|
||||||
|
|
||||||
|
def on_close(event):
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
start = 0
|
||||||
|
end = float(sys.argv[1])
|
||||||
|
npoints = 1000
|
||||||
|
if len(sys.argv) > 2:
|
||||||
|
start = float(sys.argv[2])
|
||||||
|
if len(sys.argv) > 3:
|
||||||
|
npoints = float(sys.argv[3])
|
||||||
|
|
||||||
|
fig, ax = plt.subplots(figsize=(15,3))
|
||||||
|
pause = Pause(fig)
|
||||||
|
try:
|
||||||
|
get_signal = iq.get_signal
|
||||||
|
print('plotting RUS signal')
|
||||||
|
except NameError:
|
||||||
|
get_signal = u.get_signal
|
||||||
|
print('plotting PE signal')
|
||||||
|
|
||||||
|
xs, signal = get_signal(start, end, npoints)
|
||||||
|
|
||||||
|
lines = [plot(s, ax, '-', xs) for s in signal]
|
||||||
|
|
||||||
|
while pause(0.5):
|
||||||
|
plt.draw()
|
||||||
|
xs, signal = get_signal(start, end, npoints)
|
||||||
|
for line, sig in zip(lines, signal):
|
||||||
|
update(sig, line, xs)
|
87
cfg/PEUS_cfg.py
Normal file
87
cfg/PEUS_cfg.py
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
Node('PEUS.psi.ch',
|
||||||
|
'ultrasound, pulse_echo configuration',
|
||||||
|
interface='5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('u',
|
||||||
|
'frappy_psi.ultrasound.PulseEcho',
|
||||||
|
'ultrasound acquisition loop',
|
||||||
|
freq='f',
|
||||||
|
# pollinterval=0.1,
|
||||||
|
time=900.0,
|
||||||
|
size=5000.0,
|
||||||
|
nr=500,
|
||||||
|
sr=32768,
|
||||||
|
bw=1e7,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('fio',
|
||||||
|
'frappy_psi.ultrasound.FreqStringIO', '',
|
||||||
|
uri='serial:///dev/ttyS1?baudrate=57600',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('f',
|
||||||
|
'frappy_psi.ultrasound.Frequency',
|
||||||
|
'writable for frequency',
|
||||||
|
output='R', # L for LF (bnc), R for RF (type N)
|
||||||
|
io='fio',
|
||||||
|
amp=0.5, # VPP
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('fdif',
|
||||||
|
'frappy_psi.ultrasound.FrequencyDif',
|
||||||
|
'writable for frequency minus base frequency',
|
||||||
|
freq='f',
|
||||||
|
base=41490200.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Mod('curves',
|
||||||
|
# 'frappy_psi.ultrasound.Curves',
|
||||||
|
# 't, I, Q and pulse arrays for plot',
|
||||||
|
# )
|
||||||
|
|
||||||
|
def roi(name, time, size, components='iqpa', enable=True, control=False, freq=None, **kwds):
|
||||||
|
description = 'I/Q of region {name}'
|
||||||
|
if freq:
|
||||||
|
kwds.update(cls='frappy_psi.ultrasound.ControlRoi',
|
||||||
|
description=f'{description} as control loop',
|
||||||
|
freq=freq, **kwds)
|
||||||
|
else:
|
||||||
|
kwds.update(cls='frappy_psi.ultrasound.Roi',
|
||||||
|
description=description, **kwds)
|
||||||
|
kwds.update({c: name + c for c in components})
|
||||||
|
Mod(name,
|
||||||
|
main='u',
|
||||||
|
time=time,
|
||||||
|
size=size,
|
||||||
|
enable=enable,
|
||||||
|
**kwds,
|
||||||
|
)
|
||||||
|
for c in components:
|
||||||
|
Mod(name + c,
|
||||||
|
'frappy.modules.Readable',
|
||||||
|
f'{name}{c} component',
|
||||||
|
)
|
||||||
|
|
||||||
|
# control loop
|
||||||
|
roi('roi0', 2450, 300, freq='f', maxstep=100000, minstep=4000)
|
||||||
|
# other rois
|
||||||
|
roi('roi1', 5950, 300)
|
||||||
|
roi('roi2', 9475, 300)
|
||||||
|
roi('roi3', 12900, 300)
|
||||||
|
#roi('roi4', 400, 30, False)
|
||||||
|
#roi('roi5', 400, 30, False)
|
||||||
|
#roi('roi6', 400, 30, False)
|
||||||
|
#roi('roi7', 400, 30, False)
|
||||||
|
#roi('roi8', 400, 30, False)
|
||||||
|
#roi('roi9', 400, 30, False)
|
||||||
|
|
||||||
|
Mod('delay',
|
||||||
|
'frappy_psi.dg645.Delay',
|
||||||
|
'delay line with 2 channels',
|
||||||
|
uri='serial:///dev/ttyS2',
|
||||||
|
on1=1e-09,
|
||||||
|
on2=1e-09,
|
||||||
|
off1=4e-07,
|
||||||
|
off2=6e-07,
|
||||||
|
)
|
@ -6,7 +6,7 @@ Node('QnwTC1test.psi.ch',
|
|||||||
Mod('io',
|
Mod('io',
|
||||||
'frappy_psi.qnw.QnwIO',
|
'frappy_psi.qnw.QnwIO',
|
||||||
'connection for Quantum northwest',
|
'connection for Quantum northwest',
|
||||||
uri='tcp://ldmcc01-ts:3004',
|
uri='tcp://ldm-fi-ts:3001',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('T',
|
Mod('T',
|
||||||
|
39
cfg/RUS_cfg.py
Normal file
39
cfg/RUS_cfg.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
Node(equipment_id = 'r_ultrasound.psi.ch',
|
||||||
|
description = 'resonant ultra sound setup',
|
||||||
|
interface = 'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('iq',
|
||||||
|
cls = 'frappy_psi.ultrasound.RUS',
|
||||||
|
description = 'ultrasound iq mesurement',
|
||||||
|
imod = 'i',
|
||||||
|
qmod = 'q',
|
||||||
|
freq='f',
|
||||||
|
input_range=10, # VPP
|
||||||
|
input_delay = 0,
|
||||||
|
periods = 163,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('freqio',
|
||||||
|
'frappy_psi.ultrasound.FreqStringIO',
|
||||||
|
' ',
|
||||||
|
uri = 'serial:///dev/ttyS1?baudrate=57600',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('f',
|
||||||
|
cls = 'frappy_psi.ultrasound.Frequency',
|
||||||
|
description = 'ultrasound frequency',
|
||||||
|
io='freqio',
|
||||||
|
output='L', # L for LF (bnc), R for RF (type N)
|
||||||
|
target=10000,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i',
|
||||||
|
cls='frappy.modules.Readable',
|
||||||
|
description='I component',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('q',
|
||||||
|
cls='frappy.modules.Readable',
|
||||||
|
description='Q component',
|
||||||
|
)
|
@ -6,7 +6,7 @@ Node('TFA10.psi.ch',
|
|||||||
Mod('io',
|
Mod('io',
|
||||||
'frappy_psi.thermofisher.ThermFishIO',
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
'connection for ThermoFisher A10',
|
'connection for ThermoFisher A10',
|
||||||
uri='tcp://ldmse-d910-ts:3001',
|
uri='tcp://ldm-fi-ts:3002',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('T',
|
Mod('T',
|
||||||
|
37
cfg/addons/ah2550sea_cfg.py
Normal file
37
cfg/addons/ah2550sea_cfg.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
Node('ah2550.addon.sea.psi.ch',
|
||||||
|
'Andeen Hagerlin 2550 Capacitance Bridge using SEA',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'SEA connection to mbe_ah2550',
|
||||||
|
config='ah2550.addon',
|
||||||
|
export=False,
|
||||||
|
service='addons',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ah',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='cap',
|
||||||
|
extra_modules = ['cap', 'loss']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='ah.cap',
|
||||||
|
value=Param(fmtstr='%.12g'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('loss',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='ah.loss',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('capslope',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='capslope',
|
||||||
|
)
|
15
cfg/addons/ah2700_cfg.py
Normal file → Executable file
15
cfg/addons/ah2700_cfg.py
Normal file → Executable file
@ -2,8 +2,21 @@ Node('ah2700.frappy.psi.ch',
|
|||||||
'Andeen Hagerlin 2700 Capacitance Bridge',
|
'Andeen Hagerlin 2700 Capacitance Bridge',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Mod('cap_io',
|
||||||
|
'frappy_psi.ah2700.Ah2700IO',
|
||||||
|
'',
|
||||||
|
uri='linse-976d-ts:3006',
|
||||||
|
)
|
||||||
|
|
||||||
Mod('cap',
|
Mod('cap',
|
||||||
'frappy_psi.ah2700.Capacitance',
|
'frappy_psi.ah2700.Capacitance',
|
||||||
'capacitance',
|
'capacitance',
|
||||||
uri='lollypop-ts:3002',
|
io = 'cap_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('loss',
|
||||||
|
'frappy_psi.parmod.Par',
|
||||||
|
'loss parameter',
|
||||||
|
read='cap.loss',
|
||||||
|
unit='deg',
|
||||||
)
|
)
|
||||||
|
@ -2,6 +2,8 @@ Node('ah2700.addon.sea.psi.ch',
|
|||||||
'Andeen Hagerlin 2700 Capacitance Bridge using SEA',
|
'Andeen Hagerlin 2700 Capacitance Bridge using SEA',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
sea_cfg='ah2700.addon'
|
||||||
|
|
||||||
Mod('sea_addons',
|
Mod('sea_addons',
|
||||||
'frappy_psi.sea.SeaClient',
|
'frappy_psi.sea.SeaClient',
|
||||||
'SEA connection to mbe_ah2700',
|
'SEA connection to mbe_ah2700',
|
||||||
@ -10,10 +12,24 @@ Mod('sea_addons',
|
|||||||
service='addons',
|
service='addons',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cap',
|
Mod('ah',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_addons',
|
io='sea_addons',
|
||||||
sea_object='cap',
|
sea_object='cap',
|
||||||
|
extra_modules = ['cap', 'loss']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='ah.cap',
|
||||||
|
value=Param(fmtstr='%.12g'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('loss',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='ah.loss',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('capslope',
|
Mod('capslope',
|
||||||
|
@ -14,4 +14,36 @@ Mod('t_be_filter',
|
|||||||
'Be filter T',
|
'Be filter T',
|
||||||
io='sea_addons',
|
io='sea_addons',
|
||||||
sea_object='t_be_filter',
|
sea_object='t_be_filter',
|
||||||
|
extra_modules=['a', 'b', 'c', 'd', 'det'],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Mod('t_be_fil_top_m',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='t_be_filter.a',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t_be_fil_top_r',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='t_be_filter.b',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t_be_fil_bot_l',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='t_be_filter.c',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t_be_fil_bot_r',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='t_be_filter.d',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t_detector',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='t_be_filter.det',
|
||||||
|
)
|
||||||
|
|
||||||
|
@ -44,6 +44,7 @@ Mod('ts_high',
|
|||||||
Mod('ts',
|
Mod('ts',
|
||||||
'frappy_psi.parmod.SwitchDriv',
|
'frappy_psi.parmod.SwitchDriv',
|
||||||
'automatically switching between ts_low and ts_high',
|
'automatically switching between ts_low and ts_high',
|
||||||
|
meaning=['temperature', 40],
|
||||||
value=Param(unit='K'),
|
value=Param(unit='K'),
|
||||||
low='ts_low',
|
low='ts_low',
|
||||||
high='ts_high',
|
high='ts_high',
|
||||||
|
34
cfg/addons/razorbill_cfg.py
Normal file
34
cfg/addons/razorbill_cfg.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Node('cfg/addons/razorbill.cfg',
|
||||||
|
'razorbill forwarder',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'SEA stick connection',
|
||||||
|
config='razorbill.addon',
|
||||||
|
service='addons',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='tt',
|
||||||
|
json_file='ori6.config.json',
|
||||||
|
rel_paths=['ts'],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('T_remote',
|
||||||
|
'frappy.proxy.Proxy',
|
||||||
|
'dummy (remote) T',
|
||||||
|
remote_class = 'frappy_psi.dummy.Temp',
|
||||||
|
uri='razorbill:3000',
|
||||||
|
module='T',
|
||||||
|
# export=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('forwarder',
|
||||||
|
'frappy_psi.dummy.Forwarder',
|
||||||
|
'forwarder',
|
||||||
|
src='ts',
|
||||||
|
dst='T_remote')
|
28
cfg/addons/sr830_cfg.py
Normal file
28
cfg/addons/sr830_cfg.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Node('srs830.ppms.psi.ch',
|
||||||
|
'',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
Mod('b',
|
||||||
|
'frappy_psi.SR830.XY',
|
||||||
|
'signal from Stanford Rasearch lockin',
|
||||||
|
uri='linse-976d-ts:3002',
|
||||||
|
)
|
||||||
|
Mod('bx',
|
||||||
|
'frappy_psi.parmod.Comp',
|
||||||
|
'x-comp',
|
||||||
|
read='b.value[0]',
|
||||||
|
unit='V',
|
||||||
|
)
|
||||||
|
Mod('by',
|
||||||
|
'frappy_psi.parmod.Comp',
|
||||||
|
'y-comp',
|
||||||
|
read='b.value[1]',
|
||||||
|
unit='V',
|
||||||
|
)
|
||||||
|
Mod('bf',
|
||||||
|
'frappy_psi.parmod.Par',
|
||||||
|
'lockin frequency',
|
||||||
|
read='b.freq',
|
||||||
|
unit='Hz',
|
||||||
|
)
|
||||||
|
|
44
cfg/addons/vsource_cfg.py
Normal file
44
cfg/addons/vsource_cfg.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Node('k2601b.psi.ch',
|
||||||
|
'source meter keithley 2601b',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('vsource_io',
|
||||||
|
'frappy_psi.k2601b.K2601bIO',
|
||||||
|
'source meter',
|
||||||
|
# uri = '129.129.156.90:5025',
|
||||||
|
uri = "sans-sample-ts:3011"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('source',
|
||||||
|
'frappy_psi.k2601b.SourceMeter'
|
||||||
|
'',
|
||||||
|
description = "keithley sourcemeter",
|
||||||
|
mode = 1,
|
||||||
|
vlimit = 6.0,
|
||||||
|
ilimit = 2.,
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('volt',
|
||||||
|
'frappy_psi.k2601b.Voltage'
|
||||||
|
'',
|
||||||
|
description = "Voltage Source",
|
||||||
|
active = True,
|
||||||
|
limit = 5.0,
|
||||||
|
target = 0.0,
|
||||||
|
sourcemeter = 'source',
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
|
Mod('cur',
|
||||||
|
'frappy_psi.k2601b.Current'
|
||||||
|
'',
|
||||||
|
description = "Current Source",
|
||||||
|
active = False,
|
||||||
|
limit = 0.10,
|
||||||
|
target = 0.0,
|
||||||
|
sourcemeter = 'source',
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
401
cfg/dil5_cfg.py
Normal file
401
cfg/dil5_cfg.py
Normal file
@ -0,0 +1,401 @@
|
|||||||
|
# by ID (independent of plug location)
|
||||||
|
turbo_uri = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A601PCGF-if00-port0'
|
||||||
|
press_uri = '/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH07445U-if00-port0'
|
||||||
|
itc_uri = '/dev/serial/by-id/usb-Prolific_Technology_Inc._USB-Serial_Controller_D-if00-port0'
|
||||||
|
lsc_uri = '192.168.1.2:7777'
|
||||||
|
# by plug location:
|
||||||
|
#turbo_uri='/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0'
|
||||||
|
#press_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0'
|
||||||
|
#itc_uri = '/dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0-port0'
|
||||||
|
# over USB (does not work anymore)
|
||||||
|
#lsc_uri='serial:///dev/ttyACM1?baudrate=57600+parity=odd+bytesize=7+stopbits=1',
|
||||||
|
|
||||||
|
|
||||||
|
Node('dil5.psi.ch',
|
||||||
|
'dil5 with state machine for condensing and removing',
|
||||||
|
interface='tcp://5000',
|
||||||
|
secondary = ['ws://8010']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.logo.IO',
|
||||||
|
'',
|
||||||
|
ip_address = "192.168.0.3",
|
||||||
|
tcap_client = 0x3000,
|
||||||
|
tsap_server = 0x2000
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V1',
|
||||||
|
'frappy_psi.logo.Valve',
|
||||||
|
'Valves',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_input ="V1025.0",
|
||||||
|
vm_address_output ="V1064.3"
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V2',
|
||||||
|
'frappy_psi.logo.Valve',
|
||||||
|
'Valves',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_input ="V1024.2",
|
||||||
|
vm_address_output ="V1064.0",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V4',
|
||||||
|
'frappy_psi.logo.Valve',
|
||||||
|
'Valves',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_input ="V1024.5",
|
||||||
|
vm_address_output ="V1064.7",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V5',
|
||||||
|
'frappy_psi.logo.Valve',
|
||||||
|
'Valves',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_input ="V1024.4",
|
||||||
|
vm_address_output ="V1064.2"
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V9',
|
||||||
|
'frappy_psi.logo.Valve',
|
||||||
|
'Valves',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_input ="V1024.3",
|
||||||
|
vm_address_output ="V404.1",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pump',
|
||||||
|
'frappy_psi.logo.FluidMachines',
|
||||||
|
'Pump',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_output ="V414.1"
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('compressor',
|
||||||
|
'frappy_psi.logo.FluidMachines',
|
||||||
|
'Compressor',
|
||||||
|
io = 'io',
|
||||||
|
vm_address_output ="V400.1"
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p2',
|
||||||
|
'frappy_psi.logo.Pressure',
|
||||||
|
'Pressure in mBar',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="VW0",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p1',
|
||||||
|
'frappy_psi.logo.Pressure',
|
||||||
|
'Pressure in mBar',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="VW2",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p5',
|
||||||
|
'frappy_psi.logo.Pressure',
|
||||||
|
'Pressure in mBar',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="VW4",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Druckluft',
|
||||||
|
'frappy_psi.logo.Airpressure',
|
||||||
|
'Airpressure state',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="VW6",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Mod('SF1',
|
||||||
|
'frappy_psi.logo.safetyfeatureState',
|
||||||
|
'Safety Feature',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="V410.1",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('SF2',
|
||||||
|
'frappy_psi.logo.safetyfeatureState',
|
||||||
|
'Safety Feature',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="V406.1",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('SF3',
|
||||||
|
'frappy_psi.logo.safetyfeatureState',
|
||||||
|
'Safety Feature',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="V408.1",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('SF4',
|
||||||
|
'frappy_psi.logo.safetyfeatureState',
|
||||||
|
'Safety Feature',
|
||||||
|
io = 'io',
|
||||||
|
vm_address ="V412.1",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p2max',
|
||||||
|
'frappy_psi.logo.safetyfeatureParam',
|
||||||
|
'Safety Feature Param',
|
||||||
|
io = 'io',
|
||||||
|
target = 2000,
|
||||||
|
vm_address ="VW8",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pcond',
|
||||||
|
'frappy_psi.logo.safetyfeatureParam',
|
||||||
|
'Safety Feature Param',
|
||||||
|
io = 'io',
|
||||||
|
target = 1800,
|
||||||
|
vm_address ="VW10",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p5min',
|
||||||
|
'frappy_psi.logo.safetyfeatureParam',
|
||||||
|
'Safety Feature Param',
|
||||||
|
io = 'io',
|
||||||
|
target = 0,
|
||||||
|
vm_address ="VW12",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p5max',
|
||||||
|
'frappy_psi.logo.safetyfeatureParam',
|
||||||
|
'Safety Feature Param',
|
||||||
|
io = 'io',
|
||||||
|
target = 900,
|
||||||
|
vm_address ="VW14",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('io_ls273',
|
||||||
|
'frappy_psi.ls372.StringIO',
|
||||||
|
'io for Ls372',
|
||||||
|
uri=lsc_uri,
|
||||||
|
)
|
||||||
|
Mod('sw',
|
||||||
|
'frappy_psi.ls372.Switcher',
|
||||||
|
'channel switcher',
|
||||||
|
io = 'io_ls273',
|
||||||
|
)
|
||||||
|
Mod('T_mix',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'mix temperature chan 5',
|
||||||
|
channel = 5,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_ivc',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'mix temperature chan 2',
|
||||||
|
channel = 2,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_still',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'mix temperature chan 3',
|
||||||
|
channel = 3,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_sorb',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'mix temperature chan 1',
|
||||||
|
channel = 1,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_cp',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'mix temperature chan 4',
|
||||||
|
channel = 4,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io_pfeiffer',
|
||||||
|
'frappy_psi.pfeiffer_new.PfeifferProtocol',
|
||||||
|
'',
|
||||||
|
uri=f'serial://{press_uri}?baudrate=9600+parity=none+bytesize=8+stopbits=1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io_turbo',
|
||||||
|
'frappy_psi.pfeiffer_new.PfeifferProtocol',
|
||||||
|
'',
|
||||||
|
uri=f'serial://{turbo_uri}?baudrate=9600+parity=none+bytesize=8+stopbits=1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p3',
|
||||||
|
'frappy_psi.pfeiffer_new.RPT200',
|
||||||
|
'Pressure in HPa',
|
||||||
|
io = 'io_pfeiffer',
|
||||||
|
address= 2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p4',
|
||||||
|
'frappy_psi.pfeiffer_new.RPT200',
|
||||||
|
'Pressure in HPa',
|
||||||
|
io = 'io_pfeiffer',
|
||||||
|
address= 4
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('turbopump',
|
||||||
|
'frappy_psi.pfeiffer_new.TCP400',
|
||||||
|
'Pfeiffer Turbopump',
|
||||||
|
io = 'io_turbo',
|
||||||
|
address= 1
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV10',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV10'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV13',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV13'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV8',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV8'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MVB',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MVB'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV2',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV2'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV1',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV1'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('MV3a',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV3a'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV3b',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV3b'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('GV1',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve GV1'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('GV2',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve GV2'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV14',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV14'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV12',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV12'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV11',
|
||||||
|
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV11'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('MV9',
|
||||||
|
'frappy_psi.manual_valves.ManualValve',
|
||||||
|
'Manual Valve MV9'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('itc',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'connection to MercuryiTC',
|
||||||
|
uri=f'serial://{itc_uri}?baudrate=115200+parity=none+bytesize=8+stopbits=1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_still_wup',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'still warmup temperature',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='itc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_one_K',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'1 K plate warmup temperature',
|
||||||
|
slot='DB5.T1',
|
||||||
|
io='itc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_mix_wup',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'mix. chamber warmup temperature',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_ivc_wup',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'IVC warmup temperature',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_cond',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'condenser temperature',
|
||||||
|
slot='DB8.T1',
|
||||||
|
io='itc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stateMachine',
|
||||||
|
'frappy_psi.dilution_statemachine.DIL5',
|
||||||
|
'Statemachine',
|
||||||
|
|
||||||
|
condenseline_pressure = "p2",
|
||||||
|
condense_valve = "V9",
|
||||||
|
dump_valve = "V4",
|
||||||
|
circulate_pump = "pump",
|
||||||
|
compressor = "compressor",
|
||||||
|
|
||||||
|
turbopump = "turbopump",
|
||||||
|
condenseline_valve = "V1",
|
||||||
|
circuitshort_valve = "V2",
|
||||||
|
still_pressure = "p3",
|
||||||
|
#ls372 = "res1",
|
||||||
|
V5 = "V5",
|
||||||
|
p1 = "p1",
|
||||||
|
|
||||||
|
MV10 = 'MV10',
|
||||||
|
MV13 ='MV13',
|
||||||
|
MV8 = 'MV8',
|
||||||
|
MVB = 'MVB',
|
||||||
|
MV2 = 'MV2',
|
||||||
|
|
||||||
|
MV1 = 'MV1',
|
||||||
|
MV3a = 'MV3a',
|
||||||
|
MV3b = 'MV3b',
|
||||||
|
GV1 = 'GV1',
|
||||||
|
MV14 = 'MV14',
|
||||||
|
MV12 = 'MV12',
|
||||||
|
MV11 = 'MV11',
|
||||||
|
MV9 = 'MV9',
|
||||||
|
GV2 = 'GV2',
|
||||||
|
condensing_p_low = 150,
|
||||||
|
condensing_p_high = 250
|
||||||
|
)
|
||||||
|
|
||||||
|
|
231
cfg/dilsc_cfg.py
Normal file
231
cfg/dilsc_cfg.py
Normal file
@ -0,0 +1,231 @@
|
|||||||
|
Node('cfg/dilsc1.cfg',
|
||||||
|
'triton test',
|
||||||
|
interface='5000',
|
||||||
|
name='dilsc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('triton',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'connection to triton software',
|
||||||
|
uri='tcp://192.168.2.33:33576',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_mix',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'mix. chamber temperature',
|
||||||
|
slot='T8',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_pt2head',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'PTR2 head temperature',
|
||||||
|
slot='T1',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_pt2plate',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'PTR2 plate temperature',
|
||||||
|
slot='T2',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_still',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'still temperature',
|
||||||
|
slot='T3',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_still',
|
||||||
|
'frappy_psi.triton.HeaterOutput',
|
||||||
|
'still heater',
|
||||||
|
slot='H2',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_coldpl',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'cold plate temperature',
|
||||||
|
slot='T4',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_mixcx',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'mix. chamber cernox',
|
||||||
|
slot='T5',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_pt1head',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'PTR1 head temperature',
|
||||||
|
slot='T6',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_pt1plate',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'PTR1 plate temperature',
|
||||||
|
slot='T7',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_pucksensor',
|
||||||
|
'frappy_psi.triton.TemperatureLoop',
|
||||||
|
'puck sensor temperature',
|
||||||
|
output_module='htr_pucksensor',
|
||||||
|
slot='TA',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_pucksensor',
|
||||||
|
'frappy_psi.triton.HeaterOutputWithRange',
|
||||||
|
'mix. chamber heater',
|
||||||
|
slot='H1,TA',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_magnet',
|
||||||
|
'frappy_psi.triton.TemperatureSensor',
|
||||||
|
'magnet temperature',
|
||||||
|
slot='T13',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('action',
|
||||||
|
'frappy_psi.triton.Action',
|
||||||
|
'higher level scripts',
|
||||||
|
io='triton',
|
||||||
|
slot='DR',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_dump',
|
||||||
|
'frappy_psi.mercury.PressureSensor',
|
||||||
|
'dump pressure',
|
||||||
|
slot='P1',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_cond',
|
||||||
|
'frappy_psi.mercury.PressureSensor',
|
||||||
|
'condenser pressure',
|
||||||
|
slot='P2',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_still',
|
||||||
|
'frappy_psi.mercury.PressureSensor',
|
||||||
|
'still pressure',
|
||||||
|
slot='P3',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_fore',
|
||||||
|
'frappy_psi.mercury.PressureSensor',
|
||||||
|
'pressure on the pump side',
|
||||||
|
slot='P5',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_back',
|
||||||
|
'frappy_psi.mercury.PressureSensor',
|
||||||
|
'pressure on the back side of the pump',
|
||||||
|
slot='P4',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_ovc',
|
||||||
|
'frappy_psi.mercury.PressureSensor',
|
||||||
|
'outer vacuum pressure',
|
||||||
|
slot='P6',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V1',
|
||||||
|
'frappy_psi.triton.Valve',
|
||||||
|
'valve V1',
|
||||||
|
slot='V1',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V2',
|
||||||
|
'frappy_psi.triton.Valve',
|
||||||
|
'valve V2',
|
||||||
|
slot='V2',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V4',
|
||||||
|
'frappy_psi.triton.Valve',
|
||||||
|
'valve V4',
|
||||||
|
slot='V4',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V5',
|
||||||
|
'frappy_psi.triton.Valve',
|
||||||
|
'valve V5',
|
||||||
|
slot='V5',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V9',
|
||||||
|
'frappy_psi.triton.Valve',
|
||||||
|
'valve V9',
|
||||||
|
slot='V9',
|
||||||
|
io='triton',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ips',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'IPS for magnet',
|
||||||
|
uri='192.168.127.254:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.dilsc.VectorField',
|
||||||
|
'vector field',
|
||||||
|
x='mfx',
|
||||||
|
y='mfy',
|
||||||
|
z='mfz',
|
||||||
|
sphere_radius=0.6,
|
||||||
|
cylinders=((0.23, 5.2), (0.45, 0.8)),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mfx',
|
||||||
|
'frappy_psi.ips_mercury.SimpleField',
|
||||||
|
'magnetic field, x-axis',
|
||||||
|
slot='GRPX',
|
||||||
|
io='ips',
|
||||||
|
tolerance=0.0001,
|
||||||
|
wait_stable_field=0.0,
|
||||||
|
nunits=2,
|
||||||
|
target=Param(max=0.6),
|
||||||
|
ramp=0.225,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mfy',
|
||||||
|
'frappy_psi.ips_mercury.SimpleField',
|
||||||
|
'magnetic field, y axis',
|
||||||
|
slot='GRPY',
|
||||||
|
io='ips',
|
||||||
|
tolerance=0.0001,
|
||||||
|
wait_stable_field=0.0,
|
||||||
|
nunits=2,
|
||||||
|
target=Param(max=0.6),
|
||||||
|
ramp=0.225,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mfz',
|
||||||
|
'frappy_psi.ips_mercury.Field',
|
||||||
|
'magnetic field, z-axis',
|
||||||
|
slot='GRPZ',
|
||||||
|
io='ips',
|
||||||
|
tolerance=0.0001,
|
||||||
|
target=Param(max=5.2),
|
||||||
|
mode='DRIVEN',
|
||||||
|
ramp=0.52,
|
||||||
|
)
|
136
cfg/dummy_cfg.py
Normal file
136
cfg/dummy_cfg.py
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
Node('test.config.frappy.demo',
|
||||||
|
'''short description of the testing sec-node
|
||||||
|
|
||||||
|
This description for the node can be as long as you need if you use a multiline string.
|
||||||
|
|
||||||
|
Very long!
|
||||||
|
The needed fields are Equipment id (1st argument), description (this)
|
||||||
|
and the main interface of the node (3rd arg)
|
||||||
|
''',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('attachtest',
|
||||||
|
'frappy_demo.test.WithAtt',
|
||||||
|
'test attached',
|
||||||
|
att = 'LN2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pinata',
|
||||||
|
'frappy_demo.test.Pin',
|
||||||
|
'scan test',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('recursive',
|
||||||
|
'frappy_demo.test.RecPin',
|
||||||
|
'scan test',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('LN2',
|
||||||
|
'frappy_demo.test.LN2',
|
||||||
|
'random value between 0..100%',
|
||||||
|
value = Param(default = 0, unit = '%'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('heater',
|
||||||
|
'frappy_demo.test.Heater',
|
||||||
|
'some heater',
|
||||||
|
maxheaterpower = 10,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T1',
|
||||||
|
'frappy_demo.test.Temp',
|
||||||
|
'some temperature',
|
||||||
|
sensor = 'X34598T7',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T2',
|
||||||
|
'frappy_demo.test.Temp',
|
||||||
|
'some temperature',
|
||||||
|
sensor = 'X34598T8',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T3',
|
||||||
|
'frappy_demo.test.Temp',
|
||||||
|
'some temperature',
|
||||||
|
sensor = 'X34598T9',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Lower',
|
||||||
|
'frappy_demo.test.Lower',
|
||||||
|
'something else',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Decision',
|
||||||
|
'frappy_demo.test.Mapped',
|
||||||
|
'Random value from configured property choices. Config accepts anything ' \
|
||||||
|
'that can be converted to a list',
|
||||||
|
choices = ['Yes', 'Maybe', 'No'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('c',
|
||||||
|
'frappy_demo.test.Commands',
|
||||||
|
'a command test',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cryo',
|
||||||
|
'frappy_demo.cryo.Cryostat',
|
||||||
|
'A simulated cc cryostat with heat-load, specific heat for the sample and a '
|
||||||
|
'temperature dependent heat-link between sample and regulation.',
|
||||||
|
group='very important/stuff',
|
||||||
|
jitter=0.1,
|
||||||
|
T_start=10.0,
|
||||||
|
target=10.0,
|
||||||
|
looptime=1,
|
||||||
|
ramp=6,
|
||||||
|
maxpower=20.0,
|
||||||
|
heater=4.1,
|
||||||
|
mode='pid',
|
||||||
|
tolerance=0.1,
|
||||||
|
window=30,
|
||||||
|
timeout=900,
|
||||||
|
p = Param(40, unit='%/K'), # in case 'default' is the first arg, we can omit 'default='
|
||||||
|
i = 10,
|
||||||
|
d = 2,
|
||||||
|
pid = Group('p', 'i', 'd'),
|
||||||
|
pollinterval = Param(export=False),
|
||||||
|
value = Param(unit = 'K', test = 'customized value'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('heatswitch',
|
||||||
|
'frappy_demo.modules.Switch',
|
||||||
|
'Heatswitch for `mf` device',
|
||||||
|
switch_on_time = 5,
|
||||||
|
switch_off_time = 10,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('bool',
|
||||||
|
'frappy_demo.modules.BoolWritable',
|
||||||
|
'boolean writable test',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lscom',
|
||||||
|
'frappy_psi.ls370sim.Ls370Sim',
|
||||||
|
'simulated serial communicator to a LS 370',
|
||||||
|
visibility = 3
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sw',
|
||||||
|
'frappy_psi.ls370res.Switcher',
|
||||||
|
'channel switcher for Lsc controller',
|
||||||
|
io = 'lscom',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('a',
|
||||||
|
'frappy_psi.ls370res.ResChannel',
|
||||||
|
'resistivity',
|
||||||
|
channel = 1,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('b',
|
||||||
|
'frappy_psi.ls370res.ResChannel',
|
||||||
|
'resistivity',
|
||||||
|
channel = 3,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
100
cfg/fi2_cfg.py
Normal file
100
cfg/fi2_cfg.py
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
Node('fi2.psi.ch',
|
||||||
|
'vacuum furnace ILL Type',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_io',
|
||||||
|
'frappy_psi.tdkpower.IO',
|
||||||
|
'powersupply communicator',
|
||||||
|
uri = 'serial:///dev/ttyUSB0',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr',
|
||||||
|
'frappy_psi.tdkpower.Power',
|
||||||
|
'heater power',
|
||||||
|
io= 'htr_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('out',
|
||||||
|
'frappy_psi.tdkpower.Output',
|
||||||
|
'heater output',
|
||||||
|
io = 'htr_io',
|
||||||
|
maxvolt = 5,
|
||||||
|
maxcurrent = 25,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('relais',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'relais for power output',
|
||||||
|
addr = 'o2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_main',
|
||||||
|
'frappy_psi.ionopimax.CurrentInput',
|
||||||
|
'sample temperature',
|
||||||
|
addr = 'ai4',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('T_extra',
|
||||||
|
'frappy_psi.ionopimax.CurrentInput',
|
||||||
|
'extra temperature',
|
||||||
|
addr = 'ai3',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_htr',
|
||||||
|
'frappy_psi.ionopimax.CurrentInput',
|
||||||
|
'heater temperature',
|
||||||
|
addr = 'ai2',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_wall',
|
||||||
|
'frappy_psi.ionopimax.VoltageInput',
|
||||||
|
'furnace wall temperature',
|
||||||
|
addr = 'av2',
|
||||||
|
rawrange = (0, 1.5),
|
||||||
|
valuerange = (0, 150),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.picontrol.PI',
|
||||||
|
'controlled Temperature',
|
||||||
|
input = 'T_htr',
|
||||||
|
output = 'out',
|
||||||
|
relais = 'relais',
|
||||||
|
p = 2,
|
||||||
|
i = 0.01,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('interlocks',
|
||||||
|
'frappy_psi.furnace.Interlocks',
|
||||||
|
'interlock parameters',
|
||||||
|
input = 'T_htr',
|
||||||
|
wall_T = 'T_wall',
|
||||||
|
vacuum = 'p',
|
||||||
|
relais = 'relais',
|
||||||
|
control = 'T',
|
||||||
|
wall_limit = 50,
|
||||||
|
vacuum_limit = 0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_io',
|
||||||
|
'frappy_psi.pfeiffer.IO',
|
||||||
|
'pressure io',
|
||||||
|
uri='serial:///dev/ttyUSBlower',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p',
|
||||||
|
'frappy_psi.pfeiffer.Pressure',
|
||||||
|
'pressure reading',
|
||||||
|
io = 'p_io',
|
||||||
|
)
|
||||||
|
|
117
cfg/fi_cfg.py
Normal file
117
cfg/fi_cfg.py
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
Node('fi.psi.ch',
|
||||||
|
'ILL furnace',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_main',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'sample temperature',
|
||||||
|
addr='ai2',
|
||||||
|
valuerange=(0, 2300),
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_extra',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'extra temperature',
|
||||||
|
addr='ai1',
|
||||||
|
valuerange=(0, 2300),
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_wall',
|
||||||
|
'frappy_psi.ionopimax.VoltageInput',
|
||||||
|
'furnace wall temperature',
|
||||||
|
addr='av2',
|
||||||
|
rawrange=(0, 1.5),
|
||||||
|
valuerange=(0, 150),
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T3',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'extra temperature',
|
||||||
|
addr='ai3',
|
||||||
|
valuerange=(0, 1372),
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T4',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'extra temperature',
|
||||||
|
addr='ai4',
|
||||||
|
valuerange=(0, 1372),
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.picontrol.PI',
|
||||||
|
'controlled Temperature',
|
||||||
|
input_module='T_main',
|
||||||
|
output_module='htr',
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
output_min = 0,
|
||||||
|
output_max = 100,
|
||||||
|
# relais='relais',
|
||||||
|
p=0.1,
|
||||||
|
i=0.01,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_io',
|
||||||
|
'frappy_psi.tdkpower.IO',
|
||||||
|
'powersupply communicator',
|
||||||
|
uri='serial:///dev/ttyUSB0?baudrate=9600',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_power',
|
||||||
|
'frappy_psi.tdkpower.Power',
|
||||||
|
'heater power',
|
||||||
|
io='htr_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr',
|
||||||
|
'frappy_psi.furnace.TdkOutput',
|
||||||
|
'heater output',
|
||||||
|
io='htr_io',
|
||||||
|
maxvolt=8,
|
||||||
|
maxcurrent=200,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('flowswitch',
|
||||||
|
'frappy_psi.ionopimax.DigitalInput',
|
||||||
|
'flow switch',
|
||||||
|
addr='dt2',
|
||||||
|
true_level='low',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('interlocks',
|
||||||
|
'frappy_psi.furnace.Interlocks',
|
||||||
|
'interlock parameters',
|
||||||
|
main_T='T_main',
|
||||||
|
extra_T='T_extra',
|
||||||
|
wall_T='T_wall',
|
||||||
|
vacuum='p',
|
||||||
|
control='T',
|
||||||
|
htr='htr',
|
||||||
|
flowswitch='flowswitch',
|
||||||
|
wall_limit=50,
|
||||||
|
main_T_limit = 1400,
|
||||||
|
extra_T_limit = 1400,
|
||||||
|
vacuum_limit=0.01,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p',
|
||||||
|
'frappy_psi.furnace.PKRgauge',
|
||||||
|
'pressure reading',
|
||||||
|
addr = 'av1',
|
||||||
|
rawrange = (1.82, 8.6),
|
||||||
|
valuerange = (5e-9, 1000),
|
||||||
|
value = Param(unit='mbar'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('vso',
|
||||||
|
'frappy_psi.ionopimax.VoltagePower',
|
||||||
|
'voltage power output',
|
||||||
|
target = 24,
|
||||||
|
export = False,
|
||||||
|
)
|
130
cfg/fs_cfg.py
Normal file
130
cfg/fs_cfg.py
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
Node('fs.psi.ch',
|
||||||
|
'small vacuum furnace',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.picontrol.PI2',
|
||||||
|
'controlled Temperature on sample (2nd loop)',
|
||||||
|
input = 'T_sample',
|
||||||
|
output = 'T_reg',
|
||||||
|
relais = 'relais',
|
||||||
|
p = 1.2,
|
||||||
|
i = 0.005,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_reg',
|
||||||
|
'frappy_psi.picontrol.PI',
|
||||||
|
'controlled Temperature on heater',
|
||||||
|
input = 'T_htr',
|
||||||
|
output = 't_out',
|
||||||
|
relais = 'relais',
|
||||||
|
p = 1,
|
||||||
|
i = 0.003,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_reg',
|
||||||
|
'frappy_psi.picontrol.PI',
|
||||||
|
'controlled pressure',
|
||||||
|
input = 'p',
|
||||||
|
output = 'p_out',
|
||||||
|
relais = 'relais',
|
||||||
|
p = 1,
|
||||||
|
i = 0.005,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_htr',
|
||||||
|
'frappy_psi.ionopimax.CurrentInput',
|
||||||
|
'heater temperature',
|
||||||
|
addr = 'ai4',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('T_sample',
|
||||||
|
'frappy_psi.ionopimax.CurrentInput',
|
||||||
|
'sample temperature',
|
||||||
|
addr = 'ai3',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_extra',
|
||||||
|
'frappy_psi.ionopimax.CurrentInput',
|
||||||
|
'extra temperature',
|
||||||
|
addr = 'ai2',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('T_wall',
|
||||||
|
'frappy_psi.ionopimax.VoltageInput',
|
||||||
|
'furnace wall temperature',
|
||||||
|
addr = 'av2',
|
||||||
|
rawrange = (0, 1.5),
|
||||||
|
valuerange = (0, 150),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_io',
|
||||||
|
'frappy_psi.bkpower.IO',
|
||||||
|
'powersupply communicator',
|
||||||
|
uri = 'serial:///dev/ttyUSBupper',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr',
|
||||||
|
'frappy_psi.bkpower.Power',
|
||||||
|
'heater power',
|
||||||
|
io= 'htr_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t_out',
|
||||||
|
'frappy_psi.bkpower.Output',
|
||||||
|
'heater output',
|
||||||
|
p_value = 'p_out',
|
||||||
|
io = 'htr_io',
|
||||||
|
maxvolt = 50,
|
||||||
|
maxcurrent = 2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('relais',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'relais for power output',
|
||||||
|
addr = 'o2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('interlocks',
|
||||||
|
'frappy_psi.furnace.Interlocks',
|
||||||
|
'interlock parameters',
|
||||||
|
input = 'T_htr',
|
||||||
|
wall_T = 'T_wall',
|
||||||
|
htr_T = 'T_htr',
|
||||||
|
main_T = 'T_sample',
|
||||||
|
extra_T = 'T_extra',
|
||||||
|
vacuum = 'p',
|
||||||
|
relais = 'relais',
|
||||||
|
control = 'T',
|
||||||
|
wall_limit = 100,
|
||||||
|
vacuum_limit = 0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p',
|
||||||
|
'frappy_psi.ionopimax.LogVoltageInput',
|
||||||
|
'pressure reading',
|
||||||
|
addr = 'av1',
|
||||||
|
rawrange = (1.82, 8.6),
|
||||||
|
valuerange = (5e-9, 1000),
|
||||||
|
value = Param(unit='mbar'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('vso',
|
||||||
|
'frappy_psi.ionopimax.VoltagePower',
|
||||||
|
'voltage power output',
|
||||||
|
target = 24,
|
||||||
|
export = False,
|
||||||
|
)
|
@ -3,3 +3,5 @@
|
|||||||
logdir = ./log
|
logdir = ./log
|
||||||
piddir = ./pid
|
piddir = ./pid
|
||||||
confdir = ./cfg
|
confdir = ./cfg
|
||||||
|
comlog = True
|
||||||
|
omit_unchanged_within = 60
|
||||||
|
16
cfg/lockin830_cfg.py
Normal file
16
cfg/lockin830_cfg.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Node('lockin830test.psi.ch',
|
||||||
|
'lockin830 test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.SR830.SR830_IO',
|
||||||
|
'lockin communication',
|
||||||
|
uri='tcp://linse-976d-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('XY',
|
||||||
|
'frappy_psi.SR830.XY',
|
||||||
|
'XY channels',
|
||||||
|
io='io',
|
||||||
|
)
|
@ -4,33 +4,22 @@ Node('ls340test.psi.ch',
|
|||||||
)
|
)
|
||||||
|
|
||||||
Mod('io',
|
Mod('io',
|
||||||
'frappy_psi.lakeshore.Ls340IO',
|
'frappy_psi.lakeshore.IO340',
|
||||||
'communication to ls340',
|
'communication to ls340',
|
||||||
uri='tcp://ldmprep56-ts:3002'
|
uri='tcp://localhost:7777'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Mod('dev',
|
||||||
|
'frappy_psi.lakeshore.Device340',
|
||||||
|
'device for calcurve',
|
||||||
|
io='io',
|
||||||
|
curve_handling=True,
|
||||||
|
)
|
||||||
Mod('T',
|
Mod('T',
|
||||||
'frappy_psi.lakeshore.TemperatureLoop340',
|
|
||||||
'sample temperature',
|
|
||||||
output_module='Heater',
|
|
||||||
target=Param(max=470),
|
|
||||||
io='io',
|
|
||||||
channel='B'
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_cold_finger',
|
|
||||||
'frappy_psi.lakeshore.Sensor340',
|
'frappy_psi.lakeshore.Sensor340',
|
||||||
'cold finger temperature',
|
'sample temperature',
|
||||||
io='io',
|
# output_module='Heater',
|
||||||
channel='A'
|
device='dev',
|
||||||
)
|
channel='A',
|
||||||
|
calcurve='x29746',
|
||||||
Mod('Heater',
|
|
||||||
'frappy_psi.lakeshore.HeaterOutput',
|
|
||||||
'heater output',
|
|
||||||
channel='B',
|
|
||||||
io='io',
|
|
||||||
resistance=25,
|
|
||||||
max_power=50,
|
|
||||||
current=1
|
|
||||||
)
|
)
|
||||||
|
@ -6,7 +6,8 @@ Node('LscSIM.psi.ch',
|
|||||||
Mod('io',
|
Mod('io',
|
||||||
'frappy_psi.ls370res.StringIO',
|
'frappy_psi.ls370res.StringIO',
|
||||||
'io for Ls370',
|
'io for Ls370',
|
||||||
uri = 'localhost:2089',
|
# uri = 'localhost:2089',
|
||||||
|
uri = 'linse-976d-ts:3007',
|
||||||
)
|
)
|
||||||
Mod('sw',
|
Mod('sw',
|
||||||
'frappy_psi.ls370res.Switcher',
|
'frappy_psi.ls370res.Switcher',
|
||||||
@ -17,7 +18,7 @@ Mod('res1',
|
|||||||
'frappy_psi.ls370res.ResChannel',
|
'frappy_psi.ls370res.ResChannel',
|
||||||
'resistivity chan 1',
|
'resistivity chan 1',
|
||||||
vexc = '2mV',
|
vexc = '2mV',
|
||||||
channel = 1,
|
channel = 2,
|
||||||
switcher = 'sw',
|
switcher = 'sw',
|
||||||
)
|
)
|
||||||
Mod('res2',
|
Mod('res2',
|
||||||
|
@ -11,6 +11,7 @@ Mod('sea_main',
|
|||||||
|
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning=['temperature', 20],
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
@ -12,6 +12,7 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,5 +12,6 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
@ -7,13 +7,14 @@ Mod('sea_main',
|
|||||||
config = 'ccrpe.config',
|
config = 'ccrpe.config',
|
||||||
service = 'main',
|
service = 'main',
|
||||||
)
|
)
|
||||||
Mod('tt',
|
Mod('ts',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'tm'],
|
rel_paths=['ts', 'set'],
|
||||||
)
|
)
|
||||||
Mod('ts',
|
Mod('tm',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
@ -9,18 +9,19 @@ Mod('sea_main',
|
|||||||
service='main',
|
service='main',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('tt',
|
Mod('ts',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'tm'],
|
rel_paths=['ts', 'set'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('ts',
|
Mod('tm',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['ts'],
|
rel_paths=['tm'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('te',
|
Mod('te',
|
||||||
|
@ -12,5 +12,6 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
@ -12,5 +12,6 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
@ -11,6 +11,14 @@ Mod('sea_main',
|
|||||||
|
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning=['temperature', 20],
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaReadable', 'CTI cold finger temperature',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths = ['te'],
|
||||||
|
)
|
||||||
|
@ -6,10 +6,11 @@ Mod('sea_main',
|
|||||||
'main sea connection for haakeuro.config',
|
'main sea connection for haakeuro.config',
|
||||||
config = 'eurotherm.config',
|
config = 'eurotherm.config',
|
||||||
service = 'main',
|
service = 'main',
|
||||||
meaning=('temperature', 11),
|
|
||||||
)
|
)
|
||||||
Mod('te',
|
Mod('te',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object = 'te',
|
sea_object = 'te',
|
||||||
|
meaning=('temperature', 11),
|
||||||
)
|
)
|
||||||
|
@ -12,6 +12,7 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
Node('flamemag.psi.ch',
|
Node('flamemag.psi.ch',
|
||||||
'flame magnet',
|
'flame magnet',
|
||||||
interface='tcp://5000'
|
interface='tcp://5000',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
sea_cfg = 'flamemag.config'
|
||||||
|
|
||||||
Mod('cio',
|
Mod('cio',
|
||||||
'frappy_psi.cryoltd.IO',
|
'frappy_psi.cryoltd.IO',
|
||||||
'IO to cryo ltd software',
|
'IO to cryo ltd software',
|
||||||
uri='tcp://flamedil:3128',
|
uri='tcp://flamemag:3128',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('main',
|
Mod('main',
|
||||||
|
@ -13,7 +13,8 @@ Mod('ts',
|
|||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'ts'],
|
meaning=['temperature', 20],
|
||||||
|
rel_paths=['ts', 'set'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('t2',
|
Mod('t2',
|
||||||
|
25
cfg/main/fw_cfg.py
Normal file
25
cfg/main/fw_cfg.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Node('ft.config.sea.psi.ch',
|
||||||
|
'FW ILL furnace with W5 thermnocouple (1800 K), old power rack',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for fw.config',
|
||||||
|
config='fw.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature', 20],
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts', 'set'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['t2'],
|
||||||
|
)
|
21
cfg/main/haake2_cfg.py
Normal file
21
cfg/main/haake2_cfg.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Node('haake2.config.sea.psi.ch',
|
||||||
|
'Haake thermostat + Eurotherm controller',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for haakeuro.config',
|
||||||
|
config = 'haake2.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning = ('temperature', 10),
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'th',
|
||||||
|
extra_modules=['t2'],
|
||||||
|
)
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='th.t2',
|
||||||
|
)
|
@ -1,5 +1,5 @@
|
|||||||
Node('haakeuro.config.sea.psi.ch',
|
Node('haake.config.sea.psi.ch',
|
||||||
'Haake thermostat + Eurotherm controller',
|
'Haake thermostat',
|
||||||
)
|
)
|
||||||
Mod('sea_main',
|
Mod('sea_main',
|
||||||
'frappy_psi.sea.SeaClient',
|
'frappy_psi.sea.SeaClient',
|
||||||
@ -13,9 +13,5 @@ Mod('th',
|
|||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
sea_object = 'th',
|
sea_object = 'th',
|
||||||
extra_modules=['t2'],
|
extra_modules=['t2'],
|
||||||
)
|
value=Param(unit='degC'),
|
||||||
Mod('ts',
|
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
|
||||||
io='sea_main',
|
|
||||||
single_module='th.t2',
|
|
||||||
)
|
)
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('pauto',
|
Mod('pauto',
|
||||||
|
@ -12,8 +12,10 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'tt'],
|
rel_paths=['tt', 'set'],
|
||||||
|
value=Param(unit='K'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('T_ccr',
|
Mod('T_ccr',
|
||||||
@ -21,6 +23,7 @@ Mod('T_ccr',
|
|||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['ccr'],
|
rel_paths=['ccr'],
|
||||||
|
value=Param(unit='K'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('jtccr',
|
Mod('jtccr',
|
||||||
@ -100,30 +103,35 @@ Mod('p1',
|
|||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='p1',
|
sea_object='p1',
|
||||||
|
value=Param(unit='mbar'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('p2',
|
Mod('p2',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='p2',
|
sea_object='p2',
|
||||||
|
value=Param(unit='mbar'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('p3',
|
Mod('p3',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='p3',
|
sea_object='p3',
|
||||||
|
value=Param(unit='mbar'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('p4',
|
Mod('p4',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='p4',
|
sea_object='p4',
|
||||||
|
value=Param(unit='mbar'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('pressreg',
|
Mod('pressreg',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='pressreg',
|
sea_object='pressreg',
|
||||||
|
value=Param(unit='mbar'),
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('epc',
|
Mod('epc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
@ -83,4 +85,5 @@ Mod('om',
|
|||||||
target_min = -180,
|
target_min = -180,
|
||||||
target_max = 360,
|
target_max = 360,
|
||||||
encoder_mode='READ',
|
encoder_mode='READ',
|
||||||
|
backlash=-1,
|
||||||
)
|
)
|
||||||
|
102
cfg/main/ma10heat_cfg.py
Normal file
102
cfg/main/ma10heat_cfg.py
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
Node('ma10.config.sea.psi.ch',
|
||||||
|
'10 Tesla vertical cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma10.config',
|
||||||
|
config='ma10heat.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts', 'set']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tm',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', 'setvti']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts_2']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma10-ts.psi.ch:3004',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
sign=-1,
|
||||||
|
target_min = -180,
|
||||||
|
target_max = 360,
|
||||||
|
encoder_mode='READ',
|
||||||
|
)
|
109
cfg/main/ma10high_t_cfg.py
Normal file
109
cfg/main/ma10high_t_cfg.py
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
Node('ma10.config.sea.psi.ch',
|
||||||
|
'10 Tesla vertical cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma10.config',
|
||||||
|
config='ma10high_t.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'sample heater temperature',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts', 'setsamp']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tm',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.parmod.Converging',
|
||||||
|
'test for parmod',
|
||||||
|
unit='K',
|
||||||
|
read='th.value',
|
||||||
|
write='th.setsamp',
|
||||||
|
meaning=['temperature', 20],
|
||||||
|
settling_time=20,
|
||||||
|
tolerance=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts_2']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma10-ts.psi.ch:3004',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
sign=-1,
|
||||||
|
target_min = -180,
|
||||||
|
target_max = 360,
|
||||||
|
encoder_mode='READ',
|
||||||
|
)
|
||||||
|
|
@ -12,8 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'tm'],
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,8 +10,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object = 'tt',
|
sea_object = 'tt',
|
||||||
rel_paths = ['.', 'tm']
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
@ -12,8 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'tm'],
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,11 +12,11 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['tm', 'set'],
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
Mod('th',
|
Mod('th',
|
||||||
'frappy_psi.sea.SeaReadable',
|
'frappy_psi.sea.SeaReadable',
|
||||||
'sample heater temperature',
|
'sample heater temperature',
|
||||||
|
@ -10,10 +10,12 @@ Mod('sea_main',
|
|||||||
)
|
)
|
||||||
|
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.LscDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['.', 'tm'],
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
@ -68,15 +70,13 @@ Mod('lev',
|
|||||||
Mod('tcoil1',
|
Mod('tcoil1',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tcoil',
|
sea_path='tcoil/ta',
|
||||||
rel_paths=['ta'],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('tcoil2',
|
Mod('tcoil2',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tcoil',
|
sea_path='tcoil/tb',
|
||||||
rel_paths=['tb'],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('table',
|
Mod('table',
|
||||||
|
108
cfg/main/ma7_piezo_cfg.py
Normal file
108
cfg/main/ma7_piezo_cfg.py
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
Node('ma7_piezo.config.sea.psi.ch',
|
||||||
|
'6.8 Tesla horizontal cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma7.config',
|
||||||
|
config='ma7_piezo.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl', 'voltage'],
|
||||||
|
extra_modules=['manualpower'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
value=Param(unit='T'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['ta'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['tb'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma7-ts.psi.ch:3007',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V',
|
||||||
|
'frappy_psi.sea.SeaWritable',
|
||||||
|
'voltage',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='tt.manualpower',
|
||||||
|
)
|
@ -4,7 +4,7 @@ Node('ma7.config.sea.psi.ch',
|
|||||||
|
|
||||||
Mod('sea_main',
|
Mod('sea_main',
|
||||||
'frappy_psi.sea.SeaClient',
|
'frappy_psi.sea.SeaClient',
|
||||||
'main sea connection for ma7.config',
|
'main sea connection for ma7_sampleheat.config',
|
||||||
config='ma7_sampleheat.config',
|
config='ma7_sampleheat.config',
|
||||||
service='main',
|
service='main',
|
||||||
)
|
)
|
||||||
@ -12,9 +12,10 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['tm', 'set'],
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('th',
|
Mod('th',
|
||||||
'frappy_psi.sea.SeaReadable',
|
'frappy_psi.sea.SeaReadable',
|
||||||
@ -24,6 +25,7 @@ Mod('th',
|
|||||||
rel_paths=['ts_2', 'setsamp']
|
rel_paths=['ts_2', 'setsamp']
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
Mod('ts0',
|
Mod('ts0',
|
||||||
'frappy_psi.sea.SeaReadable',
|
'frappy_psi.sea.SeaReadable',
|
||||||
'sample stick exch. temperature',
|
'sample stick exch. temperature',
|
||||||
@ -43,6 +45,14 @@ Mod('ts',
|
|||||||
tolerance=1,
|
tolerance=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
#Mod('sampheat',
|
||||||
|
# 'frappy_psi.sea.SeaWritable', '',
|
||||||
|
# io='sea_main',
|
||||||
|
# sea_object='tt',
|
||||||
|
# rel_paths=['ts_2', 'setsamp', 'manualpower']
|
||||||
|
#)
|
||||||
|
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
129
cfg/main/ma7_thermalc_cfg.py
Normal file
129
cfg/main/ma7_thermalc_cfg.py
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
Node('ma7_thermalc.config.sea.psi.ch',
|
||||||
|
'''6.8 Tesla horizontal cryomagnet for thrermalcond''',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma7_thermalc.config',
|
||||||
|
config = 'ma7_thermalc.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
#Mod('tt',
|
||||||
|
# 'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
# io='sea_main',
|
||||||
|
# sea_object='tt',
|
||||||
|
# rel_paths=['.', 'tm'],
|
||||||
|
#)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'sample heater temperature',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts', 'setsamp']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.parmod.Converging',
|
||||||
|
'test for parmod',
|
||||||
|
unit='K',
|
||||||
|
value_param='th.value',
|
||||||
|
target_param='th.setsamp',
|
||||||
|
meaning=['temperature', 20],
|
||||||
|
settling_time=20,
|
||||||
|
tolerance=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('samph',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['setsamp','power'],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'cc',
|
||||||
|
)
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'nv',
|
||||||
|
)
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hefill',
|
||||||
|
)
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hepump',
|
||||||
|
)
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hemot',
|
||||||
|
)
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'nvflow',
|
||||||
|
)
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'ln2fill',
|
||||||
|
)
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'mf',
|
||||||
|
)
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['ta'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['tb'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma7-ts.psi.ch:3007',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -25,6 +25,7 @@ Mod('ips',
|
|||||||
Mod('T_stat',
|
Mod('T_stat',
|
||||||
'frappy_psi.mercury.TemperatureAutoFlow',
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
'static heat exchanger temperature',
|
'static heat exchanger temperature',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
output_module='htr_stat',
|
output_module='htr_stat',
|
||||||
needle_valve='p_stat',
|
needle_valve='p_stat',
|
||||||
slot='DB6.T1',
|
slot='DB6.T1',
|
||||||
|
@ -23,6 +23,7 @@ Mod('ips',
|
|||||||
Mod('T_stat',
|
Mod('T_stat',
|
||||||
'frappy_psi.mercury.TemperatureAutoFlow',
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
'static heat exchanger temperature',
|
'static heat exchanger temperature',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
output_module='htr_stat',
|
output_module='htr_stat',
|
||||||
needle_valve='p_stat',
|
needle_valve='p_stat',
|
||||||
slot='DB6.T1',
|
slot='DB6.T1',
|
||||||
@ -45,6 +46,7 @@ Mod('ts',
|
|||||||
slot='MB1.T1',
|
slot='MB1.T1',
|
||||||
io='itc1',
|
io='itc1',
|
||||||
tolerance=1.0,
|
tolerance=1.0,
|
||||||
|
visibility='expert',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('htr_sample',
|
Mod('htr_sample',
|
||||||
|
73
cfg/main/ori2_cfg.py
Normal file
73
cfg/main/ori2_cfg.py
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
Node('ori3.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 50 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ori2.config',
|
||||||
|
config='ori2.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -9,17 +9,12 @@ Mod('sea_main',
|
|||||||
service='main',
|
service='main',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('t',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
)
|
rel_paths=['.', 'tm', 'set', 'dblctrl'],
|
||||||
|
|
||||||
Mod('tm',
|
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
|
||||||
io='sea_main',
|
|
||||||
sea_object='tt',
|
|
||||||
rel_paths=['tm'],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object = 'tt',
|
sea_object = 'tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
17
cfg/main/ori7test_cfg.py
Normal file
17
cfg/main/ori7test_cfg.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from frappy_psi.ccracks import Rack
|
||||||
|
|
||||||
|
Node('ori7test.psi.ch',
|
||||||
|
'ORI7 test',
|
||||||
|
'tcp://5000'
|
||||||
|
)
|
||||||
|
|
||||||
|
rack = Rack(Mod)
|
||||||
|
|
||||||
|
rack.lakeshore()
|
||||||
|
rack.sensor('Ts', channel='C', calcurve='x186350')
|
||||||
|
rack.loop('T', channel='B', calcurve='x174786', output_module='htr', target=10)
|
||||||
|
rack.heater('htr', output_no=1, max_heater='100W', resistance=25)
|
||||||
|
|
||||||
|
rack.he()
|
||||||
|
rack.n2()
|
||||||
|
rack.flow(min_open_pulse=0.03)
|
58
cfg/main/peltier_cfg.py
Normal file
58
cfg/main/peltier_cfg.py
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
Node('peltier.psi.ch',
|
||||||
|
'peltier test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tio',
|
||||||
|
'frappy_psi.qnw.QnwIO',
|
||||||
|
'connection for Quantum northwest',
|
||||||
|
uri='tcp://ldm-fi-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.qnw.TemperatureLoopTC1',
|
||||||
|
'holder temperature',
|
||||||
|
channel='CT',
|
||||||
|
io='tio',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Th',
|
||||||
|
'frappy_psi.qnw.SensorTC1',
|
||||||
|
'heat exch. temperature',
|
||||||
|
channel='HT',
|
||||||
|
io='tio',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('wio',
|
||||||
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
|
'connection for water bath',
|
||||||
|
uri='tcp://ldm-fi-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Tbath',
|
||||||
|
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||||
|
'water bath',
|
||||||
|
io='wio',
|
||||||
|
target=Param(max=100),
|
||||||
|
tolerance=0.5,
|
||||||
|
settling_time=20,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lio', # the name of the module
|
||||||
|
'frappy_demo.lakeshore.LakeshoreIO', # the class used for communication
|
||||||
|
'communication to main controller', # a description
|
||||||
|
uri="tcp://ldmcc02-ls:7777", # the serial connection
|
||||||
|
)
|
||||||
|
Mod('Ta',
|
||||||
|
'frappy_demo.lakeshore.TemperatureSensor',
|
||||||
|
'Sample Temperature',
|
||||||
|
io='lio',
|
||||||
|
channel='A', # the channel on the LakeShore for this module
|
||||||
|
)
|
||||||
|
Mod('Tb',
|
||||||
|
'frappy_demo.lakeshore.TemperatureSensor',
|
||||||
|
'Sample Temperature',
|
||||||
|
io='lio',
|
||||||
|
channel='B', # the channel on the LakeShore for this module
|
||||||
|
)
|
||||||
|
|
@ -11,6 +11,7 @@ Mod('sea_main',
|
|||||||
|
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning=['temperature', 20],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
)
|
)
|
||||||
|
@ -12,7 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', '.', 'set', 'dblctrl'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -1,22 +1,24 @@
|
|||||||
Node('varioxb.psi.ch',
|
Node('varioxb.psi.ch',
|
||||||
'VarioxB - 100 mm cryostat (not tested!)',
|
'VarioxB - 100 mm cryostat',
|
||||||
|
interface='tcp://5000',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('itc1',
|
Mod('itc1',
|
||||||
'frappy_psi.mercury.IO',
|
'frappy_psi.mercury.IO',
|
||||||
'ITC for heat exchanger and pressures',
|
'ITC for heat exchanger and pressures',
|
||||||
uri='mb11-ts:3001',
|
uri='linvb-ts:3001',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('itc2',
|
Mod('itc2',
|
||||||
'frappy_psi.mercury.IO',
|
'frappy_psi.mercury.IO',
|
||||||
'ITC for neck and nv heaters',
|
'ITC for neck and nv heaters',
|
||||||
uri='mb11-ts:3002',
|
uri='linvb-ts:3002',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('T_stat',
|
Mod('T_stat',
|
||||||
'frappy_psi.mercury.TemperatureAutoFlow',
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
'static heat exchanger temperature',
|
'static heat exchanger temperature',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
output_module='htr_stat',
|
output_module='htr_stat',
|
||||||
needle_valve='p_stat',
|
needle_valve='p_stat',
|
||||||
slot='DB6.T1',
|
slot='DB6.T1',
|
||||||
@ -91,15 +93,15 @@ Mod('pos_dyn',
|
|||||||
Mod('lev',
|
Mod('lev',
|
||||||
'frappy_psi.mercury.HeLevel',
|
'frappy_psi.mercury.HeLevel',
|
||||||
'LHe level',
|
'LHe level',
|
||||||
slot='DB1.L1',
|
slot='DB4.L1',
|
||||||
io='ips',
|
io='itc2',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('n2lev',
|
Mod('n2lev',
|
||||||
'frappy_psi.mercury.N2Level',
|
'frappy_psi.mercury.N2Level',
|
||||||
'LN2 level',
|
'LN2 level',
|
||||||
slot='DB1.L1',
|
slot='DB4.L1',
|
||||||
io='ips',
|
io='itc2',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('T_neck1',
|
Mod('T_neck1',
|
||||||
@ -166,6 +168,9 @@ Mod('htr_nvd',
|
|||||||
io='itc2',
|
io='itc2',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Motor controller is not yet available!
|
||||||
|
#
|
||||||
|
'''
|
||||||
Mod('om_io',
|
Mod('om_io',
|
||||||
'frappy_psi.phytron.PhytronIO',
|
'frappy_psi.phytron.PhytronIO',
|
||||||
'dom motor IO',
|
'dom motor IO',
|
||||||
@ -181,3 +186,4 @@ Mod('om',
|
|||||||
encoder_mode='NO',
|
encoder_mode='NO',
|
||||||
target=Param(min=-180, max=360)
|
target=Param(min=-180, max=360)
|
||||||
)
|
)
|
||||||
|
'''
|
||||||
|
34
cfg/multimeter_cfg.py
Normal file
34
cfg/multimeter_cfg.py
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
Node('multimetertest.psi.ch',
|
||||||
|
'multimeter test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.HP.HP_IO',
|
||||||
|
'multimeter communication',
|
||||||
|
uri='/dev/cu.usbserial-21410',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Voltage',
|
||||||
|
'frappy_psi.HP.Voltage',
|
||||||
|
'voltage',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Current',
|
||||||
|
'frappy_psi.HP.Current',
|
||||||
|
'current',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Resistance',
|
||||||
|
'frappy_psi.HP.Resistance',
|
||||||
|
'resistivity',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Frequency',
|
||||||
|
'frappy_psi.HP.Frequency',
|
||||||
|
'resistivity',
|
||||||
|
io='io',
|
||||||
|
)
|
84
cfg/razorbillUC220T_cfg.py
Normal file
84
cfg/razorbillUC220T_cfg.py
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# call $ bin/frappy-server razorbillUC220T
|
||||||
|
# in frappy directory, with python with frappy libraries installed.
|
||||||
|
|
||||||
|
Node('UC220T.psi.ch',
|
||||||
|
'A Razorbill UC220T controlled by a RP100 high voltage powersupply and a ACM1219 (AD7746) capacitance meter',
|
||||||
|
interface='tcp://5123')
|
||||||
|
|
||||||
|
Mod('io1',
|
||||||
|
'frappy_psi.RP100.RP100IO',
|
||||||
|
'communication',
|
||||||
|
uri='serial:///dev/ttyACM0?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
||||||
|
Mod('V1',
|
||||||
|
'frappy_psi.RP100.VoltageChannel',
|
||||||
|
'Voltage Channel 1',
|
||||||
|
temp='T',
|
||||||
|
io='io1',
|
||||||
|
target=Param(min=-200, max=200),
|
||||||
|
max_target=120,
|
||||||
|
min_target=-20,
|
||||||
|
slew_rate=100,
|
||||||
|
channel=1)
|
||||||
|
Mod('V2',
|
||||||
|
'frappy_psi.RP100.VoltageChannel',
|
||||||
|
'Voltage Channel 2',
|
||||||
|
temp='T',
|
||||||
|
io='io1',
|
||||||
|
target=Param(min=-200, max=200),
|
||||||
|
max_target=120,
|
||||||
|
min_target=-20,
|
||||||
|
slew_rate=100,
|
||||||
|
channel=2)
|
||||||
|
|
||||||
|
Mod('io2',
|
||||||
|
'frappy_psi.ACM1219.ACM1219IO',
|
||||||
|
'communication',
|
||||||
|
uri='serial:///dev/ttyUSB0?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
||||||
|
Mod('C1C2',
|
||||||
|
'frappy_psi.ACM1219.BothChannels',
|
||||||
|
'Capacitance channels 1 and 2',
|
||||||
|
io='io2')
|
||||||
|
Mod('d',
|
||||||
|
'frappy_psi.ACM1219.Displacement',
|
||||||
|
'razorbill displacement from capacitance',
|
||||||
|
cap='C1C2',
|
||||||
|
channel=1,
|
||||||
|
alpha290K=56.710,
|
||||||
|
d0=95.443,
|
||||||
|
Cp=0.01883,
|
||||||
|
d0_curve={'a':4.21,'b':-0.00157,'c':-3.38e-5,'d':5.28e-8,'e':-6.93e-11},
|
||||||
|
temp='T')
|
||||||
|
Mod('F',
|
||||||
|
'frappy_psi.ACM1219.Force',
|
||||||
|
'razorbill force from capacitance',
|
||||||
|
cap='C1C2',
|
||||||
|
channel=2,
|
||||||
|
alpha290K=374.23,
|
||||||
|
f0=315.63,
|
||||||
|
Cp=0.0755,
|
||||||
|
f0_curve={'a':38.9,'b':-0.0147,'c':-0.000346,'d':8.96e-7,'e':-1.58e-9},
|
||||||
|
temp='T')
|
||||||
|
Mod('stress',
|
||||||
|
'frappy_psi.ACM1219.Stress',
|
||||||
|
'Sample stress from force',
|
||||||
|
force='F',
|
||||||
|
area=0.1,
|
||||||
|
)
|
||||||
|
Mod('strain',
|
||||||
|
'frappy_psi.ACM1219.Strain',
|
||||||
|
'Sample strain from force',
|
||||||
|
displacement='d',
|
||||||
|
L=3,
|
||||||
|
)
|
||||||
|
Mod('YM',
|
||||||
|
'frappy_psi.ACM1219.YoungsModulus',
|
||||||
|
'Sample youngs modulus from stress and strain',
|
||||||
|
stress='stress',
|
||||||
|
strain='strain',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.dummy.Temp',
|
||||||
|
'dummy T written from client',
|
||||||
|
target=Param(min=1, max=325),
|
||||||
|
)
|
14
cfg/sea/ah2550.addon.json
Normal file
14
cfg/sea/ah2550.addon.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{"cap": {"base": "/cap", "params": [{"path": "", "type": "none", "kids": 8},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cap send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "cap", "type": "float"},
|
||||||
|
{"path": "loss", "type": "float"},
|
||||||
|
{"path": "period", "type": "float", "readonly": false, "cmd": "cap period"},
|
||||||
|
{"path": "V", "type": "float", "readonly": false, "cmd": "cap V"},
|
||||||
|
{"path": "average", "type": "int", "readonly": false, "cmd": "cap average"}]}, "capslope": {"base": "/capslope", "params": [{"path": "", "type": "float", "kids": 6},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "capslope send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "node", "type": "text", "readonly": false, "cmd": "capslope node"},
|
||||||
|
{"path": "unit", "type": "float", "readonly": false, "cmd": "capslope unit", "description": "unit=60: mainunits/minutes, unit=1: mainunits/sec"},
|
||||||
|
{"path": "ref", "type": "float", "readonly": false, "cmd": "capslope ref"},
|
||||||
|
{"path": "buffersize", "type": "float", "readonly": false, "cmd": "capslope buffersize"}]}}
|
@ -1,41 +1,13 @@
|
|||||||
{"t_be_filter": {"base": "/t_be_filter", "params": [
|
{"t_be_filter":
|
||||||
{"path": "", "type": "none", "kids": 11},
|
{
|
||||||
{"path": "send", "type": "text", "readonly": false, "cmd": "t_be_filter send", "visibility": 3},
|
"base": "/t_be_filter",
|
||||||
{"path": "status", "type": "text", "visibility": 3},
|
"params": [
|
||||||
{"path": "a", "type": "float", "kids": 4},
|
{"path": "", "type": "none", "kids": 11},
|
||||||
{"path": "a/curve", "type": "text", "readonly": false, "cmd": "t_be_filter a/curve", "kids": 1},
|
{"path": "a", "type": "float"},
|
||||||
{"path": "a/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter a/curve/points", "visibility": 3},
|
{"path": "b", "type": "float"},
|
||||||
{"path": "a/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter a/alarm"},
|
{"path": "c", "type": "float"},
|
||||||
{"path": "a/stddev", "type": "float"},
|
{"path": "d", "type": "float"},
|
||||||
{"path": "a/raw", "type": "float"},
|
{"path": "det", "type": "float"}
|
||||||
{"path": "b", "type": "float", "kids": 4},
|
]
|
||||||
{"path": "b/curve", "type": "text", "readonly": false, "cmd": "t_be_filter b/curve", "kids": 1},
|
}
|
||||||
{"path": "b/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter b/curve/points", "visibility": 3},
|
}
|
||||||
{"path": "b/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter b/alarm"},
|
|
||||||
{"path": "b/stddev", "type": "float"},
|
|
||||||
{"path": "b/raw", "type": "float"},
|
|
||||||
{"path": "c", "type": "float", "kids": 4},
|
|
||||||
{"path": "c/curve", "type": "text", "readonly": false, "cmd": "t_be_filter c/curve", "kids": 1},
|
|
||||||
{"path": "c/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter c/curve/points", "visibility": 3},
|
|
||||||
{"path": "c/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter c/alarm"},
|
|
||||||
{"path": "c/stddev", "type": "float"},
|
|
||||||
{"path": "c/raw", "type": "float"},
|
|
||||||
{"path": "d", "type": "float", "kids": 4},
|
|
||||||
{"path": "d/curve", "type": "text", "readonly": false, "cmd": "t_be_filter d/curve", "kids": 1},
|
|
||||||
{"path": "d/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter d/curve/points", "visibility": 3},
|
|
||||||
{"path": "d/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter d/alarm"},
|
|
||||||
{"path": "d/stddev", "type": "float"},
|
|
||||||
{"path": "d/raw", "type": "float"},
|
|
||||||
{"path": "det", "type": "float", "kids": 4},
|
|
||||||
{"path": "det/curve", "type": "text", "readonly": false, "cmd": "t_be_filter det/curve", "kids": 1},
|
|
||||||
{"path": "det/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter det/curve/points", "visibility": 3},
|
|
||||||
{"path": "det/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter det/alarm"},
|
|
||||||
{"path": "det/stddev", "type": "float"},
|
|
||||||
{"path": "det/raw", "type": "float"},
|
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "t_be_filter display"},
|
|
||||||
{"path": "relay1", "type": "text", "readonly": false, "cmd": "t_be_filter relay1", "description": "may be 0,1,A,B,C,D for on,off or alarm channel"},
|
|
||||||
{"path": "relay2", "type": "text", "readonly": false, "cmd": "t_be_filter relay2", "description": "may be 0,1,A,B,C,D for on,off or alarm channel"},
|
|
||||||
{"path": "remote", "type": "bool"}]},
|
|
||||||
|
|
||||||
"addonlock_camea-be-filter": {"base": "/addonlock_camea-be-filter", "params": [
|
|
||||||
{"path": "", "type": "text", "readonly": false, "cmd": "addonlock_camea-be-filter = "}]}}
|
|
||||||
|
@ -54,8 +54,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96},
|
{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96},
|
||||||
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
{"path": "status", "type": "text", "visibility": 3},
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
@ -60,8 +60,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96},
|
{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96},
|
||||||
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
{"path": "status", "type": "text", "visibility": 3},
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
@ -56,8 +56,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]},
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
"cc": {"base": "/cc", "params": [
|
"cc": {"base": "/cc", "params": [
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
Node('ori7.config.sea.psi.ch',
|
Node('ccrpe.config.sea.psi.ch',
|
||||||
'''orange cryostat with 50 mm sample space for ULT''',
|
'''4 K closed cycle cryostat (PE cell)''',
|
||||||
)
|
)
|
||||||
Mod('sea_main',
|
Mod('sea_main',
|
||||||
'frappy_psi.sea.SeaClient',
|
'frappy_psi.sea.SeaClient',
|
||||||
'main sea connection for ori7.config',
|
'main sea connection for ccrpe.config',
|
||||||
config = 'ori7.config',
|
config = 'ccrpe.config',
|
||||||
service = 'main',
|
service = 'main',
|
||||||
)
|
)
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
@ -22,16 +22,6 @@ Mod('nv',
|
|||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
sea_object = 'nv',
|
sea_object = 'nv',
|
||||||
)
|
)
|
||||||
Mod('ln2fill',
|
|
||||||
'frappy_psi.sea.SeaWritable', '',
|
|
||||||
io = 'sea_main',
|
|
||||||
sea_object = 'ln2fill',
|
|
||||||
)
|
|
||||||
Mod('hefill',
|
|
||||||
'frappy_psi.sea.SeaWritable', '',
|
|
||||||
io = 'sea_main',
|
|
||||||
sea_object = 'hefill',
|
|
||||||
)
|
|
||||||
Mod('hepump',
|
Mod('hepump',
|
||||||
'frappy_psi.sea.SeaWritable', '',
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
@ -47,8 +37,13 @@ Mod('nvflow',
|
|||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
sea_object = 'nvflow',
|
sea_object = 'nvflow',
|
||||||
)
|
)
|
||||||
Mod('table',
|
Mod('warmup',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'warmup',
|
||||||
|
)
|
||||||
|
Mod('p',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
io = 'sea_main',
|
io = 'sea_main',
|
||||||
sea_object = 'table',
|
sea_object = 'p',
|
||||||
)
|
)
|
@ -50,8 +50,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]},
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
"cc": {"base": "/cc", "params": [
|
"cc": {"base": "/cc", "params": [
|
||||||
|
@ -50,6 +50,4 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]}}
|
{"path": "remote", "type": "bool"}]}}
|
||||||
|
@ -56,6 +56,4 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]}}
|
{"path": "remote", "type": "bool"}]}}
|
||||||
|
@ -292,7 +292,7 @@
|
|||||||
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
||||||
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
||||||
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
||||||
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3", "visibility": 3},
|
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3"},
|
||||||
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
||||||
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
||||||
{"path": "pumpoff", "type": "int"},
|
{"path": "pumpoff", "type": "int"},
|
||||||
|
@ -292,7 +292,7 @@
|
|||||||
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
||||||
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
||||||
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
||||||
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3", "visibility": 3},
|
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3"},
|
||||||
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
||||||
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
||||||
{"path": "pumpoff", "type": "int"},
|
{"path": "pumpoff", "type": "int"},
|
||||||
|
@ -292,7 +292,7 @@
|
|||||||
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
||||||
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
||||||
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
||||||
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3", "visibility": 3},
|
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3"},
|
||||||
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
||||||
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
||||||
{"path": "pumpoff", "type": "int"},
|
{"path": "pumpoff", "type": "int"},
|
||||||
|
@ -18,22 +18,22 @@
|
|||||||
{"path": "t1", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
{"path": "t1", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
||||||
{"path": "t1/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
{"path": "t1/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t1/curve", "type": "text", "readonly": false, "cmd": "tt t1/curve", "kids": 1},
|
{"path": "t1/curve", "type": "text", "readonly": false, "cmd": "tt t1/curve", "kids": 1},
|
||||||
{"path": "t1/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t1/curve/points"},
|
{"path": "t1/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t1/curve/points", "visibility": 3},
|
||||||
{"path": "t1/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
{"path": "t1/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t2", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
{"path": "t2", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
||||||
{"path": "t2/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
{"path": "t2/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t2/curve", "type": "text", "readonly": false, "cmd": "tt t2/curve", "kids": 1},
|
{"path": "t2/curve", "type": "text", "readonly": false, "cmd": "tt t2/curve", "kids": 1},
|
||||||
{"path": "t2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t2/curve/points"},
|
{"path": "t2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t2/curve/points", "visibility": 3},
|
||||||
{"path": "t2/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
{"path": "t2/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t3", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
{"path": "t3", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
||||||
{"path": "t3/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
{"path": "t3/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t3/curve", "type": "text", "readonly": false, "cmd": "tt t3/curve", "kids": 1},
|
{"path": "t3/curve", "type": "text", "readonly": false, "cmd": "tt t3/curve", "kids": 1},
|
||||||
{"path": "t3/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t3/curve/points"},
|
{"path": "t3/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t3/curve/points", "visibility": 3},
|
||||||
{"path": "t3/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
{"path": "t3/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t4", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
{"path": "t4", "type": "float", "readonly": false, "cmd": "run tt", "kids": 3},
|
||||||
{"path": "t4/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
{"path": "t4/raw", "type": "float", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "t4/curve", "type": "text", "readonly": false, "cmd": "tt t4/curve", "kids": 1},
|
{"path": "t4/curve", "type": "text", "readonly": false, "cmd": "tt t4/curve", "kids": 1},
|
||||||
{"path": "t4/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t4/curve/points"},
|
{"path": "t4/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t4/curve/points", "visibility": 3},
|
||||||
{"path": "t4/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
{"path": "t4/valid", "type": "bool", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "tref", "type": "float", "readonly": false, "cmd": "run tt"},
|
{"path": "tref", "type": "float", "readonly": false, "cmd": "run tt"},
|
||||||
{"path": "tout", "type": "float", "readonly": false, "cmd": "run tt"},
|
{"path": "tout", "type": "float", "readonly": false, "cmd": "run tt"},
|
||||||
|
@ -56,8 +56,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]},
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
"cc": {"base": "/cc", "params": [
|
"cc": {"base": "/cc", "params": [
|
||||||
|
@ -68,8 +68,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]},
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
"table": {"base": "/table", "params": [
|
"table": {"base": "/table", "params": [
|
||||||
|
@ -62,8 +62,6 @@
|
|||||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
|
||||||
{"path": "dinp", "type": "int"},
|
|
||||||
{"path": "remote", "type": "bool"}]},
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
"table": {"base": "/table", "params": [
|
"table": {"base": "/table", "params": [
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
{"path": "unit", "type": "text", "readonly": false, "cmd": "th unit", "visibility": 3},
|
{"path": "unit", "type": "text", "readonly": false, "cmd": "th unit", "visibility": 3},
|
||||||
{"path": "t2", "type": "float"},
|
{"path": "t2", "type": "float"},
|
||||||
{"path": "set", "type": "float"},
|
{"path": "set", "type": "float"},
|
||||||
{"path": "running", "type": "int", "readonly": false, "cmd": "th running", "visibility": 3},
|
{"path": "pumprunning", "type": "int", "readonly": false, "cmd": "th pumprunning"},
|
||||||
{"path": "extcontrol", "type": "int", "readonly": false, "cmd": "th extcontrol", "visibility": 3},
|
{"path": "extcontrol", "type": "int", "readonly": false, "cmd": "th extcontrol", "visibility": 3},
|
||||||
{"path": "relais", "type": "int", "visibility": 3},
|
{"path": "relais", "type": "int", "visibility": 3},
|
||||||
{"path": "overtemp", "type": "int", "visibility": 3},
|
{"path": "overtemp", "type": "int", "visibility": 3},
|
||||||
|
160
cfg/sea/haake2.config.json
Normal file
160
cfg/sea/haake2.config.json
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
{"th": {"base": "/th", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run th", "kids": 26},
|
||||||
|
{"path": "unit", "type": "text", "readonly": false, "cmd": "th unit", "visibility": 3},
|
||||||
|
{"path": "t2", "type": "float"},
|
||||||
|
{"path": "set", "type": "float"},
|
||||||
|
{"path": "pumprunning", "type": "int", "readonly": false, "cmd": "th pumprunning"},
|
||||||
|
{"path": "extcontrol", "type": "int", "readonly": false, "cmd": "th extcontrol", "visibility": 3},
|
||||||
|
{"path": "relais", "type": "int", "visibility": 3},
|
||||||
|
{"path": "overtemp", "type": "int", "visibility": 3},
|
||||||
|
{"path": "lowlevel", "type": "int", "visibility": 3},
|
||||||
|
{"path": "pumpalarm", "type": "int", "visibility": 3},
|
||||||
|
{"path": "externalarm", "type": "int", "visibility": 3},
|
||||||
|
{"path": "coolalarm", "type": "int", "visibility": 3},
|
||||||
|
{"path": "sensor1alarm", "type": "int", "visibility": 3},
|
||||||
|
{"path": "sensor2alarm", "type": "int", "visibility": 3},
|
||||||
|
{"path": "reset", "type": "int", "readonly": false, "cmd": "th reset", "visibility": 3},
|
||||||
|
{"path": "with2sensors", "type": "int", "readonly": false, "cmd": "th with2sensors", "visibility": 3},
|
||||||
|
{"path": "upperLimit", "type": "float", "readonly": false, "cmd": "th upperLimit"},
|
||||||
|
{"path": "lowerLimit", "type": "float", "readonly": false, "cmd": "th lowerLimit"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "th tolerance"},
|
||||||
|
{"path": "maxwait", "type": "int", "readonly": false, "cmd": "th maxwait"},
|
||||||
|
{"path": "settle", "type": "int", "readonly": false, "cmd": "th settle"},
|
||||||
|
{"path": "targetValue", "type": "float"},
|
||||||
|
{"path": "is_running", "type": "int", "visibility": 3},
|
||||||
|
{"path": "verbose", "type": "int", "readonly": false, "cmd": "th verbose", "visibility": 3},
|
||||||
|
{"path": "driver", "type": "text", "visibility": 3},
|
||||||
|
{"path": "creationCmd", "type": "text", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "readonly": false, "cmd": "th status"}]},
|
||||||
|
|
||||||
|
"te": {"base": "/te", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run te", "kids": 30},
|
||||||
|
{"path": "unit", "type": "text", "readonly": false, "cmd": "te unit", "visibility": 3},
|
||||||
|
{"path": "mode", "type": "int", "readonly": false, "cmd": "te mode"},
|
||||||
|
{"path": "model", "type": "text", "visibility": 3},
|
||||||
|
{"path": "pbPow", "type": "float", "visibility": 3},
|
||||||
|
{"path": "pbMin", "type": "float", "visibility": 3},
|
||||||
|
{"path": "pbScl", "type": "float", "visibility": 3},
|
||||||
|
{"path": "output", "type": "float"},
|
||||||
|
{"path": "position", "type": "float", "readonly": false, "cmd": "te position"},
|
||||||
|
{"path": "asymmetry", "type": "float", "readonly": false, "cmd": "te asymmetry", "visibility": 3},
|
||||||
|
{"path": "range", "type": "float", "readonly": false, "cmd": "te range", "visibility": 3},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "te set"},
|
||||||
|
{"path": "rdonly", "type": "int", "readonly": false, "cmd": "te rdonly", "visibility": 3},
|
||||||
|
{"path": "task", "type": "text", "readonly": false, "cmd": "te task"},
|
||||||
|
{"path": "upperLimit", "type": "float", "readonly": false, "cmd": "te upperLimit"},
|
||||||
|
{"path": "lowerLimit", "type": "float", "readonly": false, "cmd": "te lowerLimit", "visibility": 3},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "te tolerance"},
|
||||||
|
{"path": "maxwait", "type": "int", "readonly": false, "cmd": "te maxwait"},
|
||||||
|
{"path": "settle", "type": "int", "readonly": false, "cmd": "te settle"},
|
||||||
|
{"path": "targetValue", "type": "float"},
|
||||||
|
{"path": "is_running", "type": "int", "visibility": 3},
|
||||||
|
{"path": "verbose", "type": "int", "readonly": false, "cmd": "te verbose", "visibility": 3},
|
||||||
|
{"path": "driver", "type": "text", "visibility": 3},
|
||||||
|
{"path": "creationCmd", "type": "text", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "readonly": false, "cmd": "te status"},
|
||||||
|
{"path": "pb", "type": "float", "readonly": false, "cmd": "te pb"},
|
||||||
|
{"path": "ti", "type": "float", "readonly": false, "cmd": "te ti"},
|
||||||
|
{"path": "td", "type": "float", "readonly": false, "cmd": "te td"},
|
||||||
|
{"path": "manual", "type": "float", "readonly": false, "cmd": "te manual"},
|
||||||
|
{"path": "rate", "type": "float", "readonly": false, "cmd": "te rate"},
|
||||||
|
{"path": "workset", "type": "float", "readonly": false, "cmd": "te workset"}]},
|
||||||
|
|
||||||
|
"cc": {"base": "/cc", "params": [
|
||||||
|
{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float", "visibility": 3},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs", "visibility": 3},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}, "visibility": 3},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa", "visibility": 3},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp", "visibility": 3},
|
||||||
|
{"path": "msp", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mmp", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc", "visibility": 3},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc", "visibility": 3},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc", "visibility": 3},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc", "visibility": 3},
|
||||||
|
{"path": "mtl", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft", "visibility": 3},
|
||||||
|
{"path": "mt", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mcr", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mot", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open", "visibility": 3},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hr", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hc", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hu", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh", "visibility": 3},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl", "visibility": 3},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode", "visibility": 3},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode", "visibility": 3},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd", "visibility": 3},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr", "visibility": 3},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd", "visibility": 3},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}, "visibility": 3},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha", "visibility": 3},
|
||||||
|
{"path": "hm", "type": "bool", "visibility": 3},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf", "visibility": 3},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe", "visibility": 3},
|
||||||
|
{"path": "hmf", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hms", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit", "visibility": 3},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft", "visibility": 3},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 6}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch", "visibility": 3},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0", "visibility": 3},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)", "visibility": 3},
|
||||||
|
{"path": "h0", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h1", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h3", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h4", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h5", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "hfb", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nl", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth", "visibility": 3},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc", "visibility": 3},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm", "visibility": 3},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}, "visibility": 3},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na", "visibility": 3},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}, "visibility": 3},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc", "visibility": 3},
|
||||||
|
{"path": "nfb", "type": "float", "visibility": 3},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tn", "type": "float", "visibility": 3},
|
||||||
|
{"path": "th", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tf", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tv", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tq", "type": "float", "visibility": 3},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]}}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user