Compare commits
89 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b88750ae2b | |||
| 9c68f582b7 | |||
| c89b4a44bb | |||
| 330aa15400 | |||
| 3435107948 | |||
| 7c0101f6bd | |||
| 6ea97b0012 | |||
| 3dc159a9a4 | |||
| bd14e0a0e5 | |||
|
|
4922f0d664 | ||
| 9b71d3621d | |||
|
|
bec3359069 | ||
| 04692bd1aa | |||
| ffafd7344c | |||
|
|
b1bf5e866d | ||
|
|
e4748ef9c9 | ||
| b4bb172ada | |||
| 4fd9c17bcb | |||
| 76c6ebe92c | |||
| 12b0549cc0 | |||
| 3aa99e2268 | |||
| 72eaeac698 | |||
| d3831b3974 | |||
|
|
f861701fc2 | ||
| 452eb00417 | |||
| 52472acae9 | |||
| fee7c4904b | |||
| 3141e22894 | |||
| fbccd0f9b7 | |||
| 9071a5bcf7 | |||
| 1588703f99 | |||
| fe041bac0a | |||
| 07b758c3dd | |||
| f9a2152883 | |||
| 25891f296d | |||
| 0d1c7ba76f | |||
| 9afcc49430 | |||
| 7895470301 | |||
| 9df43bb940 | |||
|
|
ab558b3390 | ||
|
|
fad330b71d | ||
|
|
3cc8db881e | ||
| fa71b8ee25 | |||
| dbc6f17e5e | |||
| 0c23ee46a1 | |||
| d6cf1f7629 | |||
| 41baf5805f | |||
| bc5edec06f | |||
| e411ded55b | |||
| ad9defab0f | |||
| fbb0d10c55 | |||
| bc33933a1a | |||
| 2d310bc612 | |||
| e0f9b4a858 | |||
|
|
16834f8802 | ||
|
|
d9650d7fc7 | ||
|
|
569c0a3399 | ||
|
|
cab2bb85ba | ||
|
|
2fb05b37f8 | ||
|
|
ad2a79c312 | ||
|
|
82b4af4faa | ||
| ad07ecdd69 | |||
| cf24bbc3c3 | |||
| 29c66fa19a | |||
| 25a887dcab | |||
| 36ffb0a31f | |||
| b544d2af98 | |||
|
|
5db1acb07c | ||
|
|
880327c544 | ||
| 4f1883ba27 | |||
| 3043200012 | |||
|
|
1b4865c608 | ||
|
|
f7576cf541 | ||
|
|
587b170f6a | ||
|
|
1c42859466 | ||
|
|
1f832388d7 | ||
|
|
5f9344109d | ||
|
|
99bdafdd0c | ||
|
|
ab21bb5e3f | ||
|
|
99e32065b1 | ||
|
|
c1ffc160a2 | ||
| 89bf080dab | |||
| 047f3a7606 | |||
| 7f7c1a85ab | |||
|
|
5aff4b9dab | ||
|
|
2bd30c4423 | ||
| 0641968715 | |||
| d9a2045fca | |||
| ab00c45db0 |
@@ -212,13 +212,13 @@ max-locals=50
|
||||
max-returns=10
|
||||
|
||||
# Maximum number of branch for function / method body
|
||||
max-branches=40
|
||||
max-branches=50
|
||||
|
||||
# Maximum number of statements in function / method body
|
||||
max-statements=150
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=10
|
||||
max-parents=15
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=50
|
||||
|
||||
62
README.md
Normal file
62
README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Frappy Framework
|
||||
|
||||
current running code at SINQ, with newest changes not yet pushed
|
||||
through the Gerrit workflow at MLZ
|
||||
|
||||
## Branches
|
||||
|
||||
branches:
|
||||
|
||||
- mlz: master from forge.frm2.tum.de:29418/sine2020/secop/playground
|
||||
this is not present at git.psi.ch:sinqdev/frappy.git!
|
||||
- master: the last synced state between mlz and wip/work, except an added README.md
|
||||
(this does NOT contain local repo files only, however, all common files work/mlz should match)
|
||||
- core: the modifications of the core frappy parts (to be going through gerrit)
|
||||
- work: current working version, usually in use on /home/l_samenv/frappy (and on neutron instruments)
|
||||
this should be a copy of an earlier state of the wip branch
|
||||
- wip: current test version, usually in use on /home/l_samenv/frappy_wip
|
||||
IMPORTANT: make commits containing either only files to be pushed to Gerrit or only
|
||||
PSI internal files, not mixed. Mark local commits with '[PSI]' in the commit message.
|
||||
|
||||
|
||||
master --> mlz # these branches match after a sync step, but they might have a different history
|
||||
master --> work --> wip
|
||||
|
||||
apply commits from mlz to master: (rebase ?) or use cherry-pick:
|
||||
|
||||
git cherry-pick <sha1>..<sha2>
|
||||
|
||||
where sha1 is the last commit already in wip, and sha2 ist the last commit to be applied
|
||||
(for a single commit <sha1>.. may be omitted)
|
||||
|
||||
the wip branch is also present in an other directory (currently zolliker/switchdrive/gitmlz/frappy),
|
||||
where commits may be cherry picked for input to Gerrit. As generally in the review process some additional
|
||||
changes are done, eventually a sync step should happen:
|
||||
|
||||
1) ideally, this is done when work and wip match
|
||||
2) make sure branches mlz, master, wip and work are in syns with remote, push/pull otherwise
|
||||
3) cherry-pick commits from mlz to master
|
||||
4) make sure master and mlz branches match (git diff --name-only master..wip should only return README.md)
|
||||
5) create branch new_work from master
|
||||
6) go through commits in wip and sort out:
|
||||
- core commits already pushed through gerrit are skipped
|
||||
- all other commits are to be cherry-picked
|
||||
7) when arrived at the point where the new working version should be,
|
||||
copy new_wip branch to work with 'git checkout work;git checkout new_wip .'
|
||||
(note the dot!) and then commit this.
|
||||
8) continue with (6) if wip and work should differ
|
||||
9) do like (7), but for wip branch
|
||||
10) delete new_wip branch, push master, wip and work branches
|
||||
|
||||
|
||||
## Procedure to update PPMS
|
||||
|
||||
1) git checkout wip (or work, whatever state to copy to ppms)
|
||||
2) git checkout -B ppms # local branch ?
|
||||
3) assume PPMSData is mounted on /Volumes/PPMSData
|
||||
|
||||
cp -r secop_psi /Volumes/PPMSData/zolliker/frappy/secop_psi
|
||||
cp -r secop /Volumes/PPMSData/zolliker/frappy/secop
|
||||
|
||||
it may be that additional folder have to copied ...
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
# pylint: disable=invalid-name
|
||||
# -*- coding: utf-8 -*-
|
||||
# *****************************************************************************
|
||||
#
|
||||
# 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 sys
|
||||
import argparse
|
||||
from os import path
|
||||
|
||||
# Path magic to make python find our stuff.
|
||||
# also remember our basepath (for etc, pid lookup, etc)
|
||||
basepath = path.abspath(path.join(sys.path[0], '..'))
|
||||
etc_path = path.join(basepath, 'etc')
|
||||
pid_path = path.join(basepath, 'pid')
|
||||
log_path = path.join(basepath, 'log')
|
||||
# sys.path[0] = path.join(basepath, 'src')
|
||||
sys.path[0] = basepath
|
||||
|
||||
# do not move above!
|
||||
import mlzlog
|
||||
from secop.client.console import ClientConsole
|
||||
|
||||
|
||||
def parseArgv(argv):
|
||||
parser = argparse.ArgumentParser(description="Connect to a SECoP server")
|
||||
loggroup = parser.add_mutually_exclusive_group()
|
||||
loggroup.add_argument("-v", "--verbose",
|
||||
help="Output lots of diagnostic information",
|
||||
action='store_true', default=False)
|
||||
loggroup.add_argument("-q", "--quiet", help="suppress non-error messages",
|
||||
action='store_true', default=False)
|
||||
parser.add_argument("name",
|
||||
type=str,
|
||||
help="Name of the instance.\n"
|
||||
" Uses etc/name.cfg for configuration\n",)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main(argv=None):
|
||||
if argv is None:
|
||||
argv = sys.argv
|
||||
|
||||
args = parseArgv(argv[1:])
|
||||
|
||||
loglevel = 'debug' if args.verbose else ('error' if args.quiet else 'info')
|
||||
mlzlog.initLogging('console', loglevel, log_path)
|
||||
|
||||
console = ClientConsole(args.name, basepath)
|
||||
|
||||
try:
|
||||
console.run()
|
||||
except KeyboardInterrupt:
|
||||
console.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main(sys.argv))
|
||||
25
cfg/ls370res.cfg
Normal file
25
cfg/ls370res.cfg
Normal file
@@ -0,0 +1,25 @@
|
||||
[NODE]
|
||||
id = ls370res.psi.ch
|
||||
description = Lsc370 Test
|
||||
|
||||
[INTERFACE]
|
||||
uri = tcp://5000
|
||||
|
||||
[lsmain_iodev]
|
||||
description = the communication device
|
||||
class = secop_psi.ls370res.StringIO
|
||||
uri = lollypop-ts:3001
|
||||
|
||||
[lsmain]
|
||||
class = secop_psi.ls370res.Main
|
||||
description = main control of Lsc controller
|
||||
uri = lollypop-ts:3001
|
||||
|
||||
[res]
|
||||
class = secop_psi.ls370res.ResChannel
|
||||
iexc = '1mA'
|
||||
channel = 5
|
||||
description = resistivity
|
||||
main = lsmain
|
||||
# the auto created iodev from lsmain:
|
||||
iodev = lsmain_iodev
|
||||
@@ -1,20 +1,24 @@
|
||||
[node LscSIM.psi.ch]
|
||||
[NODE]
|
||||
id = ls370res.psi.ch
|
||||
description = Lsc370 Test
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindto = 0.0.0.0
|
||||
bindport = 5000
|
||||
[INTERFACE]
|
||||
uri = tcp://5000
|
||||
|
||||
[module lsmain]
|
||||
class = secop_psi.ls370res.Main
|
||||
description = main control of Lsc controller
|
||||
[lsmain_iodev]
|
||||
description = the communication device
|
||||
class = secop_psi.ls370res.StringIO
|
||||
uri = localhost:4567
|
||||
|
||||
[module res]
|
||||
[lsmain]
|
||||
class = secop_psi.ls370res.Main
|
||||
description = main control of Lsc controller
|
||||
iodev = lsmain_iodev
|
||||
|
||||
[res]
|
||||
class = secop_psi.ls370res.ResChannel
|
||||
vexc = '2mV'
|
||||
channel = 3
|
||||
iexc = '1mA'
|
||||
channel = 5
|
||||
description = resistivity
|
||||
main = lsmain
|
||||
# the auto created iodev from lsmain:
|
||||
|
||||
70
cfg/mb11.cfg
Normal file
70
cfg/mb11.cfg
Normal file
@@ -0,0 +1,70 @@
|
||||
[seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
# uri will be automatic
|
||||
|
||||
[ts]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ts.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvs.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvd.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[pstat]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pstat.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[pdyn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pdyn.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tneck1]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck1.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tneck2]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck2.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tnvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvs.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tnvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvd.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[mf]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = mf.mb11.config
|
||||
remote_paths = .
|
||||
|
||||
[tcoil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tcoil.mb11.config
|
||||
remote_paths = .
|
||||
5
cfg/ori.cfg
Normal file
5
cfg/ori.cfg
Normal file
@@ -0,0 +1,5 @@
|
||||
[seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
# uri = tcp://samenv.psi.ch:8642
|
||||
|
||||
124
cfg/ppms2.cfg
Normal file
124
cfg/ppms2.cfg
Normal file
@@ -0,0 +1,124 @@
|
||||
[NODE]
|
||||
id = PPMS.psi.ch
|
||||
description = PPMS at PSI
|
||||
|
||||
[INTERFACE]
|
||||
uri = 5000
|
||||
|
||||
[tt]
|
||||
class = secop_psi.ppms.Temp
|
||||
description = main temperature
|
||||
iodev = ppms
|
||||
|
||||
[mf]
|
||||
class = secop_psi.ppms.Field
|
||||
target.min = -9
|
||||
target.max = 9
|
||||
.description = magnetic field
|
||||
.iodev = ppms
|
||||
|
||||
[pos]
|
||||
class = secop_psi.ppms.Position
|
||||
.description = sample rotator
|
||||
.iodev = ppms
|
||||
|
||||
[lev]
|
||||
class = secop_psi.ppms.Level
|
||||
.description = helium level
|
||||
.iodev = ppms
|
||||
|
||||
[chamber]
|
||||
class = secop_psi.ppms.Chamber
|
||||
.description = chamber state
|
||||
.iodev = ppms
|
||||
|
||||
[r1]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 1
|
||||
.no = 1
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r2]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 2
|
||||
.no = 2
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r3]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 3
|
||||
.no = 3
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r4]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 4
|
||||
.no = 4
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[i1]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 1
|
||||
.no = 1
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i2]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 2
|
||||
.no = 2
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i3]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 3
|
||||
.no = 3
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i4]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 4
|
||||
.no = 4
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[v1]
|
||||
class = secop_psi.ppms.DriverChannel
|
||||
.description = voltage channel 1
|
||||
.no = 1
|
||||
value.unit = V
|
||||
.iodev = ppms
|
||||
|
||||
[v2]
|
||||
class = secop_psi.ppms.DriverChannel
|
||||
.description = voltage channel 2
|
||||
.no = 2
|
||||
value.unit = V
|
||||
.iodev = ppms
|
||||
|
||||
[tv]
|
||||
class = secop_psi.ppms.UserChannel
|
||||
.description = VTI temperature
|
||||
enabled = 1
|
||||
value.unit = K
|
||||
.iodev = ppms
|
||||
|
||||
[ts]
|
||||
class = secop_psi.ppms.UserChannel
|
||||
.description = sample temperature
|
||||
enabled = 1
|
||||
value.unit = K
|
||||
.iodev = ppms
|
||||
|
||||
[ppms]
|
||||
class = secop_psi.ppms.Main
|
||||
.description = the main and poller module
|
||||
.class_id = QD.MULTIVU.PPMS.1
|
||||
.visibility = 3
|
||||
pollinterval = 2
|
||||
124
cfg/ppmssim.cfg
Normal file
124
cfg/ppmssim.cfg
Normal file
@@ -0,0 +1,124 @@
|
||||
[NODE]
|
||||
id = PPMS.psi.ch
|
||||
description = PPMS at PSI
|
||||
|
||||
[INTERFACE]
|
||||
uri = tcp://5000
|
||||
|
||||
[tt]
|
||||
class = secop_psi.ppms.Temp
|
||||
description = main temperature
|
||||
iodev = ppms
|
||||
|
||||
[mf]
|
||||
class = secop_psi.ppms.Field
|
||||
target.min = -9
|
||||
target.max = 9
|
||||
.description = magnetic field
|
||||
.iodev = ppms
|
||||
|
||||
[pos]
|
||||
class = secop_psi.ppms.Position
|
||||
.description = sample rotator
|
||||
.iodev = ppms
|
||||
|
||||
[lev]
|
||||
class = secop_psi.ppms.Level
|
||||
.description = helium level
|
||||
.iodev = ppms
|
||||
|
||||
[chamber]
|
||||
class = secop_psi.ppms.Chamber
|
||||
.description = chamber state
|
||||
.iodev = ppms
|
||||
|
||||
[r1]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 1
|
||||
.no = 1
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r2]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 2
|
||||
.no = 2
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r3]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 3
|
||||
.no = 3
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r4]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 4
|
||||
.no = 4
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[i1]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 1
|
||||
.no = 1
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i2]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 2
|
||||
.no = 2
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i3]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 3
|
||||
.no = 3
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i4]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 4
|
||||
.no = 4
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[v1]
|
||||
class = secop_psi.ppms.DriverChannel
|
||||
.description = voltage channel 1
|
||||
.no = 1
|
||||
value.unit = V
|
||||
.iodev = ppms
|
||||
|
||||
[v2]
|
||||
class = secop_psi.ppms.DriverChannel
|
||||
.description = voltage channel 2
|
||||
.no = 2
|
||||
value.unit = V
|
||||
.iodev = ppms
|
||||
|
||||
[tv]
|
||||
class = secop_psi.ppms.UserChannel
|
||||
.description = VTI temperature
|
||||
enabled = 1
|
||||
value.unit = K
|
||||
.iodev = ppms
|
||||
|
||||
[ts]
|
||||
class = secop_psi.ppms.UserChannel
|
||||
.description = sample temperature
|
||||
enabled = 1
|
||||
value.unit = K
|
||||
.iodev = ppms
|
||||
|
||||
[ppms]
|
||||
class = secop_psi.ppms.Main
|
||||
.description = the main and poller module
|
||||
.class_id = QD.MULTIVU.PPMS.1
|
||||
.visibility = 3
|
||||
pollinterval = 2
|
||||
126
cfg/ppmswin.cfg
Normal file
126
cfg/ppmswin.cfg
Normal file
@@ -0,0 +1,126 @@
|
||||
[NODE]
|
||||
id = PPMS.psi.ch
|
||||
description = PPMS at PSI
|
||||
|
||||
[INTERFACE]
|
||||
uri = tcp://5000
|
||||
|
||||
[tt]
|
||||
class = secop_psi.ppms.Temp
|
||||
description = main temperature
|
||||
iodev = ppms
|
||||
|
||||
[mf]
|
||||
class = secop_psi.ppms.Field
|
||||
target.min = -9
|
||||
target.max = 9
|
||||
.description = magnetic field
|
||||
.iodev = ppms
|
||||
|
||||
[pos]
|
||||
class = secop_psi.ppms.Position
|
||||
.description = sample rotator
|
||||
.iodev = ppms
|
||||
|
||||
[lev]
|
||||
class = secop_psi.ppms.Level
|
||||
.description = helium level
|
||||
.iodev = ppms
|
||||
|
||||
[chamber]
|
||||
class = secop_psi.ppms.Chamber
|
||||
.description = chamber state
|
||||
.iodev = ppms
|
||||
|
||||
[r1]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 1
|
||||
.no = 1
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r2]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 2
|
||||
.no = 2
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r3]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 3
|
||||
.no = 3
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[r4]
|
||||
class = secop_psi.ppms.BridgeChannel
|
||||
.description = resistivity channel 4
|
||||
.no = 4
|
||||
value.unit = Ohm
|
||||
.iodev = ppms
|
||||
|
||||
[i1]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 1
|
||||
.no = 1
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i2]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 2
|
||||
.no = 2
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i3]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 3
|
||||
.no = 3
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[i4]
|
||||
class = secop_psi.ppms.Channel
|
||||
.description = current channel 4
|
||||
.no = 4
|
||||
value.unit = uA
|
||||
.iodev = ppms
|
||||
|
||||
[v1]
|
||||
class = secop_psi.ppms.DriverChannel
|
||||
.description = voltage channel 1
|
||||
.no = 1
|
||||
value.unit = V
|
||||
.iodev = ppms
|
||||
|
||||
[v2]
|
||||
class = secop_psi.ppms.DriverChannel
|
||||
.description = voltage channel 2
|
||||
.no = 2
|
||||
value.unit = V
|
||||
.iodev = ppms
|
||||
|
||||
[tv]
|
||||
class = secop_psi.ppms.UserChannel
|
||||
.description = VTI temperature
|
||||
enabled = 0
|
||||
linkenable = ts
|
||||
value.unit = K
|
||||
.iodev = ppms
|
||||
|
||||
[ts]
|
||||
class = secop_psi.ppms.UserChannel
|
||||
.description = sample temperature
|
||||
enabled = 0
|
||||
linkenable = tv
|
||||
value.unit = K
|
||||
.iodev = ppms
|
||||
|
||||
[ppms]
|
||||
class = secop_psi.ppms.Main
|
||||
.description = the main and poller module
|
||||
.class_id = QD.MULTIVU.PPMS.1
|
||||
#.visibility = 3
|
||||
pollinterval = 2
|
||||
23
cfg/prep2.cfg
Normal file
23
cfg/prep2.cfg
Normal file
@@ -0,0 +1,23 @@
|
||||
[node ori1.psi.ch]
|
||||
description = ori1 over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8642
|
||||
|
||||
[module tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = tt.ori1.config
|
||||
remote_paths = .
|
||||
|
||||
[module nv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = nv.ori1.config
|
||||
remote_paths = .
|
||||
119
cfg/prep5.cfg
Normal file
119
cfg/prep5.cfg
Normal file
@@ -0,0 +1,119 @@
|
||||
[node ma11_dil4_ultrasound_sr.psi.ch]
|
||||
description = ma11_dil4_ultrasound_sr over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8645
|
||||
|
||||
[module tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = tt.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module nv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = nv.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module ln2fill]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ln2fill.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module hefill]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = hefill.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module tcoil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tcoil.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module table]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = table.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lnv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = lnv.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lpr]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = lpr.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lambdawatch]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = lambdawatch.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module ts]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = ts.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module treg]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = treg.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module tmon]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tmon.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module sorb]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = sorb.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module ultrasound]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ultrasound.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module fn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = fn.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module mirror]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = mirror.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module f]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = f.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module pars]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pars.ultrasound.addon
|
||||
remote_paths = .
|
||||
65
cfg/prep6.cfg
Normal file
65
cfg/prep6.cfg
Normal file
@@ -0,0 +1,65 @@
|
||||
[node varioxB_vb.psi.ch]
|
||||
description = varioxB_vb over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8646
|
||||
|
||||
[module tvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pstat]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pstat.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pdyn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pdyn.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck1]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck1.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck2]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck2.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module ts]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ts.vb.stick
|
||||
remote_paths = .
|
||||
35
cfg/sea.cfg
Normal file
35
cfg/sea.cfg
Normal file
@@ -0,0 +1,35 @@
|
||||
[node seatest.psi.ch]
|
||||
description = SEA test
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindto = 0.0.0.0
|
||||
bindport = 5002
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8645
|
||||
|
||||
#[module t1]
|
||||
#class = secop_psi.sea.SeaDrivable
|
||||
#iodev = seaconn
|
||||
#json_descr = tt.flamp.config
|
||||
#remote_paths = . t1
|
||||
|
||||
#[module tw1]
|
||||
#class = secop_psi.sea.SeaReadable
|
||||
#iodev = seaconn
|
||||
#json_descr = wall.lampovenwall.addon
|
||||
#remote_paths = tw1
|
||||
|
||||
#[module pv]
|
||||
#class = secop_psi.sea.SeaReadable
|
||||
#iodev = seaconn
|
||||
#json_descr = pv.flamp.config
|
||||
|
||||
#[module mf]
|
||||
#class = secop.Proxy
|
||||
#remote_class = secop_psi.ppms.Field
|
||||
#description = magnetic field
|
||||
#iodev = secnode
|
||||
7
cfg/sea/current.flamp.config.json
Normal file
7
cfg/sea/current.flamp.config.json
Normal file
@@ -0,0 +1,7 @@
|
||||
["current", [{"path": "", "type": "float", "kids": 6},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "current send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "i1", "type": "float"},
|
||||
{"path": "i2", "type": "float"},
|
||||
{"path": "i3", "type": "float"},
|
||||
{"path": "i4", "type": "float"}]]
|
||||
17
cfg/sea/f.ultrasound.addon.json
Normal file
17
cfg/sea/f.ultrasound.addon.json
Normal file
@@ -0,0 +1,17 @@
|
||||
["f", [{"path": "", "type": "float", "description": "frequency@I,q [Hz]", "kids": 16},
|
||||
{"path": "status_text", "type": "text"},
|
||||
{"path": "status_code", "type": "enum", "enum": {"DISABLED": 0, "IDLE": 100, "WARN": 200, "UNSTABLE": 270, "ERROR": 400}, "description": "current status of the Module"},
|
||||
{"path": "basefreq", "type": "float", "readonly": false, "cmd": "f basefreq", "description": "base frequency [Hz]"},
|
||||
{"path": "nr", "type": "int", "description": "number of records"},
|
||||
{"path": "freq", "type": "float", "readonly": false, "cmd": "f freq", "description": "target frequency [Hz]"},
|
||||
{"path": "amp", "type": "float", "readonly": false, "cmd": "f amp", "description": "amplitude [dBm]"},
|
||||
{"path": "control", "type": "bool", "readonly": false, "cmd": "f control", "description": "control loop on?"},
|
||||
{"path": "time", "type": "float", "readonly": false, "cmd": "f time", "description": "pulse start time [nsec]"},
|
||||
{"path": "size", "type": "float", "readonly": false, "cmd": "f size", "description": "pulse length (starting from time) [nsec]"},
|
||||
{"path": "pulselen", "type": "float", "description": "adjusted pulse length (integer number of periods) [nsec]"},
|
||||
{"path": "maxstep", "type": "float", "readonly": false, "cmd": "f maxstep", "description": "max frequency step [Hz]"},
|
||||
{"path": "minstep", "type": "float", "readonly": false, "cmd": "f minstep", "description": "min frequency step for slope calculation [Hz]"},
|
||||
{"path": "slope", "type": "float", "readonly": false, "cmd": "f slope", "description": "inphase/frequency slope"},
|
||||
{"path": "plot", "type": "bool", "readonly": false, "cmd": "f plot", "description": "create plot images"},
|
||||
{"path": "save", "type": "bool", "readonly": false, "cmd": "f save", "description": "save data"},
|
||||
{"path": "pollinterval", "type": "float", "readonly": false, "cmd": "f pollinterval", "description": "sleeptime between polls"}]]
|
||||
14
cfg/sea/fn.ultrasound.addon.json
Normal file
14
cfg/sea/fn.ultrasound.addon.json
Normal file
@@ -0,0 +1,14 @@
|
||||
["fn", [{"path": "", "type": "float", "kids": 13},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "fn send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "remote", "type": "bool", "readonly": false, "cmd": "fn remote"},
|
||||
{"path": "waveform", "type": "text", "readonly": false, "cmd": "fn waveform"},
|
||||
{"path": "freq", "type": "float", "readonly": false, "cmd": "fn freq"},
|
||||
{"path": "volt", "type": "float", "readonly": false, "cmd": "fn volt"},
|
||||
{"path": "offset", "type": "float", "readonly": false, "cmd": "fn offset"},
|
||||
{"path": "width", "type": "float", "readonly": false, "cmd": "fn width"},
|
||||
{"path": "burstfreq", "type": "float", "readonly": false, "cmd": "fn burstfreq"},
|
||||
{"path": "burstvolt", "type": "float", "readonly": false, "cmd": "fn burstvolt"},
|
||||
{"path": "burstcycles", "type": "int", "readonly": false, "cmd": "fn burstcycles"},
|
||||
{"path": "burstperiod", "type": "float", "readonly": false, "cmd": "fn burstperiod"},
|
||||
{"path": "burst", "type": "enum", "enum": {"continuous": 0, "burst": 1, "off": 2}, "readonly": false, "cmd": "fn burst"}]]
|
||||
17
cfg/sea/hefill.ma11.config.json
Normal file
17
cfg/sea/hefill.ma11.config.json
Normal file
@@ -0,0 +1,17 @@
|
||||
["hefill", [{"path": "", "type": "enum", "enum": {"watching": 0, "fill": 1, "inactive": 2}, "readonly": false, "cmd": "hefill", "kids": 16},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "hefill send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "state", "type": "text"},
|
||||
{"path": "readlevel", "type": "text", "readonly": false, "cmd": "hefill readlevel", "visibility": 3},
|
||||
{"path": "lowlevel", "type": "float", "readonly": false, "cmd": "hefill lowlevel"},
|
||||
{"path": "highlevel", "type": "float", "readonly": false, "cmd": "hefill highlevel"},
|
||||
{"path": "smooth", "type": "float"},
|
||||
{"path": "minfillminutes", "type": "float", "readonly": false, "cmd": "hefill minfillminutes"},
|
||||
{"path": "maxfillminutes", "type": "float", "readonly": false, "cmd": "hefill maxfillminutes"},
|
||||
{"path": "minholdhours", "type": "float", "readonly": false, "cmd": "hefill minholdhours"},
|
||||
{"path": "maxholdhours", "type": "float", "readonly": false, "cmd": "hefill maxholdhours"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "hefill tolerance"},
|
||||
{"path": "badreadingminutes", "type": "float", "readonly": false, "cmd": "hefill badreadingminutes"},
|
||||
{"path": "tubecoolingminutes", "type": "float", "readonly": false, "cmd": "hefill tubecoolingminutes"},
|
||||
{"path": "vessellimit", "type": "float", "readonly": false, "cmd": "hefill vessellimit"},
|
||||
{"path": "vext", "type": "float"}]]
|
||||
7
cfg/sea/lambdawatch.ma11.config.json
Normal file
7
cfg/sea/lambdawatch.ma11.config.json
Normal file
@@ -0,0 +1,7 @@
|
||||
["lambdawatch", [{"path": "", "type": "float", "kids": 6},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "lambdawatch send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "safefield", "type": "float", "readonly": false, "cmd": "lambdawatch safefield"},
|
||||
{"path": "maxfield", "type": "float", "readonly": false, "cmd": "lambdawatch maxfield"},
|
||||
{"path": "safetemp", "type": "float", "readonly": false, "cmd": "lambdawatch safetemp"},
|
||||
{"path": "coiltemp", "type": "text", "readonly": false, "cmd": "lambdawatch coiltemp"}]]
|
||||
15
cfg/sea/ln2fill.ma11.config.json
Normal file
15
cfg/sea/ln2fill.ma11.config.json
Normal file
@@ -0,0 +1,15 @@
|
||||
["ln2fill", [{"path": "", "type": "enum", "enum": {"watching": 0, "fill": 1, "inactive": 2}, "readonly": false, "cmd": "ln2fill", "kids": 14},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "ln2fill send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "state", "type": "text"},
|
||||
{"path": "readlevel", "type": "text", "readonly": false, "cmd": "ln2fill readlevel", "visibility": 3},
|
||||
{"path": "lowlevel", "type": "float", "readonly": false, "cmd": "ln2fill lowlevel"},
|
||||
{"path": "highlevel", "type": "float", "readonly": false, "cmd": "ln2fill highlevel"},
|
||||
{"path": "smooth", "type": "float"},
|
||||
{"path": "minfillminutes", "type": "float", "readonly": false, "cmd": "ln2fill minfillminutes"},
|
||||
{"path": "maxfillminutes", "type": "float", "readonly": false, "cmd": "ln2fill maxfillminutes"},
|
||||
{"path": "minholdhours", "type": "float", "readonly": false, "cmd": "ln2fill minholdhours"},
|
||||
{"path": "maxholdhours", "type": "float", "readonly": false, "cmd": "ln2fill maxholdhours"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "ln2fill tolerance"},
|
||||
{"path": "badreadingminutes", "type": "float", "readonly": false, "cmd": "ln2fill badreadingminutes"},
|
||||
{"path": "tubecoolingminutes", "type": "float", "readonly": false, "cmd": "ln2fill tubecoolingminutes"}]]
|
||||
39
cfg/sea/lnv.ma11.config.json
Normal file
39
cfg/sea/lnv.ma11.config.json
Normal file
@@ -0,0 +1,39 @@
|
||||
["lnv", [{"path": "", "type": "enum", "enum": {"off": 5, "fixed": 0, "controlling": 1, "close": 3, "open": 4}, "readonly": false, "cmd": "lnv", "kids": 12},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "lnv send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "lnv set"},
|
||||
{"path": "flowmax", "type": "float", "readonly": false, "cmd": "lnv flowmax"},
|
||||
{"path": "prop", "type": "float", "readonly": false, "cmd": "lnv prop"},
|
||||
{"path": "int", "type": "float", "readonly": false, "cmd": "lnv int"},
|
||||
{"path": "minpulse", "type": "enum", "enum": {"micro": 1, "short": 10, "long": 100}, "readonly": false, "cmd": "lnv minpulse", "description": "micro: 1 ms, short: 10 ms, long: 100 ms"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "lnv tolerance"},
|
||||
{"path": "speed", "type": "float"},
|
||||
{"path": "flow", "type": "float"},
|
||||
{"path": "pos", "type": "float", "kids": 2},
|
||||
{"path": "pos/norm", "type": "float", "readonly": false, "cmd": "lnv pos/norm"},
|
||||
{"path": "pos/max", "type": "float", "readonly": false, "cmd": "lnv pos/max"},
|
||||
{"path": "autoflow", "type": "none", "kids": 24},
|
||||
{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "lnv autoflow/suspended"},
|
||||
{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "lnv autoflow/prop"},
|
||||
{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "lnv autoflow/flowstd"},
|
||||
{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "lnv autoflow/flowlim"},
|
||||
{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "lnv autoflow/smooth"},
|
||||
{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "lnv autoflow/difSize"},
|
||||
{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "lnv autoflow/difRange"},
|
||||
{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "lnv autoflow/flowSize"},
|
||||
{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "lnv autoflow/convTime"},
|
||||
{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "lnv autoflow/Tmin"},
|
||||
{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "lnv autoflow/script"},
|
||||
{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "lnv autoflow/getTemp"},
|
||||
{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "lnv autoflow/getTset"},
|
||||
{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "lnv autoflow/getFlow"},
|
||||
{"path": "autoflow/difBuf", "type": "text"},
|
||||
{"path": "autoflow/flowBuf", "type": "text"},
|
||||
{"path": "autoflow/flowset", "type": "float"},
|
||||
{"path": "autoflow/flowmin", "type": "float"},
|
||||
{"path": "autoflow/flowmax", "type": "float"},
|
||||
{"path": "autoflow/difmin", "type": "float"},
|
||||
{"path": "autoflow/difmax", "type": "float"},
|
||||
{"path": "autoflow/setmin", "type": "float"},
|
||||
{"path": "autoflow/setmax", "type": "float"},
|
||||
{"path": "autoflow/flowtarget", "type": "float"}]]
|
||||
29
cfg/sea/lpr.ma11.config.json
Normal file
29
cfg/sea/lpr.ma11.config.json
Normal file
@@ -0,0 +1,29 @@
|
||||
["lpr", [{"path": "", "type": "float", "readonly": false, "cmd": "run lpr", "description": "lpr", "kids": 28},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "lpr send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "lpr mode"},
|
||||
{"path": "reg", "type": "float"},
|
||||
{"path": "output", "type": "float", "readonly": false, "cmd": "lpr output"},
|
||||
{"path": "ramptime", "type": "float", "readonly": false, "cmd": "lpr ramptime", "description": "time for ramping [sec] deltax = 1 or a factor 10"},
|
||||
{"path": "ramptol", "type": "float", "readonly": false, "cmd": "lpr ramptol", "description": "log of max. deviation when ramping"},
|
||||
{"path": "smoothtime", "type": "float", "readonly": false, "cmd": "lpr smoothtime", "description": "time for smoothing ramp near setpoint"},
|
||||
{"path": "invar", "type": "text", "readonly": false, "cmd": "lpr invar", "visibility": 3},
|
||||
{"path": "outvar", "type": "text", "readonly": false, "cmd": "lpr outvar", "visibility": 3},
|
||||
{"path": "prop", "type": "float", "readonly": false, "cmd": "lpr prop", "description": "smaller means more sensitive. a change of 'prop' on input -> a change of 100 % or a factor 10 on output"},
|
||||
{"path": "int", "type": "float", "readonly": false, "cmd": "lpr int", "description": "integration time (sec)"},
|
||||
{"path": "outmin", "type": "float", "readonly": false, "cmd": "lpr outmin", "description": "output for maximal decrease of input var."},
|
||||
{"path": "outmax", "type": "float", "readonly": false, "cmd": "lpr outmax", "description": "output for maximal increase of input var."},
|
||||
{"path": "inpfunction", "type": "enum", "enum": {"linear": 0, "logarithmic": 1}, "readonly": false, "cmd": "lpr inpfunction"},
|
||||
{"path": "inplinear", "type": "float", "readonly": false, "cmd": "lpr inplinear", "description": "function gets linear below about this value"},
|
||||
{"path": "outfunction", "type": "enum", "enum": {"linear": 0, "exponential": 1}, "readonly": false, "cmd": "lpr outfunction"},
|
||||
{"path": "outlinear", "type": "float", "readonly": false, "cmd": "lpr outlinear", "description": "function gets linear below about this value"},
|
||||
{"path": "precision", "type": "float", "readonly": false, "cmd": "lpr precision"},
|
||||
{"path": "deadband", "type": "float", "readonly": false, "cmd": "lpr deadband"},
|
||||
{"path": "maxdelta", "type": "float", "readonly": false, "cmd": "lpr maxdelta"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "lpr set"},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "running", "type": "int"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "lpr tolerance"},
|
||||
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "lpr maxwait"},
|
||||
{"path": "settle", "type": "float", "readonly": false, "cmd": "lpr settle"}]]
|
||||
119
cfg/sea/ma11_dil4_ultrasound_sr.cfg
Normal file
119
cfg/sea/ma11_dil4_ultrasound_sr.cfg
Normal file
@@ -0,0 +1,119 @@
|
||||
[node ma11_dil4_ultrasound_sr.psi.ch]
|
||||
description = ma11_dil4_ultrasound_sr over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8645
|
||||
|
||||
[module tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = tt.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module nv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = nv.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module ln2fill]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ln2fill.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module hefill]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = hefill.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module tcoil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tcoil.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module table]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = table.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lnv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = lnv.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lpr]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = lpr.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lambdawatch]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = lambdawatch.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module ts]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = ts.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module treg]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = treg.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module tmon]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tmon.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module sorb]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = sorb.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module ultrasound]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ultrasound.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module fn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = fn.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module mirror]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = mirror.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module f]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = f.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module pars]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pars.ultrasound.addon
|
||||
remote_paths = .
|
||||
35
cfg/sea/mf.mb11.config.json
Normal file
35
cfg/sea/mf.mb11.config.json
Normal file
@@ -0,0 +1,35 @@
|
||||
["mf", [{"path": "", "type": "float", "readonly": false, "cmd": "run mf", "kids": 8},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "mf send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "statustext", "type": "text"},
|
||||
{"path": "ramp", "type": "float", "readonly": false, "cmd": "mf ramp"},
|
||||
{"path": "persistent_mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "mf persistent_mode", "description": "hidden mode -1: completely off"},
|
||||
{"path": "gen", "type": "none", "kids": 13},
|
||||
{"path": "gen/persistent_delay", "type": "float", "readonly": false, "cmd": "mf gen/persistent_delay", "description": "timeout for going automatically into persistent mode"},
|
||||
{"path": "gen/tolerance", "type": "float", "readonly": false, "cmd": "mf gen/tolerance"},
|
||||
{"path": "gen/wait_switch_on", "type": "float", "readonly": false, "cmd": "mf gen/wait_switch_on"},
|
||||
{"path": "gen/wait_switch_off", "type": "float", "readonly": false, "cmd": "mf gen/wait_switch_off"},
|
||||
{"path": "gen/wait_stable_leads", "type": "float", "readonly": false, "cmd": "mf gen/wait_stable_leads"},
|
||||
{"path": "gen/wait_stable_field", "type": "float", "readonly": false, "cmd": "mf gen/wait_stable_field"},
|
||||
{"path": "gen/expectend", "type": "text"},
|
||||
{"path": "gen/trained_pos", "type": "float", "readonly": false, "cmd": "mf gen/trained_pos"},
|
||||
{"path": "gen/trained_neg", "type": "float", "readonly": false, "cmd": "mf gen/trained_neg"},
|
||||
{"path": "gen/profile", "type": "text", "readonly": false, "cmd": "mf gen/profile", "description": "syntax: <field1>:<ramp1> <field2>:<ramp2> ... (<ramp2> is the ramp limit from <field1> to <field2>)"},
|
||||
{"path": "gen/profile_training", "type": "text", "readonly": false, "cmd": "mf gen/profile_training", "description": "syntax: <field1>:<ramp1> <field2>:<ramp2> ... (<ramp2> is the ramp limit from <field1> to <field2>)"},
|
||||
{"path": "gen/limit", "type": "float", "readonly": false, "cmd": "mf gen/limit"},
|
||||
{"path": "gen/bipolar", "type": "bool", "readonly": false, "cmd": "mf gen/bipolar"},
|
||||
{"path": "ips", "type": "float", "kids": 13},
|
||||
{"path": "ips/ramp_slow", "type": "float", "readonly": false, "cmd": "mf ips/ramp_slow", "description": "ramp rate for coils Tesla/min."},
|
||||
{"path": "ips/ramp_fast", "type": "float", "description": "ramp rate for leads Tesla/min."},
|
||||
{"path": "ips/set_field", "type": "float", "readonly": false, "cmd": "mf ips/set_field"},
|
||||
{"path": "ips/heater", "type": "bool", "readonly": false, "cmd": "mf ips/heater"},
|
||||
{"path": "ips/ramp_state", "type": "enum", "enum": {"hold": 0, "to_zero": 1, "to_set": 2, "clamp": 3}, "readonly": false, "cmd": "mf ips/ramp_state"},
|
||||
{"path": "ips/leads_set", "type": "float", "description": "calculated current in the leads, converted to Tesla"},
|
||||
{"path": "ips/show_internals", "type": "bool", "readonly": false, "cmd": "mf ips/show_internals"},
|
||||
{"path": "ips/leads_meas", "type": "float", "description": "measured current in the leads, converted to Tesla"},
|
||||
{"path": "ips/volt", "type": "float"},
|
||||
{"path": "ips/symode", "type": "text"},
|
||||
{"path": "ips/engineering_password", "type": "text", "readonly": false, "cmd": "mf ips/engineering_password"},
|
||||
{"path": "ips/atob", "type": "float", "readonly": false, "cmd": "mf ips/atob", "description": "Amp/Tesla"},
|
||||
{"path": "ips/inductance", "type": "float", "readonly": false, "cmd": "mf ips/inductance", "description": "henries"}]]
|
||||
3
cfg/sea/mirror.ultrasound.addon.json
Normal file
3
cfg/sea/mirror.ultrasound.addon.json
Normal file
@@ -0,0 +1,3 @@
|
||||
["mirror", [{"path": "", "type": "text", "readonly": false, "cmd": "mirror", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "mirror send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]]
|
||||
51
cfg/sea/nv.ma11.config.json
Normal file
51
cfg/sea/nv.ma11.config.json
Normal file
@@ -0,0 +1,51 @@
|
||||
["nv", [{"path": "", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "close": 3, "open": 4}, "readonly": false, "cmd": "nv", "kids": 11},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "nv send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "motstat", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||
{"path": "flow", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "nv set"},
|
||||
{"path": "flowmax", "type": "float", "readonly": false, "cmd": "nv flowmax"},
|
||||
{"path": "flowp", "type": "float"},
|
||||
{"path": "span", "type": "float"},
|
||||
{"path": "ctrl", "type": "none", "kids": 13},
|
||||
{"path": "ctrl/regtext", "type": "text"},
|
||||
{"path": "ctrl/prop_o", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_o", "description": "prop [sec/mbar] when opening. above 4 mbar a 10 times lower value is used"},
|
||||
{"path": "ctrl/prop_c", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_c", "description": "prop [sec/mbar] when closing. above 4 mbar a 10 times lower value is used"},
|
||||
{"path": "ctrl/deriv_o", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_o", "description": "convergence target time [sec] when opening"},
|
||||
{"path": "ctrl/deriv_c", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_c", "description": "convergence target time [sec] when closing"},
|
||||
{"path": "ctrl/minpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_o", "description": "minimum close pulse [sec]"},
|
||||
{"path": "ctrl/minpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_c", "description": "standard close pulse [sec]"},
|
||||
{"path": "ctrl/hystpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_o", "description": "motor pulse to overcome hysteresis when opening"},
|
||||
{"path": "ctrl/hystpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_c", "description": "motor pulse to overcome hysteresis when closing"},
|
||||
{"path": "ctrl/tol", "type": "float", "readonly": false, "cmd": "nv ctrl/tol", "description": "valid below 3 mbar"},
|
||||
{"path": "ctrl/tolhigh", "type": "float", "readonly": false, "cmd": "nv ctrl/tolhigh", "description": "valid above 4 mbar"},
|
||||
{"path": "ctrl/openpulse", "type": "float", "readonly": false, "cmd": "nv ctrl/openpulse", "description": "time to open from completely closed to a significant opening"},
|
||||
{"path": "ctrl/adjust_minpulse", "type": "bool", "readonly": false, "cmd": "nv ctrl/adjust_minpulse", "description": "adjust minpulse automatically"},
|
||||
{"path": "autoflow", "type": "none", "kids": 24},
|
||||
{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "nv autoflow/suspended"},
|
||||
{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "nv autoflow/prop"},
|
||||
{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "nv autoflow/flowstd"},
|
||||
{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "nv autoflow/flowlim"},
|
||||
{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "nv autoflow/smooth"},
|
||||
{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "nv autoflow/difSize"},
|
||||
{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "nv autoflow/difRange"},
|
||||
{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "nv autoflow/flowSize"},
|
||||
{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "nv autoflow/convTime"},
|
||||
{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "nv autoflow/Tmin"},
|
||||
{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "nv autoflow/script"},
|
||||
{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "nv autoflow/getTemp"},
|
||||
{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "nv autoflow/getTset"},
|
||||
{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "nv autoflow/getFlow"},
|
||||
{"path": "autoflow/difBuf", "type": "text"},
|
||||
{"path": "autoflow/flowBuf", "type": "text"},
|
||||
{"path": "autoflow/flowset", "type": "float"},
|
||||
{"path": "autoflow/flowmin", "type": "float"},
|
||||
{"path": "autoflow/flowmax", "type": "float"},
|
||||
{"path": "autoflow/difmin", "type": "float"},
|
||||
{"path": "autoflow/difmax", "type": "float"},
|
||||
{"path": "autoflow/setmin", "type": "float"},
|
||||
{"path": "autoflow/setmax", "type": "float"},
|
||||
{"path": "autoflow/flowtarget", "type": "float"},
|
||||
{"path": "calib", "type": "none", "kids": 2},
|
||||
{"path": "calib/ln_per_min_per_mbar", "type": "float", "readonly": false, "cmd": "nv calib/ln_per_min_per_mbar"},
|
||||
{"path": "calib/mbar_offset", "type": "float", "readonly": false, "cmd": "nv calib/mbar_offset"}]]
|
||||
51
cfg/sea/nv.ori1.config.json
Normal file
51
cfg/sea/nv.ori1.config.json
Normal file
@@ -0,0 +1,51 @@
|
||||
["nv", [{"path": "", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "close": 3, "open": 4}, "readonly": false, "cmd": "nv", "kids": 11},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "nv send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "motstat", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||
{"path": "flow", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "nv set"},
|
||||
{"path": "flowmax", "type": "float", "readonly": false, "cmd": "nv flowmax"},
|
||||
{"path": "flowp", "type": "float"},
|
||||
{"path": "span", "type": "float"},
|
||||
{"path": "ctrl", "type": "none", "kids": 13},
|
||||
{"path": "ctrl/regtext", "type": "text"},
|
||||
{"path": "ctrl/prop_o", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_o", "description": "prop [sec/mbar] when opening. above 4 mbar a 10 times lower value is used"},
|
||||
{"path": "ctrl/prop_c", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_c", "description": "prop [sec/mbar] when closing. above 4 mbar a 10 times lower value is used"},
|
||||
{"path": "ctrl/deriv_o", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_o", "description": "convergence target time [sec] when opening"},
|
||||
{"path": "ctrl/deriv_c", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_c", "description": "convergence target time [sec] when closing"},
|
||||
{"path": "ctrl/minpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_o", "description": "minimum close pulse [sec]"},
|
||||
{"path": "ctrl/minpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_c", "description": "standard close pulse [sec]"},
|
||||
{"path": "ctrl/hystpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_o", "description": "motor pulse to overcome hysteresis when opening"},
|
||||
{"path": "ctrl/hystpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_c", "description": "motor pulse to overcome hysteresis when closing"},
|
||||
{"path": "ctrl/tol", "type": "float", "readonly": false, "cmd": "nv ctrl/tol", "description": "valid below 3 mbar"},
|
||||
{"path": "ctrl/tolhigh", "type": "float", "readonly": false, "cmd": "nv ctrl/tolhigh", "description": "valid above 4 mbar"},
|
||||
{"path": "ctrl/openpulse", "type": "float", "readonly": false, "cmd": "nv ctrl/openpulse", "description": "time to open from completely closed to a significant opening"},
|
||||
{"path": "ctrl/adjust_minpulse", "type": "bool", "readonly": false, "cmd": "nv ctrl/adjust_minpulse", "description": "adjust minpulse automatically"},
|
||||
{"path": "autoflow", "type": "none", "kids": 24},
|
||||
{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "nv autoflow/suspended"},
|
||||
{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "nv autoflow/prop"},
|
||||
{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "nv autoflow/flowstd"},
|
||||
{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "nv autoflow/flowlim"},
|
||||
{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "nv autoflow/smooth"},
|
||||
{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "nv autoflow/difSize"},
|
||||
{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "nv autoflow/difRange"},
|
||||
{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "nv autoflow/flowSize"},
|
||||
{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "nv autoflow/convTime"},
|
||||
{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "nv autoflow/Tmin"},
|
||||
{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "nv autoflow/script"},
|
||||
{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "nv autoflow/getTemp"},
|
||||
{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "nv autoflow/getTset"},
|
||||
{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "nv autoflow/getFlow"},
|
||||
{"path": "autoflow/difBuf", "type": "text"},
|
||||
{"path": "autoflow/flowBuf", "type": "text"},
|
||||
{"path": "autoflow/flowset", "type": "float"},
|
||||
{"path": "autoflow/flowmin", "type": "float"},
|
||||
{"path": "autoflow/flowmax", "type": "float"},
|
||||
{"path": "autoflow/difmin", "type": "float"},
|
||||
{"path": "autoflow/difmax", "type": "float"},
|
||||
{"path": "autoflow/setmin", "type": "float"},
|
||||
{"path": "autoflow/setmax", "type": "float"},
|
||||
{"path": "autoflow/flowtarget", "type": "float"},
|
||||
{"path": "calib", "type": "none", "kids": 2},
|
||||
{"path": "calib/ln_per_min_per_mbar", "type": "float", "readonly": false, "cmd": "nv calib/ln_per_min_per_mbar"},
|
||||
{"path": "calib/mbar_offset", "type": "float", "readonly": false, "cmd": "nv calib/mbar_offset"}]]
|
||||
23
cfg/sea/ori1.cfg
Normal file
23
cfg/sea/ori1.cfg
Normal file
@@ -0,0 +1,23 @@
|
||||
[node ori1.psi.ch]
|
||||
description = ori1 over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8642
|
||||
|
||||
[module tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = seaconn
|
||||
json_descr = tt.ori1.config
|
||||
remote_paths = .
|
||||
|
||||
[module nv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = nv.ori1.config
|
||||
remote_paths = .
|
||||
5
cfg/sea/pars.ultrasound.addon.json
Normal file
5
cfg/sea/pars.ultrasound.addon.json
Normal file
@@ -0,0 +1,5 @@
|
||||
["pars", [{"path": "", "type": "none", "kids": 4},
|
||||
{"path": "timestamp", "type": "text", "readonly": false, "cmd": "pars timestamp", "description": "unix timestamp"},
|
||||
{"path": "temperature", "type": "float", "readonly": false, "cmd": "pars temperature", "description": "T [K]"},
|
||||
{"path": "mf", "type": "float", "readonly": false, "cmd": "pars mf", "description": "field [T]"},
|
||||
{"path": "sr", "type": "float", "readonly": false, "cmd": "pars sr", "description": "rotaion angle [deg]"}]]
|
||||
6
cfg/sea/pdyn.mb11.config.json
Normal file
6
cfg/sea/pdyn.mb11.config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
["pdyn", [{"path": "", "type": "float", "kids": 5},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "pdyn send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "pdyn set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pdyn control"},
|
||||
{"path": "pos", "type": "float"}]]
|
||||
6
cfg/sea/pdyn.varioxB.config.json
Normal file
6
cfg/sea/pdyn.varioxB.config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
["pdyn", [{"path": "", "type": "float", "kids": 5},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "pdyn send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "pdyn set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pdyn control"},
|
||||
{"path": "pos", "type": "float"}]]
|
||||
6
cfg/sea/pstat.mb11.config.json
Normal file
6
cfg/sea/pstat.mb11.config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
["pstat", [{"path": "", "type": "float", "kids": 5},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "pstat send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "pstat set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pstat control"},
|
||||
{"path": "pos", "type": "float"}]]
|
||||
6
cfg/sea/pstat.varioxB.config.json
Normal file
6
cfg/sea/pstat.varioxB.config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
["pstat", [{"path": "", "type": "float", "kids": 5},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "pstat send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "pstat set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "pstat control"},
|
||||
{"path": "pos", "type": "float"}]]
|
||||
6
cfg/sea/pv.flamp.config.json
Normal file
6
cfg/sea/pv.flamp.config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
["pv", [{"path": "", "type": "float", "kids": 5},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "pv send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "sp1", "type": "text"},
|
||||
{"path": "sp2", "type": "text"},
|
||||
{"path": "sps", "type": "text"}]]
|
||||
3
cfg/sea/secop.test_secop4.config.json
Normal file
3
cfg/sea/secop.test_secop4.config.json
Normal file
@@ -0,0 +1,3 @@
|
||||
["secop", [{"path": "", "type": "text", "readonly": false, "cmd": "secop", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "secop send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]]
|
||||
29
cfg/sea/sorb.dil4.stick.json
Normal file
29
cfg/sea/sorb.dil4.stick.json
Normal file
@@ -0,0 +1,29 @@
|
||||
["sorb", [{"path": "", "type": "float", "readonly": false, "cmd": "run sorb", "description": "sorb", "kids": 28},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "sorb send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "sorb mode"},
|
||||
{"path": "reg", "type": "float"},
|
||||
{"path": "output", "type": "float", "readonly": false, "cmd": "sorb output"},
|
||||
{"path": "ramptime", "type": "float", "readonly": false, "cmd": "sorb ramptime", "description": "time for ramping [sec] deltax = 1 or a factor 10"},
|
||||
{"path": "ramptol", "type": "float", "readonly": false, "cmd": "sorb ramptol", "description": "log of max. deviation when ramping"},
|
||||
{"path": "smoothtime", "type": "float", "readonly": false, "cmd": "sorb smoothtime", "description": "time for smoothing ramp near setpoint"},
|
||||
{"path": "invar", "type": "text", "readonly": false, "cmd": "sorb invar", "visibility": 3},
|
||||
{"path": "outvar", "type": "text", "readonly": false, "cmd": "sorb outvar", "visibility": 3},
|
||||
{"path": "prop", "type": "float", "readonly": false, "cmd": "sorb prop", "description": "smaller means more sensitive. a change of 'prop' on input -> a change of 100 % or a factor 10 on output"},
|
||||
{"path": "int", "type": "float", "readonly": false, "cmd": "sorb int", "description": "integration time (sec)"},
|
||||
{"path": "outmin", "type": "float", "readonly": false, "cmd": "sorb outmin", "description": "output for maximal decrease of input var."},
|
||||
{"path": "outmax", "type": "float", "readonly": false, "cmd": "sorb outmax", "description": "output for maximal increase of input var."},
|
||||
{"path": "inpfunction", "type": "enum", "enum": {"linear": 0, "logarithmic": 1}, "readonly": false, "cmd": "sorb inpfunction"},
|
||||
{"path": "inplinear", "type": "float", "readonly": false, "cmd": "sorb inplinear", "description": "function gets linear below about this value"},
|
||||
{"path": "outfunction", "type": "enum", "enum": {"linear": 0, "exponential": 1}, "readonly": false, "cmd": "sorb outfunction"},
|
||||
{"path": "outlinear", "type": "float", "readonly": false, "cmd": "sorb outlinear", "description": "function gets linear below about this value"},
|
||||
{"path": "precision", "type": "float", "readonly": false, "cmd": "sorb precision"},
|
||||
{"path": "deadband", "type": "float", "readonly": false, "cmd": "sorb deadband"},
|
||||
{"path": "maxdelta", "type": "float", "readonly": false, "cmd": "sorb maxdelta"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "sorb set"},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "running", "type": "int"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "sorb tolerance"},
|
||||
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "sorb maxwait"},
|
||||
{"path": "settle", "type": "float", "readonly": false, "cmd": "sorb settle"}]]
|
||||
18
cfg/sea/table.ma11.config.json
Normal file
18
cfg/sea/table.ma11.config.json
Normal file
@@ -0,0 +1,18 @@
|
||||
["table", [{"path": "", "type": "none", "kids": 17},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "table send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "fix_tt_set_prop", "type": "bool", "readonly": false, "cmd": "table fix_tt_set_prop"},
|
||||
{"path": "val_tt_set_prop", "type": "float"},
|
||||
{"path": "tbl_tt_set_prop", "type": "text", "readonly": false, "cmd": "table tbl_tt_set_prop", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."},
|
||||
{"path": "fix_tt_set_integ", "type": "bool", "readonly": false, "cmd": "table fix_tt_set_integ"},
|
||||
{"path": "val_tt_set_integ", "type": "float"},
|
||||
{"path": "tbl_tt_set_integ", "type": "text", "readonly": false, "cmd": "table tbl_tt_set_integ", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."},
|
||||
{"path": "fix_tt_dblctrl_int2", "type": "bool", "readonly": false, "cmd": "table fix_tt_dblctrl_int2"},
|
||||
{"path": "val_tt_dblctrl_int2", "type": "float"},
|
||||
{"path": "tbl_tt_dblctrl_int2", "type": "text", "readonly": false, "cmd": "table tbl_tt_dblctrl_int2", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."},
|
||||
{"path": "fix_tt_dblctrl_prop_up", "type": "bool", "readonly": false, "cmd": "table fix_tt_dblctrl_prop_up"},
|
||||
{"path": "val_tt_dblctrl_prop_up", "type": "float"},
|
||||
{"path": "tbl_tt_dblctrl_prop_up", "type": "text", "readonly": false, "cmd": "table tbl_tt_dblctrl_prop_up", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."},
|
||||
{"path": "fix_tt_dblctrl_prop_lo", "type": "bool", "readonly": false, "cmd": "table fix_tt_dblctrl_prop_lo"},
|
||||
{"path": "val_tt_dblctrl_prop_lo", "type": "float"},
|
||||
{"path": "tbl_tt_dblctrl_prop_lo", "type": "text", "readonly": false, "cmd": "table tbl_tt_dblctrl_prop_lo", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}]]
|
||||
42
cfg/sea/tcoil.ma11.config.json
Normal file
42
cfg/sea/tcoil.ma11.config.json
Normal file
@@ -0,0 +1,42 @@
|
||||
["tcoil", [{"path": "", "type": "float", "kids": 11},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tcoil send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "excitation", "type": "float", "readonly": false, "cmd": "tcoil excitation", "visibility": 3},
|
||||
{"path": "td", "type": "float", "visibility": 3, "kids": 3},
|
||||
{"path": "td/enable", "type": "bool", "readonly": false, "cmd": "tcoil td/enable"},
|
||||
{"path": "td/r", "type": "float"},
|
||||
{"path": "td/curve", "type": "text", "readonly": false, "cmd": "tcoil td/curve", "kids": 3},
|
||||
{"path": "td/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil td/curve/adjust"},
|
||||
{"path": "td/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil td/curve/points"},
|
||||
{"path": "td/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil td/curve/cpoints"},
|
||||
{"path": "tc", "type": "float", "visibility": 3, "kids": 3},
|
||||
{"path": "tc/enable", "type": "bool", "readonly": false, "cmd": "tcoil tc/enable"},
|
||||
{"path": "tc/r", "type": "float"},
|
||||
{"path": "tc/curve", "type": "text", "readonly": false, "cmd": "tcoil tc/curve", "kids": 3},
|
||||
{"path": "tc/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil tc/curve/adjust"},
|
||||
{"path": "tc/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil tc/curve/points"},
|
||||
{"path": "tc/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil tc/curve/cpoints"},
|
||||
{"path": "tb", "type": "float", "visibility": 3, "kids": 3},
|
||||
{"path": "tb/enable", "type": "bool", "readonly": false, "cmd": "tcoil tb/enable"},
|
||||
{"path": "tb/r", "type": "float"},
|
||||
{"path": "tb/curve", "type": "text", "readonly": false, "cmd": "tcoil tb/curve", "kids": 3},
|
||||
{"path": "tb/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil tb/curve/adjust"},
|
||||
{"path": "tb/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil tb/curve/points"},
|
||||
{"path": "tb/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil tb/curve/cpoints"},
|
||||
{"path": "ta", "type": "float", "visibility": 3, "kids": 3},
|
||||
{"path": "ta/enable", "type": "bool", "readonly": false, "cmd": "tcoil ta/enable"},
|
||||
{"path": "ta/r", "type": "float"},
|
||||
{"path": "ta/curve", "type": "text", "readonly": false, "cmd": "tcoil ta/curve", "kids": 3},
|
||||
{"path": "ta/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil ta/curve/adjust"},
|
||||
{"path": "ta/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil ta/curve/points"},
|
||||
{"path": "ta/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil ta/curve/cpoints"},
|
||||
{"path": "ref", "type": "float", "visibility": 3, "kids": 3},
|
||||
{"path": "ref/enable", "type": "bool", "readonly": false, "cmd": "tcoil ref/enable"},
|
||||
{"path": "ref/r", "type": "float"},
|
||||
{"path": "ref/curve", "type": "text", "readonly": false, "cmd": "tcoil ref/curve", "kids": 3},
|
||||
{"path": "ref/curve/adjust", "type": "text", "readonly": false, "cmd": "tcoil ref/curve/adjust"},
|
||||
{"path": "ref/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tcoil ref/curve/points"},
|
||||
{"path": "ref/curve/cpoints", "type": "floatvarar", "readonly": false, "cmd": "tcoil ref/curve/cpoints"},
|
||||
{"path": "ext", "type": "float", "visibility": 3},
|
||||
{"path": "com", "type": "float", "visibility": 3},
|
||||
{"path": "gnd", "type": "float", "visibility": 3}]]
|
||||
4
cfg/sea/tcoil.mb11.config.json
Normal file
4
cfg/sea/tcoil.mb11.config.json
Normal file
@@ -0,0 +1,4 @@
|
||||
["tcoil", [{"path": "", "type": "float", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tcoil send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"}]]
|
||||
17
cfg/sea/test_secop4.cfg
Normal file
17
cfg/sea/test_secop4.cfg
Normal file
@@ -0,0 +1,17 @@
|
||||
[node test_secop4.psi.ch]
|
||||
description = test_secop4 over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8642
|
||||
|
||||
[module secop]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = secop.test_secop4.config
|
||||
remote_paths = .
|
||||
107
cfg/sea/tmon.dil4.stick.json
Normal file
107
cfg/sea/tmon.dil4.stick.json
Normal file
@@ -0,0 +1,107 @@
|
||||
["tmon", [{"path": "", "type": "int", "kids": 12},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tmon send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "autoscan", "type": "bool", "readonly": false, "cmd": "tmon autoscan", "kids": 4},
|
||||
{"path": "autoscan/synchronized", "type": "bool", "readonly": false, "cmd": "tmon autoscan/synchronized"},
|
||||
{"path": "autoscan/interval", "type": "text", "readonly": false, "cmd": "tmon autoscan/interval"},
|
||||
{"path": "autoscan/pause", "type": "text", "readonly": false, "cmd": "tmon autoscan/pause"},
|
||||
{"path": "autoscan/dwell", "type": "text", "readonly": false, "cmd": "tmon autoscan/dwell"},
|
||||
{"path": "sorb", "type": "float", "kids": 14},
|
||||
{"path": "sorb/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon sorb/active"},
|
||||
{"path": "sorb/autorange", "type": "bool", "readonly": false, "cmd": "tmon sorb/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "sorb/range", "type": "text", "readonly": false, "cmd": "tmon sorb/range", "description": "resistance range in Ohm"},
|
||||
{"path": "sorb/range_num", "type": "int"},
|
||||
{"path": "sorb/excitation", "type": "text", "readonly": false, "cmd": "tmon sorb/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "sorb/excitation_num", "type": "int"},
|
||||
{"path": "sorb/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "sorb/pause", "type": "int", "readonly": false, "cmd": "tmon sorb/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "sorb/filter", "type": "int", "readonly": false, "cmd": "tmon sorb/filter", "description": "filter average time [sec]"},
|
||||
{"path": "sorb/dwell", "type": "int", "readonly": false, "cmd": "tmon sorb/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "sorb/status", "type": "text"},
|
||||
{"path": "sorb/curve", "type": "text", "readonly": false, "cmd": "tmon sorb/curve", "kids": 1},
|
||||
{"path": "sorb/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon sorb/curve/points", "visibility": 3},
|
||||
{"path": "sorb/alarm", "type": "float", "readonly": false, "cmd": "tmon sorb/alarm"},
|
||||
{"path": "sorb/raw", "type": "float"},
|
||||
{"path": "onek", "type": "float", "kids": 14},
|
||||
{"path": "onek/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon onek/active"},
|
||||
{"path": "onek/autorange", "type": "bool", "readonly": false, "cmd": "tmon onek/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "onek/range", "type": "text", "readonly": false, "cmd": "tmon onek/range", "description": "resistance range in Ohm"},
|
||||
{"path": "onek/range_num", "type": "int"},
|
||||
{"path": "onek/excitation", "type": "text", "readonly": false, "cmd": "tmon onek/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "onek/excitation_num", "type": "int"},
|
||||
{"path": "onek/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "onek/pause", "type": "int", "readonly": false, "cmd": "tmon onek/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "onek/filter", "type": "int", "readonly": false, "cmd": "tmon onek/filter", "description": "filter average time [sec]"},
|
||||
{"path": "onek/dwell", "type": "int", "readonly": false, "cmd": "tmon onek/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "onek/status", "type": "text"},
|
||||
{"path": "onek/curve", "type": "text", "readonly": false, "cmd": "tmon onek/curve", "kids": 1},
|
||||
{"path": "onek/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon onek/curve/points", "visibility": 3},
|
||||
{"path": "onek/alarm", "type": "float", "readonly": false, "cmd": "tmon onek/alarm"},
|
||||
{"path": "onek/raw", "type": "float"},
|
||||
{"path": "stillt", "type": "float", "kids": 14},
|
||||
{"path": "stillt/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon stillt/active"},
|
||||
{"path": "stillt/autorange", "type": "bool", "readonly": false, "cmd": "tmon stillt/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "stillt/range", "type": "text", "readonly": false, "cmd": "tmon stillt/range", "description": "resistance range in Ohm"},
|
||||
{"path": "stillt/range_num", "type": "int"},
|
||||
{"path": "stillt/excitation", "type": "text", "readonly": false, "cmd": "tmon stillt/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "stillt/excitation_num", "type": "int"},
|
||||
{"path": "stillt/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "stillt/pause", "type": "int", "readonly": false, "cmd": "tmon stillt/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "stillt/filter", "type": "int", "readonly": false, "cmd": "tmon stillt/filter", "description": "filter average time [sec]"},
|
||||
{"path": "stillt/dwell", "type": "int", "readonly": false, "cmd": "tmon stillt/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "stillt/status", "type": "text"},
|
||||
{"path": "stillt/curve", "type": "text", "readonly": false, "cmd": "tmon stillt/curve", "kids": 1},
|
||||
{"path": "stillt/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon stillt/curve/points", "visibility": 3},
|
||||
{"path": "stillt/alarm", "type": "float", "readonly": false, "cmd": "tmon stillt/alarm"},
|
||||
{"path": "stillt/raw", "type": "float"},
|
||||
{"path": "sample", "type": "float", "kids": 14},
|
||||
{"path": "sample/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon sample/active"},
|
||||
{"path": "sample/autorange", "type": "bool", "readonly": false, "cmd": "tmon sample/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "sample/range", "type": "text", "readonly": false, "cmd": "tmon sample/range", "description": "resistance range in Ohm"},
|
||||
{"path": "sample/range_num", "type": "int"},
|
||||
{"path": "sample/excitation", "type": "text", "readonly": false, "cmd": "tmon sample/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "sample/excitation_num", "type": "int"},
|
||||
{"path": "sample/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "sample/pause", "type": "int", "readonly": false, "cmd": "tmon sample/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "sample/filter", "type": "int", "readonly": false, "cmd": "tmon sample/filter", "description": "filter average time [sec]"},
|
||||
{"path": "sample/dwell", "type": "int", "readonly": false, "cmd": "tmon sample/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "sample/status", "type": "text"},
|
||||
{"path": "sample/curve", "type": "text", "readonly": false, "cmd": "tmon sample/curve", "kids": 1},
|
||||
{"path": "sample/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon sample/curve/points", "visibility": 3},
|
||||
{"path": "sample/alarm", "type": "float", "readonly": false, "cmd": "tmon sample/alarm"},
|
||||
{"path": "sample/raw", "type": "float"},
|
||||
{"path": "samplehtr", "type": "float", "kids": 14},
|
||||
{"path": "samplehtr/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon samplehtr/active"},
|
||||
{"path": "samplehtr/autorange", "type": "bool", "readonly": false, "cmd": "tmon samplehtr/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "samplehtr/range", "type": "text", "readonly": false, "cmd": "tmon samplehtr/range", "description": "resistance range in Ohm"},
|
||||
{"path": "samplehtr/range_num", "type": "int"},
|
||||
{"path": "samplehtr/excitation", "type": "text", "readonly": false, "cmd": "tmon samplehtr/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "samplehtr/excitation_num", "type": "int"},
|
||||
{"path": "samplehtr/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "samplehtr/pause", "type": "int", "readonly": false, "cmd": "tmon samplehtr/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "samplehtr/filter", "type": "int", "readonly": false, "cmd": "tmon samplehtr/filter", "description": "filter average time [sec]"},
|
||||
{"path": "samplehtr/dwell", "type": "int", "readonly": false, "cmd": "tmon samplehtr/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "samplehtr/status", "type": "text"},
|
||||
{"path": "samplehtr/curve", "type": "text", "readonly": false, "cmd": "tmon samplehtr/curve", "kids": 1},
|
||||
{"path": "samplehtr/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon samplehtr/curve/points", "visibility": 3},
|
||||
{"path": "samplehtr/alarm", "type": "float", "readonly": false, "cmd": "tmon samplehtr/alarm"},
|
||||
{"path": "samplehtr/raw", "type": "float"},
|
||||
{"path": "mix", "type": "float", "kids": 14},
|
||||
{"path": "mix/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "tmon mix/active"},
|
||||
{"path": "mix/autorange", "type": "bool", "readonly": false, "cmd": "tmon mix/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "mix/range", "type": "text", "readonly": false, "cmd": "tmon mix/range", "description": "resistance range in Ohm"},
|
||||
{"path": "mix/range_num", "type": "int"},
|
||||
{"path": "mix/excitation", "type": "text", "readonly": false, "cmd": "tmon mix/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "mix/excitation_num", "type": "int"},
|
||||
{"path": "mix/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "mix/pause", "type": "int", "readonly": false, "cmd": "tmon mix/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "mix/filter", "type": "int", "readonly": false, "cmd": "tmon mix/filter", "description": "filter average time [sec]"},
|
||||
{"path": "mix/dwell", "type": "int", "readonly": false, "cmd": "tmon mix/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "mix/status", "type": "text"},
|
||||
{"path": "mix/curve", "type": "text", "readonly": false, "cmd": "tmon mix/curve", "kids": 1},
|
||||
{"path": "mix/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tmon mix/curve/points", "visibility": 3},
|
||||
{"path": "mix/alarm", "type": "float", "readonly": false, "cmd": "tmon mix/alarm"},
|
||||
{"path": "mix/raw", "type": "float"},
|
||||
{"path": "analog2", "type": "float", "readonly": false, "cmd": "tmon analog2"},
|
||||
{"path": "remote", "type": "bool"},
|
||||
{"path": "display", "type": "text", "readonly": false, "cmd": "tmon display"}]]
|
||||
4
cfg/sea/tneck1.mb11.config.json
Normal file
4
cfg/sea/tneck1.mb11.config.json
Normal file
@@ -0,0 +1,4 @@
|
||||
["tneck1", [{"path": "", "type": "float", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tneck1 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"}]]
|
||||
8
cfg/sea/tneck1.varioxB.config.json
Normal file
8
cfg/sea/tneck1.varioxB.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tneck1", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tneck1 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tneck1 set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tneck1 control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
4
cfg/sea/tneck2.mb11.config.json
Normal file
4
cfg/sea/tneck2.mb11.config.json
Normal file
@@ -0,0 +1,4 @@
|
||||
["tneck2", [{"path": "", "type": "float", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tneck2 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"}]]
|
||||
8
cfg/sea/tneck2.varioxB.config.json
Normal file
8
cfg/sea/tneck2.varioxB.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tneck2", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tneck2 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tneck2 set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tneck2 control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
4
cfg/sea/tnvd.mb11.config.json
Normal file
4
cfg/sea/tnvd.mb11.config.json
Normal file
@@ -0,0 +1,4 @@
|
||||
["tnvd", [{"path": "", "type": "float", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tnvd send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"}]]
|
||||
8
cfg/sea/tnvd.varioxB.config.json
Normal file
8
cfg/sea/tnvd.varioxB.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tnvd", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tnvd send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tnvd set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tnvd control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
4
cfg/sea/tnvs.mb11.config.json
Normal file
4
cfg/sea/tnvs.mb11.config.json
Normal file
@@ -0,0 +1,4 @@
|
||||
["tnvs", [{"path": "", "type": "float", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tnvs send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"}]]
|
||||
8
cfg/sea/tnvs.varioxB.config.json
Normal file
8
cfg/sea/tnvs.varioxB.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tnvs", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tnvs send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tnvs set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tnvs control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
78
cfg/sea/treg.dil4.stick.json
Normal file
78
cfg/sea/treg.dil4.stick.json
Normal file
@@ -0,0 +1,78 @@
|
||||
["treg", [{"path": "", "type": "int", "kids": 10},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "treg send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "autoscan", "type": "bool", "readonly": false, "cmd": "treg autoscan", "kids": 4},
|
||||
{"path": "autoscan/synchronized", "type": "bool", "readonly": false, "cmd": "treg autoscan/synchronized"},
|
||||
{"path": "autoscan/interval", "type": "text", "readonly": false, "cmd": "treg autoscan/interval"},
|
||||
{"path": "autoscan/pause", "type": "text", "readonly": false, "cmd": "treg autoscan/pause"},
|
||||
{"path": "autoscan/dwell", "type": "text", "readonly": false, "cmd": "treg autoscan/dwell"},
|
||||
{"path": "sample", "type": "float", "kids": 14},
|
||||
{"path": "sample/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "treg sample/active"},
|
||||
{"path": "sample/autorange", "type": "bool", "readonly": false, "cmd": "treg sample/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "sample/range", "type": "text", "readonly": false, "cmd": "treg sample/range", "description": "resistance range in Ohm"},
|
||||
{"path": "sample/range_num", "type": "int"},
|
||||
{"path": "sample/excitation", "type": "text", "readonly": false, "cmd": "treg sample/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "sample/excitation_num", "type": "int"},
|
||||
{"path": "sample/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "sample/pause", "type": "int", "readonly": false, "cmd": "treg sample/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "sample/filter", "type": "int", "readonly": false, "cmd": "treg sample/filter", "description": "filter average time [sec]"},
|
||||
{"path": "sample/dwell", "type": "int", "readonly": false, "cmd": "treg sample/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "sample/status", "type": "text"},
|
||||
{"path": "sample/curve", "type": "text", "readonly": false, "cmd": "treg sample/curve", "kids": 1},
|
||||
{"path": "sample/curve/points", "type": "floatvarar", "readonly": false, "cmd": "treg sample/curve/points", "visibility": 3},
|
||||
{"path": "sample/alarm", "type": "float", "readonly": false, "cmd": "treg sample/alarm"},
|
||||
{"path": "sample/raw", "type": "float"},
|
||||
{"path": "mix", "type": "float", "kids": 14},
|
||||
{"path": "mix/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "treg mix/active"},
|
||||
{"path": "mix/autorange", "type": "bool", "readonly": false, "cmd": "treg mix/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "mix/range", "type": "text", "readonly": false, "cmd": "treg mix/range", "description": "resistance range in Ohm"},
|
||||
{"path": "mix/range_num", "type": "int"},
|
||||
{"path": "mix/excitation", "type": "text", "readonly": false, "cmd": "treg mix/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "mix/excitation_num", "type": "int"},
|
||||
{"path": "mix/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "mix/pause", "type": "int", "readonly": false, "cmd": "treg mix/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "mix/filter", "type": "int", "readonly": false, "cmd": "treg mix/filter", "description": "filter average time [sec]"},
|
||||
{"path": "mix/dwell", "type": "int", "readonly": false, "cmd": "treg mix/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "mix/status", "type": "text"},
|
||||
{"path": "mix/curve", "type": "text", "readonly": false, "cmd": "treg mix/curve", "kids": 1},
|
||||
{"path": "mix/curve/points", "type": "floatvarar", "readonly": false, "cmd": "treg mix/curve/points", "visibility": 3},
|
||||
{"path": "mix/alarm", "type": "float", "readonly": false, "cmd": "treg mix/alarm"},
|
||||
{"path": "mix/raw", "type": "float"},
|
||||
{"path": "samplehtr", "type": "float", "kids": 14},
|
||||
{"path": "samplehtr/active", "type": "enum", "enum": {"inactive": 0, "active": 1}, "readonly": false, "cmd": "treg samplehtr/active"},
|
||||
{"path": "samplehtr/autorange", "type": "bool", "readonly": false, "cmd": "treg samplehtr/autorange", "description": "autorange (common for all channels)"},
|
||||
{"path": "samplehtr/range", "type": "text", "readonly": false, "cmd": "treg samplehtr/range", "description": "resistance range in Ohm"},
|
||||
{"path": "samplehtr/range_num", "type": "int"},
|
||||
{"path": "samplehtr/excitation", "type": "text", "readonly": false, "cmd": "treg samplehtr/excitation", "description": "excitation with unit, i.e. 2uV or 3pA"},
|
||||
{"path": "samplehtr/excitation_num", "type": "int"},
|
||||
{"path": "samplehtr/excitation_mode", "type": "enum", "enum": {"voltage": 0, "current": 1, "off": 2}},
|
||||
{"path": "samplehtr/pause", "type": "int", "readonly": false, "cmd": "treg samplehtr/pause", "description": "pause time [sec] after channel change"},
|
||||
{"path": "samplehtr/filter", "type": "int", "readonly": false, "cmd": "treg samplehtr/filter", "description": "filter average time [sec]"},
|
||||
{"path": "samplehtr/dwell", "type": "int", "readonly": false, "cmd": "treg samplehtr/dwell", "description": "dwell time [sec]. Total time per channel: pause + filter + dwell"},
|
||||
{"path": "samplehtr/status", "type": "text"},
|
||||
{"path": "samplehtr/curve", "type": "text", "readonly": false, "cmd": "treg samplehtr/curve", "kids": 1},
|
||||
{"path": "samplehtr/curve/points", "type": "floatvarar", "readonly": false, "cmd": "treg samplehtr/curve/points", "visibility": 3},
|
||||
{"path": "samplehtr/alarm", "type": "float", "readonly": false, "cmd": "treg samplehtr/alarm"},
|
||||
{"path": "samplehtr/raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "treg set", "kids": 18},
|
||||
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "treg set/mode"},
|
||||
{"path": "set/reg", "type": "float"},
|
||||
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "treg set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "treg set/wramp"},
|
||||
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "treg set/smooth", "description": "smooth time (minutes)"},
|
||||
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "treg set/channel"},
|
||||
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "treg set/limit"},
|
||||
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "treg set/resist"},
|
||||
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "treg set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "treg set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "treg set/maxpower", "description": "maximum power [W]"},
|
||||
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "treg set/manualpower"},
|
||||
{"path": "set/power", "type": "float"},
|
||||
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "treg set/prop", "description": "bigger means more gain"},
|
||||
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "treg set/integ", "description": "[sec] bigger means slower"},
|
||||
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "treg set/deriv"},
|
||||
{"path": "analog2", "type": "float", "readonly": false, "cmd": "treg analog2"},
|
||||
{"path": "remote", "type": "bool"},
|
||||
{"path": "display", "type": "text", "readonly": false, "cmd": "treg display"}]]
|
||||
58
cfg/sea/ts.dil4.stick.json
Normal file
58
cfg/sea/ts.dil4.stick.json
Normal file
@@ -0,0 +1,58 @@
|
||||
["ts", [{"path": "", "type": "float", "readonly": false, "cmd": "run ts", "description": "ts", "kids": 19},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "ts send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "ts set", "visibility": 3},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "running", "type": "int"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "ts tolerance"},
|
||||
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "ts maxwait"},
|
||||
{"path": "settle", "type": "float", "readonly": false, "cmd": "ts settle"},
|
||||
{"path": "log", "type": "text", "readonly": false, "cmd": "ts log", "visibility": 3, "kids": 4},
|
||||
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "log/n", "type": "float", "visibility": 3},
|
||||
{"path": "ramp", "type": "float", "readonly": false, "cmd": "ts ramp", "description": "ramp [K/min]"},
|
||||
{"path": "heaterselect", "type": "enum", "enum": {"sample": 0, "mix": 1, "mix(temporarely)": 2}, "readonly": false, "cmd": "ts heaterselect"},
|
||||
{"path": "control", "type": "enum", "enum": {"off": 0, "sample": 6, "mix": 5}, "readonly": false, "cmd": "ts control", "description": "click off to reload list"},
|
||||
{"path": "heatermode", "type": "enum", "enum": {"disabled": -1, "off": 0, "on": 1}, "readonly": false, "cmd": "ts heatermode"},
|
||||
{"path": "heaterrange", "type": "enum", "enum": {"2uW": 1, "20uW": 2, "200uW": 3, "2mW": 4, "20mW": 5}, "readonly": false, "cmd": "ts heaterrange"},
|
||||
{"path": "autoheater", "type": "bool", "readonly": false, "cmd": "ts autoheater", "description": "automatic heater range", "kids": 12},
|
||||
{"path": "autoheater/wlp0", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp0", "description": "weak link base temperature (used for auto heater)", "visibility": 3},
|
||||
{"path": "autoheater/wlp1", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp1", "description": "weak link temperature at 1 uW (used for auto heater)", "visibility": 3},
|
||||
{"path": "autoheater/wlp2", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp2", "description": "weak link temperature at 10 uW (used for auto heater)", "visibility": 3},
|
||||
{"path": "autoheater/wlp3", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp3", "description": "weak link temperature at 100 uW (used for auto heater)", "visibility": 3},
|
||||
{"path": "autoheater/wlp4", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp4", "description": "weak link temperature at 1 mW (used for auto heater)", "visibility": 3},
|
||||
{"path": "autoheater/mxp0", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp0", "description": "weak link base temperature (used for auto heater)"},
|
||||
{"path": "autoheater/mxp1", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp1", "description": "mix.ch. temperature at 1 uW (used for auto heater)"},
|
||||
{"path": "autoheater/mxp2", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp2", "description": "mix.ch. temperature at 10 uW (used for auto heater)"},
|
||||
{"path": "autoheater/mxp3", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp3", "description": "mix.ch. temperature at 100 uW (used for auto heater)"},
|
||||
{"path": "autoheater/mxp4", "type": "float", "readonly": false, "cmd": "ts autoheater/mxp4", "description": "mix.ch. temperature at 1 mW (used for auto heater)"},
|
||||
{"path": "autoheater/switchdown", "type": "float", "readonly": false, "cmd": "ts autoheater/switchdown", "description": "percentage for auto heater switch down"},
|
||||
{"path": "autoheater/switchup", "type": "float", "readonly": false, "cmd": "ts autoheater/switchup", "description": "when the calculated power is above this percentage, use higher range"},
|
||||
{"path": "autoprop", "type": "bool", "readonly": false, "cmd": "ts autoprop", "description": "change prop value depending on actual power", "kids": 2},
|
||||
{"path": "autoprop/prop", "type": "float", "readonly": false, "cmd": "ts autoprop/prop", "description": "prop value (maximum prop value when autheater is on)"},
|
||||
{"path": "autoprop/integ", "type": "float", "readonly": false, "cmd": "ts autoprop/integ", "description": "integral value [sec], deriv is set to 0 on change"},
|
||||
{"path": "instructions", "type": "text"},
|
||||
{"path": "auto", "type": "enum", "enum": {"off": 0, "cool_vti": 1, "pipe_pump": 11, "pipes_ready": 12, "ready_for_sorbpump": 2, "sorb_pump": 3, "condense": 4, "circulate": 5, "remove_only": 60, "remove_and_warmup": 62, "remove_and_condense": 61, "remove_and_sorbpump": 63, "finished": 7}, "readonly": false, "cmd": "ts auto", "kids": 20},
|
||||
{"path": "auto/usetrap", "type": "enum", "enum": {"trap_A": 0, "trap_B": 1}, "readonly": false, "cmd": "ts auto/usetrap"},
|
||||
{"path": "auto/hasturbo", "type": "bool"},
|
||||
{"path": "auto/pipes_pumped", "type": "bool", "readonly": false, "cmd": "ts auto/pipes_pumped"},
|
||||
{"path": "auto/cool_crit", "type": "text", "readonly": false, "cmd": "ts auto/cool_crit", "description": "criterium for transition to ready_for_sorbpump"},
|
||||
{"path": "auto/pumptime1", "type": "float", "readonly": false, "cmd": "ts auto/pumptime1", "description": "pump time [sec] while sorb at 40"},
|
||||
{"path": "auto/pumptime2", "type": "float", "readonly": false, "cmd": "ts auto/pumptime2", "description": "pump time [sec] while sorb cools down"},
|
||||
{"path": "auto/condensep", "type": "float", "readonly": false, "cmd": "ts auto/condensep"},
|
||||
{"path": "auto/dumptarget", "type": "float", "readonly": false, "cmd": "ts auto/dumptarget"},
|
||||
{"path": "auto/condenseflow", "type": "float", "readonly": false, "cmd": "ts auto/condenseflow", "description": "VTI flow for condensing and min. flow for cooling"},
|
||||
{"path": "auto/circulateflow", "type": "float", "readonly": false, "cmd": "ts auto/circulateflow", "description": "VTI flow for circulating (may be changed during circulation)"},
|
||||
{"path": "auto/onekstate", "type": "enum", "enum": {"normal": 0, "fill": 1, "optimize": 2}, "readonly": false, "cmd": "ts auto/onekstate"},
|
||||
{"path": "auto/oneklimit", "type": "float", "readonly": false, "cmd": "ts auto/oneklimit"},
|
||||
{"path": "auto/minflow", "type": "float", "readonly": false, "cmd": "ts auto/minflow", "description": "minimum VTI flow (optimize stops at this value)"},
|
||||
{"path": "auto/p1low", "type": "float", "readonly": false, "cmd": "ts auto/p1low", "description": "p1 value indicating a negligible mixture amount"},
|
||||
{"path": "auto/p2low", "type": "float", "readonly": false, "cmd": "ts auto/p2low", "description": "p2 value indicating a good vacuum"},
|
||||
{"path": "auto/warmup_t", "type": "float", "readonly": false, "cmd": "ts auto/warmup_t", "description": "VTI temperature to reach when remove_and_warmup"},
|
||||
{"path": "auto/vti_t", "type": "float", "readonly": false, "cmd": "ts auto/vti_t", "description": "VTI temperature to reach when remove_only"},
|
||||
{"path": "auto/xgas", "type": "enum", "enum": {"pump": 0, "add": 1, "empty": 2}, "readonly": false, "cmd": "ts auto/xgas"},
|
||||
{"path": "auto/xgas_pulse", "type": "float", "readonly": false, "cmd": "ts auto/xgas_pulse", "description": "opening time for xgas capillary [sec]"},
|
||||
{"path": "auto/removephase", "type": "enum", "enum": {"raw_remove": 0, "wait_p1_low": 1, "wait_v6_open": 2, "wait_a_little": 3, "wait_v6_closed": 4, "wait_t_warmup": 5}, "readonly": false, "cmd": "ts auto/removephase"}]]
|
||||
8
cfg/sea/ts.mb11.config.json
Normal file
8
cfg/sea/ts.mb11.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["ts", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "ts send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "ts set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "ts control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
8
cfg/sea/ts.vb.stick.json
Normal file
8
cfg/sea/ts.vb.stick.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["ts", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "ts send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "ts set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "ts control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
58
cfg/sea/tt.flamp.config.json
Normal file
58
cfg/sea/tt.flamp.config.json
Normal file
@@ -0,0 +1,58 @@
|
||||
["tt", [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 37},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set"},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "running", "type": "int"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "log/n", "type": "float", "visibility": 3},
|
||||
{"path": "t1", "type": "float", "kids": 3},
|
||||
{"path": "t1/raw", "type": "float"},
|
||||
{"path": "t1/curve", "type": "text", "readonly": false, "cmd": "tt t1/curve", "kids": 1},
|
||||
{"path": "t1/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t1/curve/points"},
|
||||
{"path": "t1/valid", "type": "bool"},
|
||||
{"path": "t2", "type": "float", "kids": 3},
|
||||
{"path": "t2/raw", "type": "float"},
|
||||
{"path": "t2/curve", "type": "text", "readonly": false, "cmd": "tt t2/curve", "kids": 1},
|
||||
{"path": "t2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t2/curve/points"},
|
||||
{"path": "t2/valid", "type": "bool"},
|
||||
{"path": "t3", "type": "float", "kids": 3},
|
||||
{"path": "t3/raw", "type": "float"},
|
||||
{"path": "t3/curve", "type": "text", "readonly": false, "cmd": "tt t3/curve", "kids": 1},
|
||||
{"path": "t3/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t3/curve/points"},
|
||||
{"path": "t3/valid", "type": "bool"},
|
||||
{"path": "t4", "type": "float", "kids": 3},
|
||||
{"path": "t4/raw", "type": "float"},
|
||||
{"path": "t4/curve", "type": "text", "readonly": false, "cmd": "tt t4/curve", "kids": 1},
|
||||
{"path": "t4/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt t4/curve/points"},
|
||||
{"path": "t4/valid", "type": "bool"},
|
||||
{"path": "tref", "type": "float"},
|
||||
{"path": "tout", "type": "float"},
|
||||
{"path": "ctrlmode", "type": "enum", "enum": {"ok": 0, "off": 1, "illegal_channel": 2, "no_sensor": 3, "no_flow": 4, "above_alarm": 5, "bad_vacuum": 6}, "readonly": false, "cmd": "tt ctrlmode"},
|
||||
{"path": "ramp", "type": "float", "readonly": false, "cmd": "tt ramp"},
|
||||
{"path": "smooth", "type": "float", "readonly": false, "cmd": "tt smooth"},
|
||||
{"path": "prop", "type": "float", "readonly": false, "cmd": "tt prop"},
|
||||
{"path": "int", "type": "float", "readonly": false, "cmd": "tt int"},
|
||||
{"path": "powerset", "type": "float", "readonly": false, "cmd": "tt powerset"},
|
||||
{"path": "power", "type": "float"},
|
||||
{"path": "resist", "type": "float"},
|
||||
{"path": "maxpower", "type": "float", "readonly": false, "cmd": "tt maxpower"},
|
||||
{"path": "maxheater", "type": "float", "readonly": false, "cmd": "tt maxheater"},
|
||||
{"path": "output", "type": "float", "readonly": false, "cmd": "tt output"},
|
||||
{"path": "manualpower", "type": "bool", "readonly": false, "cmd": "tt manualpower"},
|
||||
{"path": "ctrlchan", "type": "int", "readonly": false, "cmd": "tt ctrlchan"},
|
||||
{"path": "interlock_state", "type": "enum", "enum": {"ok": 0, "no_waterflow": 1, "no_vacuum": 2, "no_water_no_vacuum": 3}},
|
||||
{"path": "interlock_mask", "type": "enum", "enum": {"no_check": 0, "check_water_only": 1, "check_vacuum_only": 2, "check_all": 3}, "readonly": false, "cmd": "tt interlock_mask"},
|
||||
{"path": "sramp", "type": "float"},
|
||||
{"path": "slope", "type": "float"},
|
||||
{"path": "v_htr", "type": "float"},
|
||||
{"path": "i_htr", "type": "float"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "powerprop", "type": "float"}]]
|
||||
71
cfg/sea/tt.ma11.config.json
Normal file
71
cfg/sea/tt.ma11.config.json
Normal file
@@ -0,0 +1,71 @@
|
||||
["tt", [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 19},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "running", "type": "int"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "log/n", "type": "float", "visibility": 3},
|
||||
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "kids": 9},
|
||||
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift"},
|
||||
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode"},
|
||||
{"path": "dblctrl/shift_up", "type": "float"},
|
||||
{"path": "dblctrl/shift_lo", "type": "float"},
|
||||
{"path": "dblctrl/t_min", "type": "float"},
|
||||
{"path": "dblctrl/t_max", "type": "float"},
|
||||
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2"},
|
||||
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up"},
|
||||
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo"},
|
||||
{"path": "tm", "type": "float", "kids": 4},
|
||||
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||
{"path": "tm/stddev", "type": "float"},
|
||||
{"path": "tm/raw", "type": "float"},
|
||||
{"path": "ts", "type": "float", "visibility": 3, "kids": 4},
|
||||
{"path": "ts/curve", "type": "text", "readonly": false, "cmd": "tt ts/curve", "visibility": 3, "kids": 1},
|
||||
{"path": "ts/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts/curve/points", "visibility": 3},
|
||||
{"path": "ts/alarm", "type": "float", "readonly": false, "cmd": "tt ts/alarm", "visibility": 3},
|
||||
{"path": "ts/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "ts/raw", "type": "float", "visibility": 3},
|
||||
{"path": "tm_pt", "type": "float", "kids": 4},
|
||||
{"path": "tm_pt/curve", "type": "text", "readonly": false, "cmd": "tt tm_pt/curve", "kids": 1},
|
||||
{"path": "tm_pt/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm_pt/curve/points", "visibility": 3},
|
||||
{"path": "tm_pt/alarm", "type": "float", "readonly": false, "cmd": "tt tm_pt/alarm"},
|
||||
{"path": "tm_pt/stddev", "type": "float"},
|
||||
{"path": "tm_pt/raw", "type": "float"},
|
||||
{"path": "ts_2", "type": "float", "visibility": 3, "kids": 4},
|
||||
{"path": "ts_2/curve", "type": "text", "readonly": false, "cmd": "tt ts_2/curve", "visibility": 3, "kids": 1},
|
||||
{"path": "ts_2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts_2/curve/points", "visibility": 3},
|
||||
{"path": "ts_2/alarm", "type": "float", "readonly": false, "cmd": "tt ts_2/alarm", "visibility": 3},
|
||||
{"path": "ts_2/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "ts_2/raw", "type": "float", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||
{"path": "set/reg", "type": "float"},
|
||||
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||
{"path": "set/power", "type": "float"},
|
||||
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||
{"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": "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"}]]
|
||||
65
cfg/sea/tt.ori1.config.json
Normal file
65
cfg/sea/tt.ori1.config.json
Normal file
@@ -0,0 +1,65 @@
|
||||
["tt", [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "running", "type": "int"},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "log/n", "type": "float", "visibility": 3},
|
||||
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "kids": 9},
|
||||
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift"},
|
||||
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode"},
|
||||
{"path": "dblctrl/shift_up", "type": "float"},
|
||||
{"path": "dblctrl/shift_lo", "type": "float"},
|
||||
{"path": "dblctrl/t_min", "type": "float"},
|
||||
{"path": "dblctrl/t_max", "type": "float"},
|
||||
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2"},
|
||||
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up"},
|
||||
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo"},
|
||||
{"path": "tm", "type": "float", "kids": 4},
|
||||
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||
{"path": "tm/stddev", "type": "float"},
|
||||
{"path": "tm/raw", "type": "float"},
|
||||
{"path": "ts", "type": "float", "kids": 4},
|
||||
{"path": "ts/curve", "type": "text", "readonly": false, "cmd": "tt ts/curve", "kids": 1},
|
||||
{"path": "ts/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts/curve/points", "visibility": 3},
|
||||
{"path": "ts/alarm", "type": "float", "readonly": false, "cmd": "tt ts/alarm"},
|
||||
{"path": "ts/stddev", "type": "float"},
|
||||
{"path": "ts/raw", "type": "float"},
|
||||
{"path": "ts_2", "type": "float", "visibility": 3, "kids": 4},
|
||||
{"path": "ts_2/curve", "type": "text", "readonly": false, "cmd": "tt ts_2/curve", "visibility": 3, "kids": 1},
|
||||
{"path": "ts_2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts_2/curve/points", "visibility": 3},
|
||||
{"path": "ts_2/alarm", "type": "float", "readonly": false, "cmd": "tt ts_2/alarm", "visibility": 3},
|
||||
{"path": "ts_2/stddev", "type": "float", "visibility": 3},
|
||||
{"path": "ts_2/raw", "type": "float", "visibility": 3},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||
{"path": "set/reg", "type": "float"},
|
||||
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||
{"path": "set/power", "type": "float"},
|
||||
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||
{"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": "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"}]]
|
||||
8
cfg/sea/tvd.mb11.config.json
Normal file
8
cfg/sea/tvd.mb11.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tvd", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tvd send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tvd set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvd control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
8
cfg/sea/tvd.varioxB.config.json
Normal file
8
cfg/sea/tvd.varioxB.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tvd", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tvd send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tvd set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvd control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
8
cfg/sea/tvs.mb11.config.json
Normal file
8
cfg/sea/tvs.mb11.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tvs", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tvs send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tvs set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvs control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
8
cfg/sea/tvs.varioxB.config.json
Normal file
8
cfg/sea/tvs.varioxB.config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
["tvs", [{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tvs send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "raw", "type": "float"},
|
||||
{"path": "set", "type": "float", "readonly": false, "cmd": "tvs set"},
|
||||
{"path": "control", "type": "enum", "enum": {"OFF": 0, "ON": 1}, "readonly": false, "cmd": "tvs control"},
|
||||
{"path": "htr", "type": "float"},
|
||||
{"path": "pow", "type": "float"}]]
|
||||
3
cfg/sea/ultrasound.ultrasound.addon.json
Normal file
3
cfg/sea/ultrasound.ultrasound.addon.json
Normal file
@@ -0,0 +1,3 @@
|
||||
["ultrasound", [{"path": "", "type": "text", "readonly": false, "cmd": "ultrasound", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "ultrasound send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]]
|
||||
65
cfg/sea/varioxB_vb.cfg
Normal file
65
cfg/sea/varioxB_vb.cfg
Normal file
@@ -0,0 +1,65 @@
|
||||
[node varioxB_vb.psi.ch]
|
||||
description = varioxB_vb over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8646
|
||||
|
||||
[module tvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pstat]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pstat.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pdyn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pdyn.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck1]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck1.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck2]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck2.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module ts]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = ts.vb.stick
|
||||
remote_paths = .
|
||||
31
cfg/sea/wall.lampovenwall.addon.json
Normal file
31
cfg/sea/wall.lampovenwall.addon.json
Normal file
@@ -0,0 +1,31 @@
|
||||
["wall", [{"path": "", "type": "float", "kids": 10},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "wall send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "tw1", "type": "float", "kids": 4},
|
||||
{"path": "tw1/curve", "type": "text", "readonly": false, "cmd": "wall tw1/curve", "kids": 1},
|
||||
{"path": "tw1/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw1/curve/points", "visibility": 3},
|
||||
{"path": "tw1/alarm", "type": "float", "readonly": false, "cmd": "wall tw1/alarm"},
|
||||
{"path": "tw1/stddev", "type": "float"},
|
||||
{"path": "tw1/raw", "type": "float"},
|
||||
{"path": "tw2", "type": "float", "kids": 4},
|
||||
{"path": "tw2/curve", "type": "text", "readonly": false, "cmd": "wall tw2/curve", "kids": 1},
|
||||
{"path": "tw2/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw2/curve/points", "visibility": 3},
|
||||
{"path": "tw2/alarm", "type": "float", "readonly": false, "cmd": "wall tw2/alarm"},
|
||||
{"path": "tw2/stddev", "type": "float"},
|
||||
{"path": "tw2/raw", "type": "float"},
|
||||
{"path": "tw3", "type": "float", "kids": 4},
|
||||
{"path": "tw3/curve", "type": "text", "readonly": false, "cmd": "wall tw3/curve", "kids": 1},
|
||||
{"path": "tw3/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw3/curve/points", "visibility": 3},
|
||||
{"path": "tw3/alarm", "type": "float", "readonly": false, "cmd": "wall tw3/alarm"},
|
||||
{"path": "tw3/stddev", "type": "float"},
|
||||
{"path": "tw3/raw", "type": "float"},
|
||||
{"path": "tw4", "type": "float", "kids": 4},
|
||||
{"path": "tw4/curve", "type": "text", "readonly": false, "cmd": "wall tw4/curve", "kids": 1},
|
||||
{"path": "tw4/curve/points", "type": "floatvarar", "readonly": false, "cmd": "wall tw4/curve/points", "visibility": 3},
|
||||
{"path": "tw4/alarm", "type": "float", "readonly": false, "cmd": "wall tw4/alarm"},
|
||||
{"path": "tw4/stddev", "type": "float"},
|
||||
{"path": "tw4/raw", "type": "float"},
|
||||
{"path": "display", "type": "text", "readonly": false, "cmd": "wall display"},
|
||||
{"path": "dout", "type": "int", "readonly": false, "cmd": "wall dout"},
|
||||
{"path": "dinp", "type": "int"},
|
||||
{"path": "remote", "type": "bool"}]]
|
||||
19
cfg/senis3mh3.cfg
Normal file
19
cfg/senis3mh3.cfg
Normal file
@@ -0,0 +1,19 @@
|
||||
[b]
|
||||
description = '3D hall sensor'
|
||||
class = secop_psi.senis.Teslameter3MH3
|
||||
usb = /dev/tty.usbserial-AI02VAD9
|
||||
x = bx
|
||||
y = by
|
||||
z = bz
|
||||
|
||||
[bx]
|
||||
description = 'x component'
|
||||
class = secop_psi.senis.Bcomp
|
||||
|
||||
[by]
|
||||
description = 'y component'
|
||||
class = secop_psi.senis.Bcomp
|
||||
|
||||
[bz]
|
||||
description = 'z component'
|
||||
class = secop_psi.senis.Bcomp
|
||||
55
cfg/senis3mh6.cfg
Normal file
55
cfg/senis3mh6.cfg
Normal file
@@ -0,0 +1,55 @@
|
||||
[b]
|
||||
description = '3D hall sensor'
|
||||
class = secop_psi.senis.Teslameter3MH6
|
||||
usb = /dev/ttyUSB0
|
||||
nsample = 100
|
||||
x = bx
|
||||
y = by
|
||||
z = bz
|
||||
probe_temp = ptemp
|
||||
box_temp = btemp
|
||||
x_direct = dbx
|
||||
y_direct = dby
|
||||
z_direct = dbz
|
||||
probe_temp_direct = dptemp
|
||||
box_temp_direct = dbtemp
|
||||
|
||||
[bx]
|
||||
description = 'x component'
|
||||
class = secop_psi.senis.Bcomp
|
||||
|
||||
[by]
|
||||
description = 'y component'
|
||||
class = secop_psi.senis.Bcomp
|
||||
|
||||
[bz]
|
||||
description = 'z component'
|
||||
class = secop_psi.senis.Bcomp
|
||||
|
||||
[ptemp]
|
||||
description = 'probe temperature'
|
||||
class = secop_psi.senis.Temperature
|
||||
|
||||
[btemp]
|
||||
description = 'box temperature'
|
||||
class = secop_psi.senis.Temperature
|
||||
|
||||
[dbx]
|
||||
description = 'x component'
|
||||
class = secop_psi.senis.Raw
|
||||
|
||||
[dby]
|
||||
description = 'y component'
|
||||
class = secop_psi.senis.Raw
|
||||
|
||||
[dbz]
|
||||
description = 'z component'
|
||||
class = secop_psi.senis.Raw
|
||||
|
||||
[dptemp]
|
||||
description = 'probe temperature'
|
||||
class = secop_psi.senis.Raw
|
||||
|
||||
[dbtemp]
|
||||
description = 'box temperature'
|
||||
class = secop_psi.senis.Temperature
|
||||
55
cfg/test_cryocombi.cfg
Normal file
55
cfg/test_cryocombi.cfg
Normal file
@@ -0,0 +1,55 @@
|
||||
[node cryo_7]
|
||||
# set SEC-node properties
|
||||
description = short description
|
||||
.
|
||||
This is a very long description providing all the glory details in all the glory details about the stuff we are describing
|
||||
|
||||
|
||||
[remotenode x]
|
||||
connectto=localhost
|
||||
port=5000
|
||||
|
||||
[interface tcp]
|
||||
type=tcp
|
||||
bindto=0.0.0.0
|
||||
bindport=10769
|
||||
|
||||
|
||||
[module cryo]
|
||||
# some (non-defaut) module properties
|
||||
.group=very important/stuff
|
||||
.description=A simulated cc cryostat with heat-load, specific heat for the sample
|
||||
and a temperature dependend heat-link between sample and regulation.
|
||||
|
||||
# class of module:
|
||||
class=secop_demo.cryo.Cryostat
|
||||
|
||||
# some parameters
|
||||
jitter=0.1
|
||||
T_start=10.0
|
||||
target=10.0
|
||||
looptime=1
|
||||
ramp=6
|
||||
maxpower=20.0
|
||||
heater=4.1
|
||||
p=40
|
||||
i=10
|
||||
d=2
|
||||
mode=pid
|
||||
tolerance=0.1
|
||||
window=30
|
||||
timeout=900
|
||||
|
||||
# some (non-default) parameter properties
|
||||
pollinterval.export=False
|
||||
|
||||
# some parameter grouping
|
||||
p.group=pid
|
||||
i.group=pid
|
||||
d.group=pid
|
||||
|
||||
value.unit=K
|
||||
|
||||
# test custom properties
|
||||
value.test=customized value
|
||||
|
||||
73
cfg/test_ppms_mf.cfg
Normal file
73
cfg/test_ppms_mf.cfg
Normal file
@@ -0,0 +1,73 @@
|
||||
[node PPMS.psi.ch]
|
||||
description = PPMS at PSI
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindto = 0.0.0.0
|
||||
bindport = 5000
|
||||
|
||||
#[module tt]
|
||||
#class = secop_psi.ppms.Temp
|
||||
#.description = main temperature
|
||||
#iodev = ppms
|
||||
|
||||
[module mf]
|
||||
class = secop_psi.ppms.Field
|
||||
.description = magnetic field
|
||||
iodev = ppms
|
||||
|
||||
#[module pos]
|
||||
#class = secop_psi.ppms.Position
|
||||
#.description = sample rotator
|
||||
#iodev = ppms
|
||||
|
||||
#[module lev]
|
||||
#class = secop_psi.ppms.Level
|
||||
#.description = helium level
|
||||
#iodev = ppms
|
||||
|
||||
#[module chamber]
|
||||
#class = secop_psi.ppms.Chamber
|
||||
#.description = chamber state
|
||||
#iodev = ppms
|
||||
|
||||
#[module r1]
|
||||
#class = secop_psi.ppms.BridgeChannel
|
||||
#.description = resistivity channel 1
|
||||
#no = 1
|
||||
#value.unit = Ohm
|
||||
#iodev = ppms
|
||||
|
||||
#[module i1]
|
||||
#class = secop_psi.ppms.Channel
|
||||
#.description = current channel 1
|
||||
#no = 1
|
||||
#value.unit = uA
|
||||
#iodev = ppms
|
||||
|
||||
#[module v1]
|
||||
#class = secop_psi.ppms.DriverChannel
|
||||
#.description = voltage channel 1
|
||||
#no = 1
|
||||
#value.unit = V
|
||||
#iodev = ppms
|
||||
|
||||
#[module tv]
|
||||
#class = secop_psi.ppms.UserChannel
|
||||
#.description = VTI temperature
|
||||
#enabled = 1
|
||||
#value.unit = K
|
||||
#iodev = ppms
|
||||
|
||||
#[module ts]
|
||||
#class = secop_psi.ppms.UserChannel
|
||||
#.description = sample temperature
|
||||
#enabled = 1
|
||||
#value.unit = K
|
||||
#iodev = ppms
|
||||
|
||||
[module ppms]
|
||||
class = secop_psi.ppms.Main
|
||||
.description = the main and poller module
|
||||
class_id = QD.MULTIVU.PPMS.1
|
||||
pollinterval = 2
|
||||
3
cfg/testcmd.cfg
Normal file
3
cfg/testcmd.cfg
Normal file
@@ -0,0 +1,3 @@
|
||||
[m]
|
||||
class = secop_psi.testcmd.TestCmd
|
||||
description = 'module for testing commands'
|
||||
60
cfg/varioxb.cfg
Normal file
60
cfg/varioxb.cfg
Normal file
@@ -0,0 +1,60 @@
|
||||
[node varioxB_vb.psi.ch]
|
||||
description = varioxB over SEA
|
||||
|
||||
[interface tcp]
|
||||
type = tcp
|
||||
bindport = 10767
|
||||
|
||||
[module seaconn]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = a SEA connection
|
||||
uri = tcp://samenv.psi.ch:8646
|
||||
|
||||
[module tvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pstat]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pstat.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pdyn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = pdyn.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck1]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck1.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck2]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tneck2.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = seaconn
|
||||
json_descr = tnvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
@@ -2,3 +2,19 @@ div.wy-nav-content
|
||||
{
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
/* make some bullet lists more dense (this rule exists in theme.css, but not important)*/
|
||||
.wy-plain-list-disc li p:last-child, .rst-content .section ul li p:last-child, .rst-content .toctree-wrapper ul li p:last-child, article ul li p:last-child {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/* overwrite custom font (to save bandwidth not using a custom font) */
|
||||
body {
|
||||
font-family: "proxima-nova", "Helvetica Neue", Arial, sans-serif;
|
||||
}
|
||||
|
||||
h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend {
|
||||
font-family: "ff-tisa-web-pro", "Georgia", Arial, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Client documentation
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# SECoP documentation build configuration file, created by
|
||||
# Frappy documentation build configuration file, created by
|
||||
# sphinx-quickstart on Mon Sep 11 10:58:28 2017.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
@@ -57,9 +57,9 @@ source_suffix = ['.rst', '.md']
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = 'SECoP'
|
||||
#copyright = '2017, Enrico Faulhaber, Markus Zolliker'
|
||||
copyright = '2017, SECoP Committee'
|
||||
project = 'Frappy'
|
||||
copyright = '2017-2021, Enrico Faulhaber, Markus Zolliker,'
|
||||
#copyright = '2017, SECoP Committee'
|
||||
author = 'Enrico Faulhaber, Markus Zolliker'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
@@ -89,6 +89,10 @@ pygments_style = 'sphinx'
|
||||
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||
todo_include_todos = True
|
||||
|
||||
autodoc_default_options = {
|
||||
'member-order': 'bysource',
|
||||
'show-inheritance': True,
|
||||
}
|
||||
default_role = 'any'
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
@@ -106,11 +110,6 @@ html_theme = 'sphinx_rtd_theme'
|
||||
html_last_updated_fmt = '%Y-%m-%d %H:%M'
|
||||
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#
|
||||
# html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
@@ -136,7 +135,7 @@ html_sidebars = {
|
||||
# -- Options for HTMLHelp output ------------------------------------------
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'SECoPdoc'
|
||||
htmlhelp_basename = 'Frappydoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
@@ -163,7 +162,7 @@ latex_elements = {
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
(master_doc, 'SECoP.tex', 'SECoP source documentation',
|
||||
(master_doc, 'Frappy.tex', 'Frappy source documentation',
|
||||
'Enrico Faulhaber, Markus Zolliker', 'manual'),
|
||||
]
|
||||
|
||||
@@ -173,7 +172,7 @@ latex_documents = [
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'secop', 'SECoP source documentation',
|
||||
(master_doc, 'frappy', 'Frappy source documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
@@ -184,8 +183,8 @@ man_pages = [
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'SECoP', 'SECoP source documentation',
|
||||
author, 'SECoP', 'One line description of project.',
|
||||
(master_doc, 'Frappy', 'Frappy source documentation',
|
||||
author, 'Frappy', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
@@ -213,3 +212,8 @@ epub_exclude_files = ['search.html']
|
||||
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
intersphinx_mapping = {'https://docs.python.org/': None}
|
||||
|
||||
from secop.lib.classdoc import class_doc_handler
|
||||
|
||||
def setup(app):
|
||||
app.connect('autodoc-process-docstring', class_doc_handler)
|
||||
@@ -1,6 +0,0 @@
|
||||
Demo cryostat
|
||||
=============
|
||||
|
||||
.. automodule:: secop_demo.cryo
|
||||
:members:
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
Demo
|
||||
====
|
||||
|
||||
Specific sample environments
|
||||
----------------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
cryo
|
||||
test
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Test devices
|
||||
=============
|
||||
|
||||
.. automodule:: secop_demo.test
|
||||
:members:
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
ESS
|
||||
===
|
||||
|
||||
Frameworks
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
epics
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
Facility specific functionalities
|
||||
=================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
demo/index
|
||||
mlz/index
|
||||
ess/index
|
||||
@@ -1,6 +0,0 @@
|
||||
ANTARES magnet (amagnet)
|
||||
========================
|
||||
|
||||
.. automodule:: secop_mlz.amagnet
|
||||
:members:
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Entangle
|
||||
========
|
||||
|
||||
.. automodule:: secop_mlz.entangle
|
||||
:members:
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
MLZ
|
||||
===
|
||||
|
||||
Frameworks
|
||||
----------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
entangle
|
||||
|
||||
|
||||
Specific sample environments
|
||||
----------------------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
amagnet
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Datatypes
|
||||
=========
|
||||
|
||||
.. automodule:: secop.datatypes
|
||||
:members:
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Exception classes
|
||||
=================
|
||||
|
||||
.. automodule:: secop.errors
|
||||
:members:
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
Framework documentation
|
||||
=======================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
datatypes
|
||||
errors
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Graphical user interface documentation
|
||||
======================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
Welcome to FRAPPY documentation!
|
||||
================================
|
||||
Frappy Programming Guide
|
||||
========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
server/index
|
||||
client/index
|
||||
framework/index
|
||||
gui/index
|
||||
facility/index
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
introduction
|
||||
tutorial
|
||||
reference
|
||||
secop_psi
|
||||
secop_demo
|
||||
secop_mlz
|
||||
secop_ess
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
|
||||
70
doc/source/introduction.rst
Normal file
70
doc/source/introduction.rst
Normal file
@@ -0,0 +1,70 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
Frappy - a Python Framework for SECoP
|
||||
-------------------------------------
|
||||
|
||||
*Frappy* is a Python framework for creating Sample Environment Control Nodes (SEC Node) with
|
||||
a SECoP interface. A *SEC Node* is a service, running usually a computer or microcomputer,
|
||||
which accesses the hardware over the interfaces given by the manufacturer of the used
|
||||
electronic devices. It provides access to the data in an abstracted form over the SECoP interface.
|
||||
`SECoP <https://github.com/SampleEnvironment/SECoP/tree/master/protocol>`_ is a protocol for
|
||||
communicating with Sample Environment and other mobile devices, specified by a committee of
|
||||
the `ISSE <https://sampleenvironment.org>`_.
|
||||
|
||||
The Frappy framework deals with all the details of the SECoP protocol, so the programmer
|
||||
can concentrate on the details of accessing the hardware with support for different types
|
||||
of interfaces (TCP or Serial, ASCII or binary). However, the programmer should be aware of
|
||||
the basic principle of the SECoP protocol: the hardware abstraction.
|
||||
|
||||
|
||||
Hardware Abstraction
|
||||
--------------------
|
||||
|
||||
The idea of hardware abstraction is to hide the details of hardware access from the SECoP interface.
|
||||
A SECoP module is a logical component of an abstract view of the sample environment.
|
||||
It is one independent value of measurement like a temperature or pressure or a physical output like
|
||||
a current or voltage. This corresponds roughly to an EPICS channel or a NICOS device. On the
|
||||
hardware side we may have devices with several channels, like a typical temperature controller,
|
||||
which will be represented individual SECoP modules.
|
||||
On the other hand a SECoP channel might be linked with several hardware devices, for example if
|
||||
you imagine a superconducting magnet controller built of separate electronic devices like a power
|
||||
supply, switch heater and coil temperature monitor. The latter case does not mean that we have
|
||||
to hide the details in the SECoP interface. For an expert it might be useful to give at least
|
||||
read access to hardware specific data by providing them as separate SECoP modules. But the
|
||||
magnet module should be usable without knowledge of all the inner details.
|
||||
|
||||
A SECoP module has:
|
||||
|
||||
* **properties**: static information describing the module, for example a human readable
|
||||
*description* of the module or information about the intended *visibility*.
|
||||
* **parameters**: changing information about the state of a module (for example the *status*
|
||||
containing information about the state of the module) or modifiable information influencing
|
||||
the measurement (for example a "ramp" rate).
|
||||
* **commands**: actions, for example *stop*.
|
||||
|
||||
A SECoP module belongs to an interface class, mainly *Readable* or *Drivable*. A *Readable*
|
||||
has at least the parameters *value* and *status*, a *Drivable* in addition *target*. *value* is
|
||||
the main value of the module and is read only. *status* is a tuple (status code, status text),
|
||||
and *target* is the target value. When the *target* parameter value of a *Drivable* changes,
|
||||
the status code changes normally to a busy code. As soon as the target value is reached,
|
||||
the status code changes back to an idle code, if no error occurs.
|
||||
|
||||
**Programmers Hint:** before starting to code, choose carefully the main SECoP modules you want
|
||||
to provide to the user.
|
||||
|
||||
|
||||
Programming a Driver
|
||||
--------------------
|
||||
|
||||
Programming a driver means extending one of the base classes like :class:`secop.modules.Readable`
|
||||
or :class:`secop.modules.Drivable`. The parameters are defined in the dict :py:attr:`parameters`, as a
|
||||
class attribute of the extended class, using the :class:`secop.params.Parameter` constructor, or in case
|
||||
of altering the properties of an inherited parameter, :class:`secop.params.Override`.
|
||||
|
||||
Parameters usually need a method :meth:`read_<name>()`
|
||||
implementing the code to retrieve their value from the hardware. Writeable parameters
|
||||
(with the argument ``readonly=False``) usually need a method :meth:`write_<name>(<value>)`
|
||||
implementing how they are written to the hardware. Above methods may be omitted, when
|
||||
there is no interaction with the hardware involved.
|
||||
|
||||
75
doc/source/reference.rst
Normal file
75
doc/source/reference.rst
Normal file
@@ -0,0 +1,75 @@
|
||||
Reference
|
||||
---------
|
||||
|
||||
Module Base Classes
|
||||
...................
|
||||
|
||||
.. autoclass:: secop.modules.Module
|
||||
:members: earlyInit, initModule, startModule, pollerClass
|
||||
|
||||
.. autoclass:: secop.modules.Readable
|
||||
:members: Status
|
||||
|
||||
.. autoclass:: secop.modules.Writable
|
||||
|
||||
.. autoclass:: secop.modules.Drivable
|
||||
:members: Status, isBusy, isDriving, stop
|
||||
|
||||
|
||||
Parameters, Commands and Properties
|
||||
...................................
|
||||
|
||||
.. autoclass:: secop.params.Parameter
|
||||
.. autoclass:: secop.params.Command
|
||||
.. autoclass:: secop.properties.Property
|
||||
.. autoclass:: secop.modules.Attached
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
Datatypes
|
||||
.........
|
||||
|
||||
.. autoclass:: secop.datatypes.FloatRange
|
||||
.. autoclass:: secop.datatypes.IntRange
|
||||
.. autoclass:: secop.datatypes.BoolType
|
||||
.. autoclass:: secop.datatypes.ScaledInteger
|
||||
.. autoclass:: secop.datatypes.EnumType
|
||||
.. autoclass:: secop.datatypes.StringType
|
||||
.. autoclass:: secop.datatypes.TupleOf
|
||||
.. autoclass:: secop.datatypes.ArrayOf
|
||||
.. autoclass:: secop.datatypes.StructOf
|
||||
.. autoclass:: secop.datatypes.BLOBType
|
||||
|
||||
|
||||
|
||||
Communication
|
||||
.............
|
||||
|
||||
.. autoclass:: secop.modules.Communicator
|
||||
:show-inheritance:
|
||||
:members: communicate
|
||||
|
||||
.. autoclass:: secop.stringio.StringIO
|
||||
:show-inheritance:
|
||||
:members: communicate, multicomm
|
||||
|
||||
.. autoclass:: secop.stringio.HasIodev
|
||||
:show-inheritance:
|
||||
|
||||
.. autoclass:: secop.iohandler.IOHandlerBase
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
.. autoclass:: secop.iohandler.IOHandler
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
|
||||
Exception classes
|
||||
.....................--
|
||||
|
||||
.. automodule:: secop.errors
|
||||
:members:
|
||||
|
||||
.. include:: server.rst
|
||||
|
||||
10
doc/source/secop_demo.rst
Normal file
10
doc/source/secop_demo.rst
Normal file
@@ -0,0 +1,10 @@
|
||||
Demo
|
||||
====
|
||||
|
||||
.. automodule:: secop_demo.cryo
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
.. automodule:: secop_demo.test
|
||||
:show-inheritance:
|
||||
:members:
|
||||
@@ -1,6 +1,9 @@
|
||||
EPICS modules
|
||||
=============
|
||||
ESS
|
||||
---
|
||||
|
||||
EPICS
|
||||
.....
|
||||
|
||||
.. automodule:: secop_ess.epics
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
19
doc/source/secop_mlz.rst
Normal file
19
doc/source/secop_mlz.rst
Normal file
@@ -0,0 +1,19 @@
|
||||
MLZ
|
||||
---
|
||||
|
||||
Amagnet (Garfield)
|
||||
..................
|
||||
|
||||
.. automodule:: secop_mlz.amagnet
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
|
||||
Entangle Framework
|
||||
..................
|
||||
|
||||
.. automodule:: secop_mlz.entangle
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
|
||||
27
doc/source/secop_psi.rst
Normal file
27
doc/source/secop_psi.rst
Normal file
@@ -0,0 +1,27 @@
|
||||
PSI (SINQ)
|
||||
----------
|
||||
|
||||
CCU4 tutorial example
|
||||
.....................
|
||||
|
||||
.. automodule:: secop_psi.ccu4
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
|
||||
PPMS
|
||||
....
|
||||
|
||||
.. automodule:: secop_psi.ppms
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
LakeShore 370
|
||||
.............
|
||||
|
||||
Calibrated sensors and control loop not yet supported.
|
||||
|
||||
.. automodule:: secop_psi.ls370res
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
72
doc/source/server.rst
Normal file
72
doc/source/server.rst
Normal file
@@ -0,0 +1,72 @@
|
||||
Configuration
|
||||
.............
|
||||
|
||||
The configuration consists of a **NODE** section, an **INTERFACE** section and one
|
||||
section per SECoP module.
|
||||
|
||||
The **NODE** section contains a description of the SEC node and a globally unique ID of
|
||||
the SEC node. Example:
|
||||
|
||||
.. code::
|
||||
|
||||
[NODE]
|
||||
description = a description of the SEC node
|
||||
id = globally.valid.identifier
|
||||
|
||||
The **INTERFACE** section defines the server interface. Currently only tcp is supported.
|
||||
When the TCP port is given as an argument of the server start script, this section is not
|
||||
needed or ignored. The main information is the port number, in this example 5000:
|
||||
|
||||
.. code::
|
||||
|
||||
[INTERFACE]
|
||||
uri = tcp://5000
|
||||
|
||||
|
||||
All other sections define the SECoP modules. The section name itself is the module name,
|
||||
mandatory fields are **class** and **description**. **class** is a path to the Python class
|
||||
from there the module is instantiated, separated with dots. In the following example the class
|
||||
**HeLevel** used by the **helevel** module can be found in the PSI facility subdirectory
|
||||
secop_psi in the python module file ccu4.py:
|
||||
|
||||
.. code::
|
||||
|
||||
[helevel]
|
||||
class = secop_psi.ccu4.HeLevel
|
||||
description = this is the He level sensor of the main reservoir
|
||||
empty = 380
|
||||
empty.export = False
|
||||
full = 0
|
||||
full.export = False
|
||||
|
||||
It is highly recommended to use all lower case for the module name, as SECoP names have to be
|
||||
unique despite of casing. In addition, parameters, properties and parameter properties might
|
||||
be initialized in this section. In the above example **empty** and **full** are parameters,
|
||||
the resistivity of the He Level sensor at the end of the ranges. In addition, we alter the
|
||||
default property **export** of theses parameters, as we do not want to expose these parameters to
|
||||
the SECoP interface.
|
||||
|
||||
|
||||
Starting
|
||||
........
|
||||
|
||||
The Frappy server can be started via the **bin/secop-server** script.
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
usage: secop-server [-h] [-v | -q] [-d] name
|
||||
|
||||
Manage a Frappy server
|
||||
|
||||
positional arguments:
|
||||
name name of the instance. Uses etc/name.cfg for configuration
|
||||
|
||||
optional arguments:
|
||||
-c, --cfgfiles config files to be used. Comma separated list.
|
||||
defaults to <name> when omitted
|
||||
-p, --port server port (default: take from cfg file)
|
||||
-h, --help show this help message and exit
|
||||
-v, --verbose output lots of diagnostic information
|
||||
-q, --quiet suppress non-error messages
|
||||
-d, --daemonize run as daemon
|
||||
-t, --test check cfg files only
|
||||
@@ -1,3 +0,0 @@
|
||||
Configuration
|
||||
=============
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Server documentation
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
starting
|
||||
configuration
|
||||
modules
|
||||
protocol/index
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
Module base classes
|
||||
===================
|
||||
|
||||
.. automodule:: secop.modules
|
||||
:members:
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
protocol stack
|
||||
==============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
interface/index
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
Interfaces
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
tcp
|
||||
zmq
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
TCP
|
||||
===
|
||||
|
||||
.. automodule:: secop.protocol.interface.tcp
|
||||
:members:
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
ZMQ
|
||||
===
|
||||
|
||||
.. automodule:: secop.protocol.interface.zmq
|
||||
:members:
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
Starting
|
||||
========
|
||||
|
||||
The SECoP server can be started via the ``bin/secop-server`` script.
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
usage: secop-server [-h] [-v | -q] [-d] name
|
||||
|
||||
Manage a SECoP server
|
||||
|
||||
positional arguments:
|
||||
name Name of the instance. Uses etc/name.cfg for configuration
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
-v, --verbose Output lots of diagnostic information
|
||||
-q, --quiet suppress non-error messages
|
||||
-d, --daemonize Run as daemon
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user