Compare commits
412 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1bb869b43e | |||
| 3ede9eb9f4 | |||
| f57400feb9 | |||
| 38dd5b8ebb | |||
| 3cc9cadeb9 | |||
| dfb8037a65 | |||
| e8e5d2743a | |||
| 77bda6a72f | |||
| 42ebe05d5b | |||
| 765218eed2 | |||
| f00d37b7a6 | |||
| 3575921ac0 | |||
| f832e40898 | |||
| 495ad01ff6 | |||
| e786c5ec77 | |||
| a7b3f23bef | |||
| 151627b4f4 | |||
| ee26c72ed4 | |||
| 9fe040e9d3 | |||
| 943995b1d7 | |||
| 8291976c5d | |||
|
|
2ec2954159 | ||
|
|
7769a5daa6 | ||
|
|
a31e5a5009 | ||
|
|
cf220382b9 | ||
|
|
66f0e64b2e | ||
| 6e10382d98 | |||
|
|
6600ec63fd | ||
|
|
a62d85dc47 | ||
| ef9b257a54 | |||
| af28f33018 | |||
| a8b8fa1cc4 | |||
| 17511b8bf2 | |||
| 308283412e | |||
| ebfb8a005d | |||
| 03c2f6eb98 | |||
| e68ee356df | |||
| 21c20c966c | |||
|
|
183f6dcec2 | ||
| 71629c1d3a | |||
| b45635e4f8 | |||
| 2a4a37ed2f | |||
| 03ae83dbbc | |||
|
|
07377c8bf5 | ||
| 84ee2dd508 | |||
| 174da915d2 | |||
| 24153d2584 | |||
| 8575a2f785 | |||
| 51725d6d0d | |||
| 08f9416de5 | |||
| 7adb4d6f04 | |||
| ea5fc16a51 | |||
| 542079c876 | |||
| 160c3bfaf9 | |||
| 576723c650 | |||
| 65e27e0913 | |||
| 82663a142e | |||
|
|
cda6e08d6c | ||
|
|
fed7ce2197 | ||
|
|
cb142c580d | ||
| 53497df207 | |||
| 866cb7569c | |||
| e327bb0974 | |||
| 08244e17e0 | |||
| 431f4d1198 | |||
| bea6ea38ae | |||
|
|
8ba9f91f8a | ||
|
|
52def86ac8 | ||
|
|
c54ab5b9dd | ||
|
|
30e7e52524 | ||
|
|
cbf387ed87 | ||
| 96ef11ef84 | |||
| 1128b5aba4 | |||
|
|
cd3fdb6b62 | ||
| cdc2748818 | |||
| eab846d28e | |||
| db0ea2cc34 | |||
| 49c4edaa88 | |||
| 337b91b799 | |||
| 7814d054b9 | |||
| 8dc2677158 | |||
| cf151dd324 | |||
| 1e73440149 | |||
| 03dfb6aeb0 | |||
| 73c620797c | |||
| abf5f21e16 | |||
| c7496fa21f | |||
| 926dcd09e2 | |||
| 83f40f0c33 | |||
| 57b245c5ac | |||
| a5a4212691 | |||
| a3d0549199 | |||
| 8385461163 | |||
| 1a70099974 | |||
| 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 |
@@ -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:
|
||||||
|
|||||||
61
bin/frappy-scan
Executable file
61
bin/frappy-scan
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/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 pathlib import Path
|
||||||
|
# Add import path for inplace usage
|
||||||
|
sys.path.append(str(Path(__file__).absolute().parents[1]))
|
||||||
|
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',
|
||||||
|
|||||||
40
cfg/acquisition_cfg.py
Normal file
40
cfg/acquisition_cfg.py
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
Node('measure.frappy.demo',
|
||||||
|
'''Measureable demo''',
|
||||||
|
'tcp://10770',
|
||||||
|
)
|
||||||
|
Mod('control',
|
||||||
|
'frappy_demo.acquisition.Controller',
|
||||||
|
'simple demo controller',
|
||||||
|
channels = {'first': 'chan1', 'second': 'chan2', 'third': 'chan3'},
|
||||||
|
pollinterval = 1,
|
||||||
|
)
|
||||||
|
Mod('chan1',
|
||||||
|
'frappy_demo.acquisition.Channel',
|
||||||
|
'simple channel demo',
|
||||||
|
goal = 50,
|
||||||
|
goal_enable = True,
|
||||||
|
pollinterval = 1,
|
||||||
|
)
|
||||||
|
Mod('chan2',
|
||||||
|
'frappy_demo.acquisition.Channel',
|
||||||
|
'simple channel demo',
|
||||||
|
pollinterval = 1,
|
||||||
|
)
|
||||||
|
Mod('chan3',
|
||||||
|
'frappy_demo.acquisition.Channel',
|
||||||
|
'simple channel demo',
|
||||||
|
pollinterval = 1,
|
||||||
|
)
|
||||||
|
Mod('single',
|
||||||
|
'frappy_demo.acquisition.SimpleAcquisition',
|
||||||
|
'Acquisition demo',
|
||||||
|
pollinterval = 1,
|
||||||
|
goal = 20,
|
||||||
|
goal_enable=True,
|
||||||
|
acquisition_key='single',
|
||||||
|
)
|
||||||
|
Mod('ng',
|
||||||
|
'frappy_demo.acquisition.NoGoalAcquisition',
|
||||||
|
'Acquisition demo',
|
||||||
|
pollinterval = 5,
|
||||||
|
)
|
||||||
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',
|
||||||
|
)
|
||||||
17
cfg/addons/ah2700_cfg.py
Normal file → Executable file
17
cfg/addons/ah2700_cfg.py
Normal file → Executable file
@@ -2,8 +2,17 @@ Node('ah2700.frappy.psi.ch',
|
|||||||
'Andeen Hagerlin 2700 Capacitance Bridge',
|
'Andeen Hagerlin 2700 Capacitance Bridge',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cap',
|
Mod('cap_io',
|
||||||
'frappy_psi.ah2700.Capacitance',
|
'frappy_psi.ahcapbridge.IO', '',
|
||||||
'capacitance',
|
uri='linse-leiden-ts:3002'
|
||||||
uri='lollypop-ts:3002',
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.ahcapbridge.AH2700',
|
||||||
|
'capacitance',
|
||||||
|
io='cap_io',
|
||||||
|
loss_module = 'loss',
|
||||||
|
freq_module = 'freq',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
20
cfg/addons/ah2700leiden_cfg.py
Normal file
20
cfg/addons/ah2700leiden_cfg.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Node('ah2700.frappy.psi.ch',
|
||||||
|
'Andeen Hagerlin 2700 Capacitance Bridge',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap_io',
|
||||||
|
'frappy_psi.ah2700.Ah2700IO',
|
||||||
|
'',
|
||||||
|
uri='linse-leiden-ts:3002',
|
||||||
|
timeout=60,
|
||||||
|
)
|
||||||
|
|
||||||
|
# this creates also cap_freq and cap_loss
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.ah2700.Capacitance',
|
||||||
|
'capacitance',
|
||||||
|
io = 'cap_io',
|
||||||
|
loss_name='loss',
|
||||||
|
freq_name='freq',
|
||||||
|
)
|
||||||
|
|
||||||
@@ -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,30 @@ 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', 'freq']
|
||||||
|
)
|
||||||
|
|
||||||
|
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('freq',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
single_module='ah.freq',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('capslope',
|
Mod('capslope',
|
||||||
|
|||||||
31
cfg/addons/ahtwo_cfg.py
Normal file
31
cfg/addons/ahtwo_cfg.py
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
Node('ahtwo.frappy.psi.ch',
|
||||||
|
'Andeen Hagerlin 2700 and 2550 Capacitance Bridges',
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO: adapt names (cap, cap2) to your experiment
|
||||||
|
|
||||||
|
Mod('cap_io',
|
||||||
|
'frappy_psi.ahcapbridge.IO', '',
|
||||||
|
uri='linse-leiden-ts:3002'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.ahcapbridge.AH2700',
|
||||||
|
'capacitance',
|
||||||
|
io='cap_io',
|
||||||
|
loss_module = 'loss',
|
||||||
|
freq_module = 'freq',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap2_io',
|
||||||
|
'frappy_psi.ahcapbridge.IO', '',
|
||||||
|
uri='linse-leiden-ts:3001'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap2',
|
||||||
|
'frappy_psi.ahcapbridge.AH2550',
|
||||||
|
'capacitance',
|
||||||
|
io='cap2_io',
|
||||||
|
loss_module = 'loss2',
|
||||||
|
)
|
||||||
|
|
||||||
@@ -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',
|
||||||
|
|||||||
15
cfg/addons/haake_add_cfg.py
Normal file
15
cfg/addons/haake_add_cfg.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Node('haake.frappy.psi.ch',
|
||||||
|
'additional haake waterbath',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('haake_io',
|
||||||
|
'frappy_psi.haake.HaakeIO',
|
||||||
|
'',
|
||||||
|
uri='sans-sample-ts:3006',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T2',
|
||||||
|
'frappy_psi.haake.TemperatureLoop',
|
||||||
|
'second haake',
|
||||||
|
io = 'haake_io',
|
||||||
|
)
|
||||||
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',
|
||||||
|
)
|
||||||
@@ -3,8 +3,15 @@ Node('AH2700Test.psi.ch',
|
|||||||
'tcp://5000',
|
'tcp://5000',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('cap',
|
Mod('io',
|
||||||
'frappy_psi.ah2700.Capacitance',
|
'frappy_psi.ahcapbridge.IO', '',
|
||||||
'capacitance',
|
uri='linse-leiden-ts:3002'
|
||||||
uri='ldmse3-ts:3015',
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.ahcapbridge.AH2700',
|
||||||
|
'capacitance',
|
||||||
|
io='io',
|
||||||
|
loss_module = 'loss',
|
||||||
|
freq_module = 'freq',
|
||||||
)
|
)
|
||||||
|
|||||||
340
cfg/dil5_cfg.py
Normal file
340
cfg/dil5_cfg.py
Normal file
@@ -0,0 +1,340 @@
|
|||||||
|
# by id (independent of plug location, but may not neccessarly be unique)
|
||||||
|
# to verify just do:
|
||||||
|
# ls /dev/serial/by-id
|
||||||
|
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'
|
||||||
|
logo_ip = '192.168.0.3'
|
||||||
|
# by plug location would also be possible (/dev/serial/by-path)
|
||||||
|
|
||||||
|
|
||||||
|
Node('dil5.psi.ch',
|
||||||
|
'dil5 on linse-dil5',
|
||||||
|
interface='tcp://5000',
|
||||||
|
secondary = ['ws://8010']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('logo',
|
||||||
|
'frappy_psi.logo.IO',
|
||||||
|
'',
|
||||||
|
ip_address = logo_ip,
|
||||||
|
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 seems not to work
|
||||||
|
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.Pressure',
|
||||||
|
'pressure after compressor',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="VW0",
|
||||||
|
pollinterval=0.5,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p1',
|
||||||
|
'frappy_psi.logo.Pressure',
|
||||||
|
'dump pressure',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="VW28",
|
||||||
|
pollinterval=0.5,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p5',
|
||||||
|
'frappy_psi.logo.Pressure',
|
||||||
|
'pressure after forepump',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="VW4",
|
||||||
|
pollinterval = 0.5,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('airpressure',
|
||||||
|
'frappy_psi.logo.Comparator',
|
||||||
|
'Airpressure state',
|
||||||
|
io = 'logo',
|
||||||
|
addr ="V1024.7",
|
||||||
|
threshold = 500,
|
||||||
|
pollinterval = 0.5,
|
||||||
|
)
|
||||||
|
|
||||||
|
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,
|
||||||
|
)
|
||||||
|
|
||||||
|
## Dilution lakeshore Temperature controller
|
||||||
|
|
||||||
|
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_ivc',
|
||||||
|
'frappy_psi.ls372.TemperatureChannel',
|
||||||
|
'mix temperature chan 2',
|
||||||
|
channel = 2,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_still',
|
||||||
|
'frappy_psi.ls372.TemperatureChannel',
|
||||||
|
'mix temperature chan 3',
|
||||||
|
channel = 3,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_sorb',
|
||||||
|
'frappy_psi.ls372.TemperatureChannel',
|
||||||
|
'mix temperature chan 1',
|
||||||
|
channel = 1,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_cp',
|
||||||
|
'frappy_psi.ls372.TemperatureChannel',
|
||||||
|
'mix temperature chan 4',
|
||||||
|
channel = 4,
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_mix',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'mix temperature chan 5',
|
||||||
|
channel = 5,
|
||||||
|
htrrng = '1mA',
|
||||||
|
switcher = 'sw',
|
||||||
|
)
|
||||||
16
cfg/dilhtr_cfg.py
Normal file
16
cfg/dilhtr_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('dilhtrtest.psi.ch',
|
||||||
|
'dilhtr test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.dilhtr.IO',
|
||||||
|
'dilhtr communication',
|
||||||
|
uri='serial:///dev/tty.usbserial-21440?baudrate=9600',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('heater',
|
||||||
|
'frappy_psi.dilhtr.Heater',
|
||||||
|
'dilhtr box',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
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',
|
||||||
|
)
|
||||||
|
|
||||||
116
cfg/fi_cfg.py
Normal file
116
cfg/fi_cfg.py
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
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.furnace.PIctrl',
|
||||||
|
'controlled temperature ',
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
input_module = 'T_htr',
|
||||||
|
output_module = 't_out',
|
||||||
|
output_min = 0,
|
||||||
|
output_max = 100,
|
||||||
|
p = 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('interlock',
|
||||||
|
'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.001,
|
||||||
|
)
|
||||||
|
|
||||||
|
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,
|
||||||
|
)
|
||||||
132
cfg/fs_cfg.py
Normal file
132
cfg/fs_cfg.py
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
Node('fs.psi.ch',
|
||||||
|
'small vacuum furnace',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.furnace.PI2',
|
||||||
|
'controlled Temperature on sample (2nd loop)',
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
meaning = ['temperature', 30],
|
||||||
|
input_module = 'T_sam',
|
||||||
|
output_module = 'T_reg',
|
||||||
|
p = 1.2,
|
||||||
|
i = 0.005,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_reg',
|
||||||
|
'frappy_psi.furnace.PIctrl',
|
||||||
|
'controlled Temperature on heater',
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
input_module = 'T_htr',
|
||||||
|
output_module = 't_out',
|
||||||
|
output_min = 0,
|
||||||
|
output_max = 100,
|
||||||
|
p = 1,
|
||||||
|
i = 0.003,
|
||||||
|
)
|
||||||
|
|
||||||
|
#Mod('p_reg',
|
||||||
|
# 'frappy_psi.furnace.PI',
|
||||||
|
# 'controlled pressure',
|
||||||
|
# input_module = 'p',
|
||||||
|
# output_module = 't_out',
|
||||||
|
# p = 1,
|
||||||
|
# i = 0.005,
|
||||||
|
# )
|
||||||
|
|
||||||
|
Mod('T_htr',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'heater temperature',
|
||||||
|
addr = 'ai4',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('T_sam',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'sample temperature',
|
||||||
|
addr = 'ai2',
|
||||||
|
valuerange = (0, 1372),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_extra',
|
||||||
|
'frappy_psi.furnace.PRtransmitter',
|
||||||
|
'extra temperature',
|
||||||
|
addr = 'ai3',
|
||||||
|
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('relay',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'relais for power output',
|
||||||
|
addr = 'o2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('interlock',
|
||||||
|
'frappy_psi.furnace.Interlocks',
|
||||||
|
'interlock parameters',
|
||||||
|
input = 'T_htr',
|
||||||
|
wall_T = 'T_wall',
|
||||||
|
htr_T = 'T_htr',
|
||||||
|
main_T = 'T_sam',
|
||||||
|
reg_T = 'T_reg',
|
||||||
|
extra_T = 'T_extra',
|
||||||
|
htr = 't_out',
|
||||||
|
vacuum = 'p',
|
||||||
|
relay = 'relay',
|
||||||
|
control = 'T',
|
||||||
|
wall_limit = 60,
|
||||||
|
vacuum_limit = 0.001,
|
||||||
|
disabled_checks = 'T_extra',
|
||||||
|
)
|
||||||
|
|
||||||
|
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,
|
||||||
|
)
|
||||||
94
cfg/gas10ka_cfg.py
Normal file
94
cfg/gas10ka_cfg.py
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
Node('gas10ka.psi.ch',
|
||||||
|
'10kBar Gas pressure stick',
|
||||||
|
interface='tcp://5010',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.logo.IO',
|
||||||
|
'',
|
||||||
|
ip_address = "192.168.1.1",
|
||||||
|
tcap_client = 0x3000,
|
||||||
|
tsap_server = 0x2000
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('R_pt10k',
|
||||||
|
'frappy_psi.logo.Resistor',
|
||||||
|
'raw sensor value of T_p10k',
|
||||||
|
io = 'io',
|
||||||
|
addr = "VW0",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_pt10k',
|
||||||
|
'frappy_psi.softcal.Sensor',
|
||||||
|
'temperature close to sample',
|
||||||
|
value=Param(unit='K'),
|
||||||
|
rawsensor='R_pt10k',
|
||||||
|
calcurve='pt10000e',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('R_top',
|
||||||
|
'frappy_psi.logo.Resistor',
|
||||||
|
'raw sensor value of T_top',
|
||||||
|
io = 'io',
|
||||||
|
addr = "VW2",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_top',
|
||||||
|
'frappy_psi.softcal.Sensor',
|
||||||
|
'capillary temperature at highest position',
|
||||||
|
value=Param(unit='K'),
|
||||||
|
rawsensor='R_top',
|
||||||
|
calcurve='pt1000e',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('R_mid',
|
||||||
|
'frappy_psi.logo.Resistor',
|
||||||
|
'raw sensor value of T_mid',
|
||||||
|
io = 'io',
|
||||||
|
addr = "VW6",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_mid',
|
||||||
|
'frappy_psi.softcal.Sensor',
|
||||||
|
'capillary temperature at mid position',
|
||||||
|
value=Param(unit='K'),
|
||||||
|
rawsensor='R_mid',
|
||||||
|
calcurve='pt1000e',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('R_bot',
|
||||||
|
'frappy_psi.logo.Resistor',
|
||||||
|
'raw sensor value of T_bot',
|
||||||
|
io = 'io',
|
||||||
|
addr = "VW4",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_bot',
|
||||||
|
'frappy_psi.softcal.Sensor',
|
||||||
|
'capillary temperature at lower position',
|
||||||
|
value=Param(unit='K'),
|
||||||
|
rawsensor='R_bot',
|
||||||
|
calcurve='pt1000e',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('R_sam_cx',
|
||||||
|
'frappy_psi.logo.Resistor',
|
||||||
|
'sensor',
|
||||||
|
io = 'io',
|
||||||
|
addr = "VW16",
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_sam_cx',
|
||||||
|
'frappy_psi.softcal.Sensor',
|
||||||
|
'?',
|
||||||
|
value=Param(unit='K'),
|
||||||
|
rawsensor='R_sam_cx',
|
||||||
|
calcurve='X174785',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('heater',
|
||||||
|
'frappy_psi.capillary_heater.Heater',
|
||||||
|
'the capillary heater',
|
||||||
|
io = 'io',
|
||||||
|
)
|
||||||
@@ -4,4 +4,4 @@ logdir = ./log
|
|||||||
piddir = ./pid
|
piddir = ./pid
|
||||||
confdir = ./cfg
|
confdir = ./cfg
|
||||||
comlog = True
|
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,10 @@ 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',
|
||||||
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',
|
||||||
|
|||||||
@@ -12,8 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('ts',
|
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=['.', 'ts'],
|
rel_paths=['ts', 'set'],
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('t2',
|
Mod('t2',
|
||||||
|
|||||||
@@ -1,21 +1,15 @@
|
|||||||
Node('haakeuro.config.sea.psi.ch',
|
Node('haake.frappy.psi.ch',
|
||||||
'Haake thermostat + Eurotherm controller',
|
'additional haake waterbath',
|
||||||
)
|
)
|
||||||
Mod('sea_main',
|
|
||||||
'frappy_psi.sea.SeaClient',
|
Mod('haake_io',
|
||||||
'main sea connection for haakeuro.config',
|
'frappy_psi.haake.HaakeIO',
|
||||||
config = 'haake.config',
|
'',
|
||||||
service = 'main',
|
uri='sans-sample-ts:3006',
|
||||||
)
|
)
|
||||||
Mod('th',
|
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
Mod('T2',
|
||||||
meaning = ('temperature', 10),
|
'frappy_psi.haake.TemperatureLoop',
|
||||||
io = 'sea_main',
|
'second haake',
|
||||||
sea_object = 'th',
|
io = 'haake_io',
|
||||||
extra_modules=['t2'],
|
|
||||||
)
|
|
||||||
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',
|
||||||
|
|||||||
224
cfg/main/leiden_cfg.py
Normal file
224
cfg/main/leiden_cfg.py
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
Node('leiden.psi.ch',
|
||||||
|
'''Leiden Dilution''',
|
||||||
|
)
|
||||||
|
|
||||||
|
ah2700_uri = 'linse-leiden-ts:3002' # used in cfg/addons/ahtwo_cfg.pt
|
||||||
|
ls370_uri = 'linse-leiden-ts:3004' # used in ~/sea/tcl/leiden.config
|
||||||
|
tcs_uri = 'linse-leiden-ts:3005'
|
||||||
|
#nanov_uri = 'linse-leiden-ts:3006' # used in ~/sea/tcl/leiden.config
|
||||||
|
k2601b_uri = 'linse-leiden-ts:3006' # used for HC experiment as heater
|
||||||
|
dilhtr_uri = 'linse-leiden-ts:3007'
|
||||||
|
srbridge_uri = 'linse-leiden-ts:3008'
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for leiden.config',
|
||||||
|
config = 'leiden.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
|
||||||
|
for name in ['T3K', 'Tstill', 'T50mK', 'Tmxlow', 'Tmxhigh', 'Tmxcx', 'Tblueo',
|
||||||
|
'Tpt50', 'Tpt3high', 'Tpt3low', 'Twhite', 'Tgreen']:
|
||||||
|
mname = name.replace('T','T_')
|
||||||
|
Mod(mname,
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=[name],
|
||||||
|
value=Param(unit='K'),
|
||||||
|
extra_modules = ['raw'],
|
||||||
|
)
|
||||||
|
Mod(name.replace('T', 'R_'),
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
value=Param(unit='Ohm'),
|
||||||
|
single_module=f'{mname}.raw'
|
||||||
|
)
|
||||||
|
|
||||||
|
#Mod('cmn',
|
||||||
|
# 'frappy_psi.sea.SeaReadable', '',
|
||||||
|
# io = 'sea_main',
|
||||||
|
# sea_object = 'cmn',
|
||||||
|
# extra_modules = ['u1', 'u2', 'temp'],
|
||||||
|
#)
|
||||||
|
|
||||||
|
#Mod('T_cmn',
|
||||||
|
# 'frappy_psi.sea.SeaReadable', '',
|
||||||
|
# io='sea_main',
|
||||||
|
# value=Param(unit='K'),
|
||||||
|
# single_module='cmn.temp',
|
||||||
|
#)
|
||||||
|
|
||||||
|
#Mod('V_fixp',
|
||||||
|
# 'frappy_psi.sea.SeaReadable', '',
|
||||||
|
# io='sea_main',
|
||||||
|
# value=Param(unit='V'),
|
||||||
|
# single_module='cmn.u2',
|
||||||
|
#)
|
||||||
|
|
||||||
|
#Mod('V_cmn',
|
||||||
|
# 'frappy_psi.sea.SeaReadable', '',
|
||||||
|
# io='sea_main',
|
||||||
|
# value=Param(unit='V'),
|
||||||
|
# single_module='cmn.u1',
|
||||||
|
#)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('tcs_io',
|
||||||
|
'frappy_psi.tcs.IO',
|
||||||
|
'tcs communication',
|
||||||
|
uri=tcs_uri,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('still_htr',
|
||||||
|
'frappy_psi.tcs.Heater',
|
||||||
|
'still heater',
|
||||||
|
io='tcs_io',
|
||||||
|
channel=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mix_io',
|
||||||
|
'frappy_psi.dilhtr.IO',
|
||||||
|
'dilhtr communication',
|
||||||
|
uri=dilhtr_uri,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mix_htr',
|
||||||
|
'frappy_psi.dilhtr.WrappedHeater',
|
||||||
|
'mixing chamber heater',
|
||||||
|
io='mix_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('drive_mix',
|
||||||
|
'frappy_psi.picontrol.PIctrl',
|
||||||
|
'controlled mix ch. temperature',
|
||||||
|
input_module = 'T_mxlow',
|
||||||
|
output_module = 'mix_htr',
|
||||||
|
output_min = 0,
|
||||||
|
output_max = 0.02,
|
||||||
|
p = 5,
|
||||||
|
itime = 60,
|
||||||
|
)
|
||||||
|
|
||||||
|
#Mod('drive_cmn',
|
||||||
|
# 'frappy_psi.picontrol.PIctrl',
|
||||||
|
# 'controlled cmn temperature',
|
||||||
|
# input_module = 'T_cmn',
|
||||||
|
# output_module = 'mix_htr',
|
||||||
|
# output_min = 0,
|
||||||
|
# output_max = 3e-2,
|
||||||
|
# p = 2,
|
||||||
|
# itime = 120,
|
||||||
|
# )
|
||||||
|
|
||||||
|
#Mod('drive_fixp',
|
||||||
|
# 'frappy_psi.picontrol.PI',
|
||||||
|
# 'controlled fixpoint voltage',
|
||||||
|
# value=Param(unit='V'),
|
||||||
|
# input_module = 'V_fixp',
|
||||||
|
# output_module = 'drive_mix',
|
||||||
|
# output_min = 0.0,
|
||||||
|
# output_max = 0.01,
|
||||||
|
# p = 1,
|
||||||
|
# itime = 120,
|
||||||
|
# )
|
||||||
|
|
||||||
|
Mod('simio',
|
||||||
|
'frappy_psi.bridge.BridgeIO',
|
||||||
|
'communication to sim900',
|
||||||
|
uri=srbridge_uri,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('res1',
|
||||||
|
'frappy_psi.bridge.Resistance',
|
||||||
|
'please add description',
|
||||||
|
io='simio',
|
||||||
|
port=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('res2',
|
||||||
|
'frappy_psi.bridge.Resistance',
|
||||||
|
'please add description',
|
||||||
|
io='simio',
|
||||||
|
port=3,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('phase1',
|
||||||
|
'frappy_psi.bridge.Phase',
|
||||||
|
'please add description',
|
||||||
|
resistance='res1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('phase2',
|
||||||
|
'frappy_psi.bridge.Phase',
|
||||||
|
'please add description',
|
||||||
|
resistance='res2',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('dev1',
|
||||||
|
'frappy_psi.bridge.Deviation',
|
||||||
|
'please add description',
|
||||||
|
resistance='res1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('dev2',
|
||||||
|
'frappy_psi.bridge.Deviation',
|
||||||
|
'please add description',
|
||||||
|
resistance='res2',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('vsource_io',
|
||||||
|
'frappy_psi.k2601b.K2601bIO',
|
||||||
|
'source meter',
|
||||||
|
# uri = '129.129.156.90:5025',
|
||||||
|
uri = k2601b_uri,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('source',
|
||||||
|
'frappy_psi.k2601b.SourceMeter'
|
||||||
|
'',
|
||||||
|
description = "keithley sourcemeter",
|
||||||
|
mode = 2,
|
||||||
|
vlimit = 0.5,
|
||||||
|
ilimit = .0005,
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hvolt',
|
||||||
|
'frappy_psi.k2601b.Voltage'
|
||||||
|
'',
|
||||||
|
description = "Heater Voltage",
|
||||||
|
active = False,
|
||||||
|
limit = 1.0,
|
||||||
|
target = 0.0,
|
||||||
|
sourcemeter = 'source',
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hcur',
|
||||||
|
'frappy_psi.k2601b.Current'
|
||||||
|
'',
|
||||||
|
description = "Heater Current Source",
|
||||||
|
active = True,
|
||||||
|
limit = 0.0001,
|
||||||
|
target = 0.0,
|
||||||
|
sourcemeter = 'source',
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hres',
|
||||||
|
'frappy_psi.k2601b.Resistivity'
|
||||||
|
'',
|
||||||
|
description = "Heater Resistance",
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hpow',
|
||||||
|
'frappy_psi.k2601b.Power'
|
||||||
|
'',
|
||||||
|
description = "Heater Power",
|
||||||
|
io = 'vsource_io',
|
||||||
|
)
|
||||||
@@ -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',
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ Mod('sea_main',
|
|||||||
Mod('ts',
|
Mod('ts',
|
||||||
'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=['ts', 'set']
|
rel_paths=['ts', 'set']
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ Mod('th',
|
|||||||
'frappy_psi.sea.SeaReadable',
|
'frappy_psi.sea.SeaReadable',
|
||||||
'sample heater temperature',
|
'sample heater temperature',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['ts', 'setsamp']
|
rel_paths=['ts', 'setsamp']
|
||||||
)
|
)
|
||||||
@@ -21,7 +22,7 @@ Mod('tm',
|
|||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['tm', 'set']
|
rel_paths=['tm', '.', 'set']
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('ts',
|
Mod('ts',
|
||||||
|
|||||||
@@ -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', 'set', 'dblctrl'],
|
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',
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Node('ma7.config.sea.psi.ch',
|
Node('ma7_piezo.config.sea.psi.ch',
|
||||||
'6.8 Tesla horizontal cryomagnet',
|
'6.8 Tesla horizontal cryomagnet',
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -12,8 +12,9 @@ Mod('sea_main',
|
|||||||
Mod('tt',
|
Mod('tt',
|
||||||
'frappy_psi.sea.SeaDrivable', '',
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
io='sea_main',
|
io='sea_main',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
sea_object='tt',
|
sea_object='tt',
|
||||||
rel_paths=['tm', 'set', 'dblctrl', 'voltage'],
|
rel_paths=['tm', '.', 'set', 'dblctrl', 'voltage'],
|
||||||
extra_modules=['manualpower'],
|
extra_modules=['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',
|
||||||
@@ -36,13 +39,21 @@ Mod('ts',
|
|||||||
'frappy_psi.parmod.Converging',
|
'frappy_psi.parmod.Converging',
|
||||||
'test for parmod',
|
'test for parmod',
|
||||||
unit='K',
|
unit='K',
|
||||||
value_param='th.value',
|
read='th.value',
|
||||||
target_param='th.setsamp',
|
write='th.setsamp',
|
||||||
meaning=['temperature', 20],
|
meaning=['temperature', 20],
|
||||||
settling_time=20,
|
settling_time=20,
|
||||||
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',
|
||||||
|
|||||||
@@ -15,10 +15,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', 'set'],
|
sensor_path='tm',
|
||||||
|
set_path='set',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('th',
|
Mod('th',
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ Node('mb11.psi.ch',
|
|||||||
'MB11 11 Tesla - 100 mm cryomagnet',
|
'MB11 11 Tesla - 100 mm cryomagnet',
|
||||||
)
|
)
|
||||||
|
|
||||||
sea_cfg = 'mb11.config'
|
|
||||||
|
|
||||||
Mod('itc1',
|
Mod('itc1',
|
||||||
'frappy_psi.mercury.IO',
|
'frappy_psi.mercury.IO',
|
||||||
'ITC for heat exchanger and pressures',
|
'ITC for heat exchanger and pressures',
|
||||||
@@ -25,6 +23,7 @@ Mod('ips',
|
|||||||
Mod('T_stat',
|
Mod('T_stat',
|
||||||
'frappy_psi.mercury.TemperatureAutoFlow',
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
'static heat exchanger temperature',
|
'static heat exchanger temperature',
|
||||||
|
meaning=['temperature_regulation', 27],
|
||||||
output_module='htr_stat',
|
output_module='htr_stat',
|
||||||
needle_valve='p_stat',
|
needle_valve='p_stat',
|
||||||
slot='DB6.T1',
|
slot='DB6.T1',
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
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',
|
||||||
)
|
)
|
||||||
|
|||||||
20
cfg/main/tfa_cfg.py
Normal file
20
cfg/main/tfa_cfg.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Node('TFA10.psi.ch',
|
||||||
|
'thermofisher water bath',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
|
'connection for ThermoFisher A10',
|
||||||
|
uri='tcp://ldm-fi-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||||
|
'holder temperature',
|
||||||
|
io='io',
|
||||||
|
meaning=['temperature', 20],
|
||||||
|
target=Param(max=100),
|
||||||
|
tolerance=0.5,
|
||||||
|
settling_time=20,
|
||||||
|
)
|
||||||
@@ -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',
|
||||||
|
)
|
||||||
100
cfg/muwaba_cfg.py
Normal file
100
cfg/muwaba_cfg.py
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
Node('muwaba.psi.ch',
|
||||||
|
'multi waterbath',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('wio_1',
|
||||||
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
|
'connection for water bath',
|
||||||
|
uri='serial:///dev/ttyUSB0?baudrate=19200', # 3001 = Port 1, 3002 = Port 2 ...
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('wio_2',
|
||||||
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
|
'connection for water bath',
|
||||||
|
uri='serial:///dev/ttyUSB1?baudrate=19200', # 3001 = Port 1, 3002 = Port 2 ...
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('wio_3',
|
||||||
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
|
'connection for water bath',
|
||||||
|
uri='serial:///dev/ttyUSB2?baudrate=19200', # 3001 = Port 1, 3002 = Port 2 ...
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Tbath_1',
|
||||||
|
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||||
|
'water_bath_1',
|
||||||
|
io='wio_1',
|
||||||
|
control_active=0,
|
||||||
|
target=25,
|
||||||
|
tolerance=0.1,
|
||||||
|
settling_time=20,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Tbath_2',
|
||||||
|
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||||
|
'water_bath_2',
|
||||||
|
io='wio_2',
|
||||||
|
control_active=0,
|
||||||
|
target=25,
|
||||||
|
tolerance=0.1,
|
||||||
|
settling_time=20,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Tbath_3',
|
||||||
|
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||||
|
'water_bath_3',
|
||||||
|
io='wio_3',
|
||||||
|
control_active=0,
|
||||||
|
target=25,
|
||||||
|
tolerance=0.1,
|
||||||
|
settling_time=20,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('valve_1',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'valve_for_fast_water_temperature_changing',
|
||||||
|
addr = 'o1',
|
||||||
|
target = 0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('valve_2',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'valve_for_fast_water_temperature_changing',
|
||||||
|
addr = 'o2',
|
||||||
|
target = 0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('valve_3',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'valve_for_fast_water_temperature_changing',
|
||||||
|
addr = 'o3',
|
||||||
|
target = 0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('temp_sensor_tc',
|
||||||
|
'frappy_psi.ionopimax.SimpleVoltageInput',
|
||||||
|
'temperatur_sensor_sample',
|
||||||
|
rawrange = (0.0, 10.0),
|
||||||
|
valuerange = (5.0, 90.0),
|
||||||
|
addr = 'ai1_mv',
|
||||||
|
meaning = ['temperature', 20],
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('temp_sensor_pt1000',
|
||||||
|
'frappy_psi.ionopimax.SimpleVoltageInput',
|
||||||
|
'temperatur_sensor_sample',
|
||||||
|
rawrange = (0.0, 10.0),
|
||||||
|
valuerange = (5.0, 90.0),
|
||||||
|
value = Param(unit='degC'),
|
||||||
|
addr = 'ai2_mv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('switcher',
|
||||||
|
'frappy_psi.muwaba.Switcher',
|
||||||
|
'waterbath switcher',
|
||||||
|
valve1 = 'valve_1',
|
||||||
|
valve2 = 'valve_2',
|
||||||
|
valve3 = 'valve_3',
|
||||||
|
)
|
||||||
23
cfg/obsolete_sea_cfg/haake2_cfg.py
Normal file
23
cfg/obsolete_sea_cfg/haake2_cfg.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
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'],
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='th.t2',
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
17
cfg/obsolete_sea_cfg/haake_cfg.py
Normal file
17
cfg/obsolete_sea_cfg/haake_cfg.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Node('haake.config.sea.psi.ch',
|
||||||
|
'Haake thermostat',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for haakeuro.config',
|
||||||
|
config = 'haake.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning = ('temperature', 10),
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'th',
|
||||||
|
extra_modules=['t2'],
|
||||||
|
value=Param(unit='degC'),
|
||||||
|
)
|
||||||
@@ -3,14 +3,13 @@
|
|||||||
|
|
||||||
Node('UC220T.psi.ch',
|
Node('UC220T.psi.ch',
|
||||||
'A Razorbill UC220T controlled by a RP100 high voltage powersupply and a ACM1219 (AD7746) capacitance meter',
|
'A Razorbill UC220T controlled by a RP100 high voltage powersupply and a ACM1219 (AD7746) capacitance meter',
|
||||||
interface='tcp://3000')
|
interface='tcp://5123')
|
||||||
|
|
||||||
Mod('io1',
|
Mod('io1',
|
||||||
'frappy_psi.RP100.RP100IO',
|
'frappy_psi.RP100.RP100IO',
|
||||||
'communication',
|
'communication',
|
||||||
uri='serial:///dev/ttyACM1?baudrate=9600+bytesize=8+parity=none+stopbits=1',
|
uri='serial:///dev/ttyACM0?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
||||||
visibility=2)
|
Mod('V1',
|
||||||
Mod('Tension',
|
|
||||||
'frappy_psi.RP100.VoltageChannel',
|
'frappy_psi.RP100.VoltageChannel',
|
||||||
'Voltage Channel 1',
|
'Voltage Channel 1',
|
||||||
temp='T',
|
temp='T',
|
||||||
@@ -18,9 +17,9 @@ Mod('Tension',
|
|||||||
target=Param(min=-200, max=200),
|
target=Param(min=-200, max=200),
|
||||||
max_target=120,
|
max_target=120,
|
||||||
min_target=-20,
|
min_target=-20,
|
||||||
slew_rate=5,
|
slew_rate=100,
|
||||||
channel=1)
|
channel=1)
|
||||||
Mod('Compression',
|
Mod('V2',
|
||||||
'frappy_psi.RP100.VoltageChannel',
|
'frappy_psi.RP100.VoltageChannel',
|
||||||
'Voltage Channel 2',
|
'Voltage Channel 2',
|
||||||
temp='T',
|
temp='T',
|
||||||
@@ -28,112 +27,58 @@ Mod('Compression',
|
|||||||
target=Param(min=-200, max=200),
|
target=Param(min=-200, max=200),
|
||||||
max_target=120,
|
max_target=120,
|
||||||
min_target=-20,
|
min_target=-20,
|
||||||
slew_rate=5,
|
slew_rate=100,
|
||||||
channel=2)
|
channel=2)
|
||||||
|
|
||||||
Mod('io2',
|
Mod('io2',
|
||||||
'frappy_psi.ACM1219.ACM1219IO',
|
'frappy_psi.ACM1219.ACM1219IO',
|
||||||
'communication',
|
'communication',
|
||||||
uri='serial:///dev/ttyUSB1?baudrate=9600+bytesize=8+parity=none+stopbits=1',
|
uri='serial:///dev/ttyUSB0?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
||||||
visibility=2)
|
Mod('C1C2',
|
||||||
Mod('C1',
|
'frappy_psi.ACM1219.BothChannels',
|
||||||
'frappy_psi.ACM1219.OneChannel',
|
'Capacitance channels 1 and 2',
|
||||||
'channel 1',
|
io='io2')
|
||||||
channel_enabled=True,
|
|
||||||
channel=1,
|
|
||||||
io='io2',
|
|
||||||
group='cap')
|
|
||||||
|
|
||||||
Mod('io3',
|
|
||||||
'frappy_psi.ACM1219.ACM1219IO',
|
|
||||||
'communication',
|
|
||||||
uri='serial:///dev/ttyUSB2?baudrate=9600+bytesize=8+parity=none+stopbits=1',
|
|
||||||
visibility=2)
|
|
||||||
Mod('C2',
|
|
||||||
'frappy_psi.ACM1219.OneChannel',
|
|
||||||
'channel 1',
|
|
||||||
channel_enabled=True,
|
|
||||||
channel=1,
|
|
||||||
io='io3',
|
|
||||||
group='cap')
|
|
||||||
|
|
||||||
# Mod('C1',
|
|
||||||
# 'frappy_psi.ACM1219.Channel',
|
|
||||||
# 'channel 1',
|
|
||||||
# group='cap')
|
|
||||||
# Mod('C2',
|
|
||||||
# 'frappy_psi.ACM1219.Channel',
|
|
||||||
# 'channel 2',
|
|
||||||
# group='cap')
|
|
||||||
# Mod('C1C2',
|
|
||||||
# 'frappy_psi.ACM1219.BothChannels',
|
|
||||||
# 'Capacitance channels 1 and 2',
|
|
||||||
# chan1='C1',
|
|
||||||
# chan2='C2',
|
|
||||||
# channels_enabled=True,
|
|
||||||
# io='io2',
|
|
||||||
# group='cap')
|
|
||||||
Mod('d',
|
Mod('d',
|
||||||
'frappy_psi.razorbill.Displacement',
|
'frappy_psi.ACM1219.Displacement',
|
||||||
'razorbill displacement from capacitance',
|
'razorbill displacement from capacitance',
|
||||||
cap='C1',
|
cap='C1C2',
|
||||||
|
channel=1,
|
||||||
alpha290K=56.710,
|
alpha290K=56.710,
|
||||||
d0=95.443,
|
d0=95.443,
|
||||||
Cp=0.01883,
|
Cp=0.01883,
|
||||||
d0_curve={'a':4.21,'b':-0.00157,'c':-3.38e-5,'d':5.28e-8,'e':-6.93e-11},
|
d0_curve={'a':4.21,'b':-0.00157,'c':-3.38e-5,'d':5.28e-8,'e':-6.93e-11},
|
||||||
temp='T')
|
temp='T')
|
||||||
Mod('strain',
|
|
||||||
'frappy_psi.razorbill.Strain',
|
|
||||||
'Sample strain from force',
|
|
||||||
displacement='d',
|
|
||||||
L=3,
|
|
||||||
)
|
|
||||||
Mod('F',
|
Mod('F',
|
||||||
'frappy_psi.razorbill.Force',
|
'frappy_psi.ACM1219.Force',
|
||||||
'razorbill force from capacitance',
|
'razorbill force from capacitance',
|
||||||
cap='C2',
|
cap='C1C2',
|
||||||
|
channel=2,
|
||||||
alpha290K=374.23,
|
alpha290K=374.23,
|
||||||
f0=315.63,
|
f0=315.63,
|
||||||
Cp=0.0755,
|
Cp=0.0755,
|
||||||
f0_curve={'a':38.9,'b':-0.0147,'c':-0.000346,'d':8.96e-7,'e':-1.58e-9},
|
f0_curve={'a':38.9,'b':-0.0147,'c':-0.000346,'d':8.96e-7,'e':-1.58e-9},
|
||||||
temp='T')
|
temp='T')
|
||||||
Mod('stress',
|
Mod('stress',
|
||||||
'frappy_psi.razorbill.Stress',
|
'frappy_psi.ACM1219.Stress',
|
||||||
'Sample stress from force',
|
'Sample stress from force',
|
||||||
force='F',
|
force='F',
|
||||||
area=0.1,
|
area=0.1,
|
||||||
)
|
)
|
||||||
|
Mod('strain',
|
||||||
|
'frappy_psi.ACM1219.Strain',
|
||||||
|
'Sample strain from force',
|
||||||
|
displacement='d',
|
||||||
|
L=3,
|
||||||
|
)
|
||||||
Mod('YM',
|
Mod('YM',
|
||||||
'frappy_psi.razorbill.YoungsModulus',
|
'frappy_psi.ACM1219.YoungsModulus',
|
||||||
'Sample youngs modulus from stress and strain',
|
'Sample youngs modulus from stress and strain',
|
||||||
stress='stress',
|
stress='stress',
|
||||||
strain='strain',
|
strain='strain',
|
||||||
)
|
)
|
||||||
|
|
||||||
Mod('T',
|
Mod('T',
|
||||||
'frappy_psi.razorbill.Temp',
|
'frappy_psi.dummy.Temp',
|
||||||
'dummy T written from client',
|
'dummy T written from client',
|
||||||
target=Param(value=300, min=1, max=325),
|
target=Param(min=1, max=325),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
Mod('io4',
|
|
||||||
'frappy_psi.ls372.StringIO',
|
|
||||||
'the communication device',
|
|
||||||
uri='tcp://192.168.3.3:7777',
|
|
||||||
visibility=2
|
|
||||||
)
|
|
||||||
Mod('lsswitcher',
|
|
||||||
'frappy_psi.ls372.Switcher',
|
|
||||||
'Switcher control of Lsc controller',
|
|
||||||
uri='tcp://192.168.3.3:7777',
|
|
||||||
io='io4',
|
|
||||||
)
|
|
||||||
Mod('res',
|
|
||||||
'frappy_psi.ls372.ResChannel',
|
|
||||||
'resistivity',
|
|
||||||
iexc='100uA',
|
|
||||||
range='63.2mOhm',
|
|
||||||
channel=1,
|
|
||||||
switcher='lsswitcher',
|
|
||||||
)
|
|
||||||
|
|||||||
21
cfg/sea/ah2550.addon.json
Normal file
21
cfg/sea/ah2550.addon.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{"capff": {"base": "/capff", "params": [
|
||||||
|
{"path": "", "type": "none", "kids": 7},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "capff send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "cap", "type": "float"},
|
||||||
|
{"path": "loss", "type": "float"},
|
||||||
|
{"path": "period", "type": "float", "readonly": false, "cmd": "capff period"},
|
||||||
|
{"path": "V", "type": "float", "readonly": false, "cmd": "capff V"},
|
||||||
|
{"path": "average", "type": "int", "readonly": false, "cmd": "capff average"}]},
|
||||||
|
|
||||||
|
"capslopeff": {"base": "/capslopeff", "params": [
|
||||||
|
{"path": "", "type": "float", "kids": 6},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "capslopeff send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "node", "type": "text", "readonly": false, "cmd": "capslopeff node"},
|
||||||
|
{"path": "unit", "type": "float", "readonly": false, "cmd": "capslopeff unit", "description": "unit=60: mainunits/minutes, unit=1: mainunits/sec"},
|
||||||
|
{"path": "ref", "type": "float", "readonly": false, "cmd": "capslopeff ref"},
|
||||||
|
{"path": "bufperiod", "type": "float", "readonly": false, "cmd": "capslopeff bufperiod"}]},
|
||||||
|
|
||||||
|
"addonlock_ah2550": {"base": "/addonlock_ah2550", "params": [
|
||||||
|
{"path": "", "type": "text", "readonly": false, "cmd": "addonlock_ah2550 = "}]}}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{"cap": {"base": "/cap", "params": [{"path": "", "type": "none", "kids": 8},
|
{"cap": {"base": "/cap", "params": [
|
||||||
|
{"path": "", "type": "none", "kids": 8},
|
||||||
{"path": "send", "type": "text", "readonly": false, "cmd": "cap send", "visibility": 3},
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cap send", "visibility": 3},
|
||||||
{"path": "status", "type": "text", "visibility": 3},
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
{"path": "cap", "type": "float"},
|
{"path": "cap", "type": "float"},
|
||||||
@@ -6,10 +7,16 @@
|
|||||||
{"path": "period", "type": "float", "readonly": false, "cmd": "cap period"},
|
{"path": "period", "type": "float", "readonly": false, "cmd": "cap period"},
|
||||||
{"path": "freq", "type": "float", "readonly": false, "cmd": "cap freq"},
|
{"path": "freq", "type": "float", "readonly": false, "cmd": "cap freq"},
|
||||||
{"path": "V", "type": "float", "readonly": false, "cmd": "cap V"},
|
{"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": "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": "send", "type": "text", "readonly": false, "cmd": "capslope send", "visibility": 3},
|
||||||
{"path": "status", "type": "text", "visibility": 3},
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
{"path": "node", "type": "text", "readonly": false, "cmd": "capslope node"},
|
{"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": "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": "ref", "type": "float", "readonly": false, "cmd": "capslope ref"},
|
||||||
{"path": "buffersize", "type": "float", "readonly": false, "cmd": "capslope buffersize"}]}}
|
{"path": "bufperiod", "type": "float", "readonly": false, "cmd": "capslope bufperiod"}]},
|
||||||
|
|
||||||
|
"addonlock_ah2700": {"base": "/addonlock_ah2700", "params": [
|
||||||
|
{"path": "", "type": "text", "readonly": false, "cmd": "addonlock_ah2700 = "}]}}
|
||||||
|
|||||||
@@ -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": [
|
||||||
|
|||||||
29
cfg/sea/cp1000.addon.json
Normal file
29
cfg/sea/cp1000.addon.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{"cp2800": {"base": "/cp2800", "params": [
|
||||||
|
{"path": "", "type": "bool", "readonly": false, "cmd": "cp2800", "kids": 27},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cp2800 send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "comp_running_hrs", "type": "float"},
|
||||||
|
{"path": "cpu_t", "type": "float"},
|
||||||
|
{"path": "motor_current_a", "type": "float"},
|
||||||
|
{"path": "inp_water_t", "type": "float"},
|
||||||
|
{"path": "inp_water_t_min", "type": "float"},
|
||||||
|
{"path": "inp_water_t_max", "type": "float"},
|
||||||
|
{"path": "out_water_t", "type": "float"},
|
||||||
|
{"path": "out_water_t_min", "type": "float"},
|
||||||
|
{"path": "out_water_t_max", "type": "float"},
|
||||||
|
{"path": "helium_t", "type": "float"},
|
||||||
|
{"path": "helium_t_min", "type": "float"},
|
||||||
|
{"path": "helium_t_max", "type": "float"},
|
||||||
|
{"path": "oil_t", "type": "float"},
|
||||||
|
{"path": "oil_t_min", "type": "float"},
|
||||||
|
{"path": "oil_t_max", "type": "float"},
|
||||||
|
{"path": "high_side_p", "type": "float"},
|
||||||
|
{"path": "high_side_p_min", "type": "float"},
|
||||||
|
{"path": "high_side_p_max", "type": "float"},
|
||||||
|
{"path": "high_side_p_avg", "type": "float"},
|
||||||
|
{"path": "low_side_p", "type": "float"},
|
||||||
|
{"path": "low_side_p_min", "type": "float"},
|
||||||
|
{"path": "low_side_p_max", "type": "float"},
|
||||||
|
{"path": "low_side_p_avg", "type": "float"},
|
||||||
|
{"path": "high_side_delta_p_avg", "type": "float"},
|
||||||
|
{"path": "high_side_bounce", "type": "float"}]}}
|
||||||
14
cfg/sea/cp1000_cfg.py
Normal file
14
cfg/sea/cp1000_cfg.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
Node('cp1000.addon.sea.psi.ch',
|
||||||
|
'''dry system''',
|
||||||
|
)
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'addons sea connection for cp1000.addon',
|
||||||
|
config = 'cp1000.addon',
|
||||||
|
service = 'addons',
|
||||||
|
)
|
||||||
|
Mod('cp2800',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_addons',
|
||||||
|
sea_object = 'cp2800',
|
||||||
|
)
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user