Compare commits
353 Commits
Author | SHA1 | Date | |
---|---|---|---|
c2b97a8dac | |||
27778e80f5 | |||
6c74c957a8 | |||
eecbe9ca6b | |||
385480a8cc | |||
c92cb22d97 | |||
d85d80ba36 | |||
2b7ee0a72c | |||
97140aa3b4 | |||
1ad699fb66 | |||
52f90fe5be | |||
404b38d91a | |||
3203c6c9b3 | |||
472ae3f04d | |||
04f7f6ece5 | |||
54c9fb9db9 | |||
c0f6569f1b | |||
745e15c709 | |||
62adec4874 | |||
9131bdab51 | |||
a0629db53d | |||
415acb42cf | |||
ee67a135e9 | |||
ef826297fd | |||
50118e4ead | |||
f9880f1473 | |||
0dd13d7ef9 | |||
6aec38d03e | |||
2238c20a37 | |||
018ed920b9 | |||
14f61b01db | |||
6fed5a3651 | |||
f3c7cdc7c4 | |||
4f3ebf0aaf | |||
85f14ace40 | |||
bc1ba4abb9 | |||
cf50a372b3 | |||
67ea5340ee | |||
7d6ac4d742 | |||
a76e529a82 | |||
7dfe2925aa | |||
a6c86a5fe7 | |||
d3280474c3 | |||
7cf32c4e7c | |||
48b79af96a | |||
b1c920819e | |||
8f2973c39d | |||
6343edc3cb | |||
bd00758460 | |||
d2cce8f21c | |||
f6a5ef8f4d | |||
dad9536eb5 | |||
ccc66468d4 | |||
52215f9ec1 | |||
58549065fb | |||
0230641b1d | |||
b264455ad3 | |||
07c5b32c5f | |||
80cb3f08d7 | |||
fb4755502b | |||
3580cb9dc0 | |||
d681507f94 | |||
e0bd84cc3b | |||
9545cb4188 | |||
1fead8b2c6 | |||
809eda314b | |||
ca6fd1dd5e | |||
d0c063c60b | |||
7a59cf4956 | |||
7254d7f95c | |||
c368292873 | |||
6a2aece383 | |||
ad76a5d752 | |||
42e40db14b | |||
343ce90321 | |||
75783b211a | |||
36f2919ec2 | |||
7cca3192df | |||
a632c53405 | |||
a76425cb2e | |||
d231e9ce06 | |||
44750572d9 | |||
e0ef6047e2 | |||
421eb67b93 | |||
3048b8cb7d | |||
0ef484e082 | |||
8560384529 | |||
16d419c0f3 | |||
8c548da2e0 | |||
d9f340dce6 | |||
1325c8924d | |||
f8e3bd9ad2 | |||
6f547f0781 | |||
322cd39e0a | |||
41b51b35fd | |||
19571ab83d | |||
b35c97f311 | |||
5d175b89ca | |||
f8c52af3ac | |||
bf9c946b1d | |||
09e596f847 | |||
7e2ccd214e | |||
907a52ccdb | |||
51dba895a5 | |||
d86718b81e | |||
42a6bfb5d2 | |||
895f66f713 | |||
3663c62b46 | |||
8c2588a5ed | |||
95dc8b186e | |||
265dbb1a57 | |||
73e9c8915b | |||
2e99e45aea | |||
b7bc81710d | |||
eee63ee3df | |||
fd43687465 | |||
a25a368491 | |||
4397d8db1a | |||
e60ac5e655 | |||
0b5b40cfba | |||
2a617fbaf0 | |||
72d09ea73a | |||
1ae19d03b3 | |||
41cb107f50 | |||
8b0c4c78a9 | |||
7ac10d2260 | |||
6cbb3a094b | |||
405d316568 | |||
ac92a6ca3d | |||
a9e3489325 | |||
654a472a7e | |||
ddc72d0ea7 | |||
ede07e266c | |||
4b543d02a0 | |||
a4d5d8d3b7 | |||
b37e625df3 | |||
1dbd7c145a | |||
2aa27f1ea5 | |||
b28cdefe8a | |||
e0e442814f | |||
66895f4f82 | |||
49bf0d21a9 | |||
e8cd193d0d | |||
142add9109 | |||
c2673952f4 | |||
9fc2aa65d5 | |||
09fbaedb16 | |||
5deaf4cfd9 | |||
81f7426739 | |||
c69e516873 | |||
64732eb0c8 | |||
1535448090 | |||
554996ffd3 | |||
2d824978a9 | |||
35dd166fee | |||
aee99df2d0 | |||
8e05090795 | |||
eac58982d9 | |||
0f34418435 | |||
1423800ff4 | |||
e333763105 | |||
c09e02a01e | |||
337be1b2bc | |||
752942483f | |||
0204bdfe2f | |||
facaca94eb | |||
0f0a177254 | |||
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,19 +24,24 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from os import path
|
import socket
|
||||||
|
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
|
||||||
|
from frappy.protocol.discovery import scan
|
||||||
|
|
||||||
|
|
||||||
def parseArgv(argv):
|
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('-s', '--scan',
|
||||||
|
help='hosts to scan for (-s subnet for all nodes in subnet)',
|
||||||
|
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')
|
||||||
@ -46,9 +51,38 @@ def parseArgv(argv):
|
|||||||
return parser.parse_args(argv)
|
return parser.parse_args(argv)
|
||||||
|
|
||||||
|
|
||||||
|
def own_ip():
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
s.settimeout(0)
|
||||||
|
try:
|
||||||
|
# doesn't even have to be reachable
|
||||||
|
s.connect(('10.254.254.254', 1))
|
||||||
|
return s.getsockname()[0]
|
||||||
|
except Exception:
|
||||||
|
return '127.0.0.1'
|
||||||
|
finally:
|
||||||
|
s.close()
|
||||||
|
|
||||||
|
|
||||||
args = parseArgv(sys.argv[1:])
|
args = parseArgv(sys.argv[1:])
|
||||||
|
|
||||||
success = init(*args.node)
|
nodes = args.node
|
||||||
|
hosts = args.scan
|
||||||
|
if not nodes and not hosts:
|
||||||
|
hosts = ['localhost']
|
||||||
|
if hosts:
|
||||||
|
answers = []
|
||||||
|
for host in hosts:
|
||||||
|
ans = scan()
|
||||||
|
if host == 'subnet': # all in subnet
|
||||||
|
answers.extend(ans)
|
||||||
|
else: # filter by ip
|
||||||
|
ip = socket.gethostbyname(host)
|
||||||
|
if ip == '127.0.0.1':
|
||||||
|
ip = own_ip()
|
||||||
|
answers.extend(a for a in ans if a.address == ip)
|
||||||
|
nodes.extend(f'{h.hostname}:{h.port}' for h in answers)
|
||||||
|
success = init(*nodes)
|
||||||
|
|
||||||
run_error = ''
|
run_error = ''
|
||||||
file_success = False
|
file_success = False
|
||||||
|
@ -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:
|
||||||
|
58
bin/frappy-scan
Executable file
58
bin/frappy-scan
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
#!/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 sys
|
||||||
|
from frappy.protocol.discovery import scan, listen
|
||||||
|
|
||||||
|
|
||||||
|
def print_answer(answer, *, short=False):
|
||||||
|
if short:
|
||||||
|
# NOTE: keep this easily parseable!
|
||||||
|
print(f'{answer.equipment_id} {answer.hostname}:{answer.port}')
|
||||||
|
return
|
||||||
|
numeric = f' ({answer.address})' if answer.address == answer.hostname else ''
|
||||||
|
print(f'Found {answer.equipment_id} at {answer.hostname}{numeric}:')
|
||||||
|
print(f' Port: {answer.port}')
|
||||||
|
print(f' Firmware: {answer.firmware}')
|
||||||
|
desc = answer.description.replace('\n', '\n ')
|
||||||
|
print(f' Node description: {desc}')
|
||||||
|
print('-' * 80)
|
||||||
|
|
||||||
|
|
||||||
|
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:
|
||||||
|
for answer in listen():
|
||||||
|
print_answer(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',
|
||||||
|
)
|
337
cfg/dil5_cfg.py
Normal file
337
cfg/dil5_cfg.py
Normal file
@ -0,0 +1,337 @@
|
|||||||
|
# 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_logo.psi.ch',
|
||||||
|
'dil5 logo test',
|
||||||
|
interface='tcp://5000',
|
||||||
|
secondary = ['ws://8010']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('logo',
|
||||||
|
'frappy_psi.logo.IO',
|
||||||
|
'',
|
||||||
|
ip_address = "192.168.0.3",
|
||||||
|
tcap_client = 0x3000,
|
||||||
|
tsap_server = 0x2000
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V1',
|
||||||
|
'frappy_psi.logo.DigitalActuator',
|
||||||
|
'Valves',
|
||||||
|
io = 'logo',
|
||||||
|
feedback_addr ="V1025.0",
|
||||||
|
output_addr ="V1064.3"
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V2',
|
||||||
|
'frappy_psi.logo.DigitalActuator',
|
||||||
|
'dil bypass',
|
||||||
|
io = 'logo',
|
||||||
|
feedback_addr ="V1024.2",
|
||||||
|
output_addr ="V1064.0",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V4',
|
||||||
|
'frappy_psi.logo.DigitalActuator',
|
||||||
|
'compressor to dump',
|
||||||
|
io = 'logo',
|
||||||
|
# feedback_addr ="V1024.5", # not verified
|
||||||
|
output_addr ="V1064.7",
|
||||||
|
target_addr ="V404.1",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V5',
|
||||||
|
'frappy_psi.logo.DigitalActuator',
|
||||||
|
'compressor input',
|
||||||
|
io = 'logo',
|
||||||
|
feedback_addr ="V1024.4",
|
||||||
|
output_addr ="V1064.2",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('V9',
|
||||||
|
'frappy_psi.logo.DelayedActuator',
|
||||||
|
'dump output',
|
||||||
|
io = 'logo',
|
||||||
|
delay_addr = 'VW24',
|
||||||
|
feedback_addr ="V1024.3",
|
||||||
|
output_addr ="V1064.5",
|
||||||
|
target_addr ="V404.3",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('forepump',
|
||||||
|
'frappy_psi.logo.DigitalActuator',
|
||||||
|
'forepump',
|
||||||
|
io = 'logo',
|
||||||
|
output_addr ="V1064.6",
|
||||||
|
target_addr ="V404.4",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('compressor',
|
||||||
|
'frappy_psi.logo.DigitalActuator',
|
||||||
|
'',
|
||||||
|
io = 'logo',
|
||||||
|
output_addr ="V1064.4",
|
||||||
|
target_addr ="V404.2",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p2',
|
||||||
|
'frappy_psi.logo.Value',
|
||||||
|
'pressure after compressor',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="VW0",
|
||||||
|
value = Param(unit='mbar'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p1',
|
||||||
|
'frappy_psi.logo.Value',
|
||||||
|
'dump pressure',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="VW28",
|
||||||
|
value = Param(unit='mbar'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p5',
|
||||||
|
'frappy_psi.logo.Value',
|
||||||
|
'pressure after forepump',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="VW4",
|
||||||
|
value = Param(unit='mbar'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('airpressure',
|
||||||
|
'frappy_psi.logo.DigitalValue',
|
||||||
|
'Airpressure state',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="V1024.7",
|
||||||
|
)
|
||||||
|
|
||||||
|
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('safety',
|
||||||
|
'frappy_psi.dilution.Interlock',
|
||||||
|
'interlock mechanism',
|
||||||
|
io='logo',
|
||||||
|
dil='dil',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('dil',
|
||||||
|
'frappy_psi.dilution.DIL5',
|
||||||
|
'dilution state machine and parameters',
|
||||||
|
|
||||||
|
condenseline_pressure = "p2",
|
||||||
|
condense_valve = "V9",
|
||||||
|
dump_valve = "V4",
|
||||||
|
forepump = "forepump",
|
||||||
|
compressor = "compressor",
|
||||||
|
|
||||||
|
turbopump = "turbopump",
|
||||||
|
condenseline_valve = "V1",
|
||||||
|
circuitshort_valve = "V2",
|
||||||
|
still_pressure = "p4",
|
||||||
|
still_pressure_turbo = "p3",
|
||||||
|
#ls372 = "res1",
|
||||||
|
dump_pressure = "p1",
|
||||||
|
condensing_p_low = 1200,
|
||||||
|
condensing_p_high = 1500,
|
||||||
|
)
|
||||||
|
|
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',
|
|
||||||
)
|
)
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
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=['main', '.', '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',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
@ -83,4 +86,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',
|
||||||
|
)
|
||||||
|
|
@ -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',
|
||||||
|
@ -8,10 +8,12 @@ Mod('sea_main',
|
|||||||
service = 'main',
|
service = 'main',
|
||||||
)
|
)
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.LscDrivable', '',
|
||||||
io = 'sea_main',
|
io='sea_main',
|
||||||
sea_object = 'tt',
|
meaning=['temperature_regulation', 27],
|
||||||
rel_paths = ['.', 'tm']
|
sea_object='tt',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
'frappy_psi.sea.SeaReadable', '',
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
@ -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',
|
||||||
|
@ -10,13 +10,14 @@ 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', 'set'],
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
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,16 +4,18 @@ 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',
|
||||||
)
|
)
|
||||||
|
|
||||||
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', 'set'],
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('th',
|
Mod('th',
|
||||||
@ -24,6 +26,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 +46,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',
|
||||||
|
130
cfg/main/ma7_thermalc_cfg.py
Normal file
130
cfg/main/ma7_thermalc_cfg.py
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
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.LscDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
|
)
|
||||||
|
|
||||||
|
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',
|
||||||
|
)
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
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',
|
||||||
|
@ -1,226 +0,0 @@
|
|||||||
Node('mb11.psi.ch',
|
|
||||||
'MB11 11 Tesla - 100 mm cryomagnet',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('itc1',
|
|
||||||
'frappy_psi.mercury.IO',
|
|
||||||
'ITC for heat exchanger and pressures',
|
|
||||||
uri='mb11-ts:3001',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('itc2',
|
|
||||||
'frappy_psi.mercury.IO',
|
|
||||||
'ITC for neck and nv heaters',
|
|
||||||
uri='mb11-ts:3002',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('ips',
|
|
||||||
'frappy_psi.mercury.IO',
|
|
||||||
'IPS for magnet and levels',
|
|
||||||
uri='mb11-ts:3003',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_stat',
|
|
||||||
'frappy_psi.mercury.TemperatureAutoFlow',
|
|
||||||
'static heat exchanger temperature',
|
|
||||||
output_module='htr_stat',
|
|
||||||
needle_valve='p_stat',
|
|
||||||
slot='DB6.T1',
|
|
||||||
io='itc1',
|
|
||||||
tolerance=0.1,
|
|
||||||
flowpars=((1,5), (2, 20)),
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_stat',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'static heat exchanger heater',
|
|
||||||
slot='DB1.H1',
|
|
||||||
io='itc1',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('ts',
|
|
||||||
'frappy_psi.mercury.TemperatureLoop',
|
|
||||||
'sample temperature',
|
|
||||||
output_module='htr_sample',
|
|
||||||
slot='MB1.T1',
|
|
||||||
io='itc1',
|
|
||||||
tolerance=1.0,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_sample',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'sample stick heater power',
|
|
||||||
slot='MB0.H1',
|
|
||||||
io='itc1',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('p_stat',
|
|
||||||
'frappy_psi.mercury.PressureLoop',
|
|
||||||
'static needle valve pressure',
|
|
||||||
output_module='pos_stat',
|
|
||||||
settling_time=60.0,
|
|
||||||
slot='DB5.P1',
|
|
||||||
io='itc1',
|
|
||||||
tolerance=1.0,
|
|
||||||
value=Param(
|
|
||||||
unit='mbar_flow',
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('pos_stat',
|
|
||||||
'frappy_psi.mercury.ValvePos',
|
|
||||||
'static needle valve position',
|
|
||||||
slot='DB5.P1,DB3.G1',
|
|
||||||
io='itc1',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_dyn',
|
|
||||||
'frappy_psi.mercury.TemperatureAutoFlow',
|
|
||||||
'dynamic heat exchanger temperature',
|
|
||||||
output_module='htr_dyn',
|
|
||||||
needle_valve='p_dyn',
|
|
||||||
slot='DB7.T1',
|
|
||||||
io='itc1',
|
|
||||||
tolerance=0.1,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_dyn',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'dynamic heat exchanger heater',
|
|
||||||
slot='DB2.H1',
|
|
||||||
io='itc1',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('p_dyn',
|
|
||||||
'frappy_psi.mercury.PressureLoop',
|
|
||||||
'dynamic needle valve pressure',
|
|
||||||
output_module='pos_dyn',
|
|
||||||
settling_time=60.0,
|
|
||||||
slot='DB8.P1',
|
|
||||||
io='itc1',
|
|
||||||
tolerance=1.0,
|
|
||||||
value=Param(
|
|
||||||
unit='mbar_flow',
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('pos_dyn',
|
|
||||||
'frappy_psi.mercury.ValvePos',
|
|
||||||
'dynamic needle valve position',
|
|
||||||
slot='DB8.P1,DB4.G1',
|
|
||||||
io='itc1',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('mf',
|
|
||||||
'frappy_psi.ips_mercury.Field',
|
|
||||||
'magnetic field',
|
|
||||||
slot='GRPZ',
|
|
||||||
io='ips',
|
|
||||||
tolerance=0.001,
|
|
||||||
wait_stable_field=60.0,
|
|
||||||
target=Param(
|
|
||||||
max=11.0,
|
|
||||||
),
|
|
||||||
persistent_limit=11.1,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('lev',
|
|
||||||
'frappy_psi.mercury.HeLevel',
|
|
||||||
'LHe level',
|
|
||||||
slot='DB1.L1',
|
|
||||||
io='ips',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('n2lev',
|
|
||||||
'frappy_psi.mercury.N2Level',
|
|
||||||
'LN2 level',
|
|
||||||
slot='DB1.L1',
|
|
||||||
io='ips',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_neck1',
|
|
||||||
'frappy_psi.mercury.TemperatureLoop',
|
|
||||||
'neck heater 1 temperature',
|
|
||||||
output_module='htr_neck1',
|
|
||||||
slot='MB1.T1',
|
|
||||||
io='itc2',
|
|
||||||
tolerance=1.0,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_neck1',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'neck heater 1 power',
|
|
||||||
slot='MB0.H1',
|
|
||||||
io='itc2',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_neck2',
|
|
||||||
'frappy_psi.mercury.TemperatureLoop',
|
|
||||||
'neck heater 2 temperature',
|
|
||||||
output_module='htr_neck2',
|
|
||||||
slot='DB6.T1',
|
|
||||||
io='itc2',
|
|
||||||
tolerance=1.0,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_neck2',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'neck heater 2 power',
|
|
||||||
slot='DB1.H1',
|
|
||||||
io='itc2',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_nvs',
|
|
||||||
'frappy_psi.mercury.TemperatureLoop',
|
|
||||||
'static needle valve temperature',
|
|
||||||
output_module='htr_nvs',
|
|
||||||
slot='DB7.T1',
|
|
||||||
io='itc2',
|
|
||||||
tolerance=0.1,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_nvs',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'static needle valve heater power',
|
|
||||||
slot='DB2.H1',
|
|
||||||
io='itc2',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_nvd',
|
|
||||||
'frappy_psi.mercury.TemperatureLoop',
|
|
||||||
'dynamic needle valve heater temperature',
|
|
||||||
output_module='htr_nvd',
|
|
||||||
slot='DB8.T1',
|
|
||||||
io='itc2',
|
|
||||||
tolerance=0.1,
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('htr_nvd',
|
|
||||||
'frappy_psi.mercury.HeaterOutput',
|
|
||||||
'dynamic needle valve heater power',
|
|
||||||
slot='DB3.H1',
|
|
||||||
io='itc2',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('T_coil',
|
|
||||||
'frappy_psi.mercury.TemperatureSensor',
|
|
||||||
'coil temperature',
|
|
||||||
slot='MB1.T1',
|
|
||||||
io='ips',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('om_io',
|
|
||||||
'frappy_psi.phytron.PhytronIO',
|
|
||||||
'dom motor IO',
|
|
||||||
uri='mb11-ts.psi.ch:3004',
|
|
||||||
)
|
|
||||||
|
|
||||||
Mod('om',
|
|
||||||
'frappy_psi.phytron.Motor',
|
|
||||||
'stick rotation, typically used for omega',
|
|
||||||
io='om_io',
|
|
||||||
target_min=-360,
|
|
||||||
target_max=360,
|
|
||||||
encoder_mode='NO',
|
|
||||||
target=Param(min=-360, max=360),
|
|
||||||
)
|
|
74
cfg/main/ori2_cfg.py
Normal file
74
cfg/main/ori2_cfg.py
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
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.LscDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
|
)
|
||||||
|
|
||||||
|
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',
|
||||||
|
)
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -9,17 +9,13 @@ Mod('sea_main',
|
|||||||
service='main',
|
service='main',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('t',
|
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',
|
||||||
)
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
Mod('tm',
|
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
|
||||||
io='sea_main',
|
|
||||||
sea_object='tt',
|
|
||||||
rel_paths=['tm'],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cc',
|
Mod('cc',
|
||||||
|
@ -10,9 +10,12 @@ Mod('sea_main',
|
|||||||
)
|
)
|
||||||
|
|
||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.LscDrivable', '',
|
||||||
io = 'sea_main',
|
io='sea_main',
|
||||||
sea_object = 'tt',
|
meaning=['temperature_regulation', 27],
|
||||||
|
sea_object='tt',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
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',
|
||||||
)
|
)
|
||||||
|
@ -10,9 +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',
|
||||||
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
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