Merge branch 'wip' of gitlab.psi.ch:samenv/frappy into wip
This commit is contained in:
commit
3769ddca75
@ -218,7 +218,7 @@ max-branches=50
|
||||
max-statements=150
|
||||
|
||||
# Maximum number of parents for a class (see R0901).
|
||||
max-parents=15
|
||||
max-parents=25
|
||||
|
||||
# Maximum number of attributes for a class (see R0902).
|
||||
max-attributes=50
|
||||
|
2
Makefile
2
Makefile
@ -38,7 +38,7 @@ doc:
|
||||
$(MAKE) -C doc html
|
||||
|
||||
lint:
|
||||
pylint -j 0 -f colorized -r n --rcfile=.pylintrc secop secop_* test
|
||||
pylint -f colorized -r n --rcfile=.pylintrc secop secop_* test
|
||||
|
||||
isort:
|
||||
@find test -name '*.py' -print0 | xargs -0 isort -e -m 2 -w 80 -ns __init__.py
|
||||
|
111
cfg/main/jtccr.cfg
Normal file
111
cfg/main/jtccr.cfg
Normal file
@ -0,0 +1,111 @@
|
||||
[NODE]
|
||||
description = CCR with JT-stage
|
||||
id = jtccr.config.sea.psi.ch
|
||||
|
||||
[sea_main]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = main sea connection for jtccr.config
|
||||
config = jtccr.config
|
||||
service = main
|
||||
|
||||
[tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_main
|
||||
sea_object = tt
|
||||
|
||||
[T_ccr]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = tt
|
||||
rel_paths = ccr
|
||||
|
||||
[jtccr]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
sea_object = jtccr
|
||||
extra_modules = v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,vm
|
||||
|
||||
[v1]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v1
|
||||
|
||||
[v2]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v2
|
||||
|
||||
[v3]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v3
|
||||
|
||||
[v4]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v4
|
||||
|
||||
[v5]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v5
|
||||
|
||||
[v6]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v6
|
||||
|
||||
[v7]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v7
|
||||
|
||||
[v8]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v8
|
||||
|
||||
[v9]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v9
|
||||
|
||||
[v10]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.v10
|
||||
|
||||
[vm]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_main
|
||||
single_module = jtccr.vm
|
||||
|
||||
[p1]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = p1
|
||||
|
||||
[p2]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = p2
|
||||
|
||||
[p3]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = p3
|
||||
|
||||
[p4]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = p4
|
||||
|
||||
[pressreg]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = pressreg
|
||||
|
||||
[epc]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = epc
|
@ -39,7 +39,7 @@ io = sea_main
|
||||
sea_object = hemot
|
||||
|
||||
[mf]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_main
|
||||
sea_object = mf
|
||||
|
||||
|
@ -45,7 +45,7 @@ io = sea_main
|
||||
sea_object = hefill
|
||||
|
||||
[mf]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_main
|
||||
sea_object = mf
|
||||
|
||||
@ -57,7 +57,7 @@ sea_object = lev
|
||||
[om_io]
|
||||
description = dom motor IO
|
||||
class = secop_psi.phytron.PhytronIO
|
||||
uri = ma6-ts.psi.ch:3001
|
||||
uri = ma6-ts.psi.ch:3003
|
||||
|
||||
[om]
|
||||
description = stick rotation, typically used for omega
|
||||
|
@ -45,7 +45,7 @@ io = sea_main
|
||||
sea_object = ln2fill
|
||||
|
||||
[mf]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_main
|
||||
sea_object = mf
|
||||
|
||||
|
@ -21,11 +21,13 @@ description = IPS for magnet and levels
|
||||
uri = mb11-ts:3003
|
||||
|
||||
[T_stat]
|
||||
class = secop_psi.mercury.TemperatureLoop
|
||||
class = secop_psi.mercury.TemperatureAutoFlow
|
||||
description = static heat exchanger temperature
|
||||
output_module = htr_stat
|
||||
slot = DB6.T1,DB1.H1
|
||||
needle_valve = p_stat
|
||||
slot = DB6.T1
|
||||
io = itc1
|
||||
tolerance = 0.1
|
||||
|
||||
[htr_stat]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
@ -37,8 +39,11 @@ io = itc1
|
||||
class = secop_psi.mercury.PressureLoop
|
||||
description = static needle valve pressure
|
||||
output_module = pos_stat
|
||||
settling_time = 60
|
||||
slot = DB5.P1,DB3.G1
|
||||
io = itc1
|
||||
tolerance = 1
|
||||
value.unit = mbar_flow
|
||||
|
||||
[pos_stat]
|
||||
class = secop_psi.mercury.ValvePos
|
||||
@ -47,11 +52,13 @@ slot = DB5.P1,DB3.G1
|
||||
io = itc1
|
||||
|
||||
[T_dyn]
|
||||
class = secop_psi.mercury.TemperatureLoop
|
||||
class = secop_psi.mercury.TemperatureAutoFlow
|
||||
description = dynamic heat exchanger temperature
|
||||
output_module = htr_dyn
|
||||
slot = DB7.T1,DB2.H1
|
||||
needle_valve = p_dyn
|
||||
slot = DB7.T1
|
||||
io = itc1
|
||||
tolerance = 0.1
|
||||
|
||||
[htr_dyn]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
@ -63,8 +70,11 @@ io = itc1
|
||||
class = secop_psi.mercury.PressureLoop
|
||||
description = dynamic needle valve pressure
|
||||
output_module = pos_dyn
|
||||
settling_time = 60
|
||||
slot = DB8.P1,DB4.G1
|
||||
io = itc1
|
||||
tolerance = 1
|
||||
value.unit = mbar_flow
|
||||
|
||||
[pos_dyn]
|
||||
class = secop_psi.mercury.ValvePos
|
||||
@ -88,8 +98,9 @@ io = ips
|
||||
class = secop_psi.mercury.TemperatureLoop
|
||||
description = neck heater 1 temperature
|
||||
output_module = htr_neck1
|
||||
slot = MB1.T1,MB0.H1
|
||||
slot = MB1.T1
|
||||
io = itc2
|
||||
tolerance = 1
|
||||
|
||||
[htr_neck1]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
@ -101,8 +112,9 @@ io = itc2
|
||||
class = secop_psi.mercury.TemperatureLoop
|
||||
description = neck heater 2 temperature
|
||||
output_module = htr_neck2
|
||||
slot = DB6.T1,DB1.H1
|
||||
slot = DB6.T1
|
||||
io = itc2
|
||||
tolerance = 1
|
||||
|
||||
[htr_neck2]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
@ -114,8 +126,9 @@ io = itc2
|
||||
class = secop_psi.mercury.TemperatureLoop
|
||||
description = static needle valve temperature
|
||||
output_module = htr_nvs
|
||||
slot = DB7.T1,DB2.H1
|
||||
slot = DB7.T1
|
||||
io = itc2
|
||||
tolerance = 0.1
|
||||
|
||||
[htr_nvs]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
@ -127,8 +140,9 @@ io = itc2
|
||||
class = secop_psi.mercury.TemperatureLoop
|
||||
description = dynamic needle valve heater temperature
|
||||
output_module = htr_nvd
|
||||
slot = DB8.T1,DB3.H1
|
||||
slot = DB8.T1
|
||||
io = itc2
|
||||
tolerance = 0.1
|
||||
|
||||
[htr_nvd]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
@ -149,15 +163,15 @@ slot = GRPZ
|
||||
io = ips
|
||||
target.max = 11
|
||||
|
||||
#[om_io]
|
||||
#description = dom motor IO
|
||||
#class = secop_psi.phytron.PhytronIO
|
||||
#uri = mb11-ts.psi.ch:3004
|
||||
[om_io]
|
||||
description = dom motor IO
|
||||
class = secop_psi.phytron.PhytronIO
|
||||
uri = mb11-ts.psi.ch:3004
|
||||
|
||||
#[om]
|
||||
#description = stick rotation, typically used for omega
|
||||
#class = secop_psi.phytron.Motor
|
||||
#io = om_io
|
||||
#sign = -1
|
||||
#encoder_mode = NO
|
||||
[om]
|
||||
description = stick rotation, typically used for omega
|
||||
class = secop_psi.phytron.Motor
|
||||
io = om_io
|
||||
sign = -1
|
||||
encoder_mode = NO
|
||||
|
||||
|
@ -1,20 +0,0 @@
|
||||
[sea_main]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = SEA connection to ccr2ht_focus-be-filter
|
||||
config = ccr2ht.config
|
||||
service = main
|
||||
|
||||
[tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_main
|
||||
sea_object = tt
|
||||
|
||||
[cc]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = cc
|
||||
|
||||
[table]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_main
|
||||
sea_object = table
|
@ -1,7 +0,0 @@
|
||||
["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"}]]
|
343
cfg/sea/dil3.stick.json
Normal file
343
cfg/sea/dil3.stick.json
Normal file
@ -0,0 +1,343 @@
|
||||
{"ts": {"base": "/ts", "params": [
|
||||
{"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", "readonly": false, "cmd": "ts is_running", "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, "samplehtr": 8}, "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)"},
|
||||
{"path": "autoheater/wlp1", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp1", "description": "weak link temperature at 1 uW (used for auto heater)"},
|
||||
{"path": "autoheater/wlp2", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp2", "description": "weak link temperature at 10 uW (used for auto heater)"},
|
||||
{"path": "autoheater/wlp3", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp3", "description": "weak link temperature at 100 uW (used for auto heater)"},
|
||||
{"path": "autoheater/wlp4", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp4", "description": "weak link temperature at 1 mW (used for auto heater)"},
|
||||
{"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": 21},
|
||||
{"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/pumptime_remaining", "type": "float", "description": "remeaining pump time [min]"},
|
||||
{"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, "filled": 3}, "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"}]},
|
||||
|
||||
"treg": {"base": "/treg", "params": [
|
||||
{"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"}]},
|
||||
|
||||
"tmon": {"base": "/tmon", "params": [
|
||||
{"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"}]},
|
||||
|
||||
"dil": {"base": "/dil", "params": [
|
||||
{"path": "", "type": "float", "kids": 60},
|
||||
{"path": "Tset", "type": "float"},
|
||||
{"path": "TsorbSet", "type": "float", "readonly": false, "cmd": "dil TsorbSet"},
|
||||
{"path": "Tmix", "type": "float"},
|
||||
{"path": "T1K", "type": "float"},
|
||||
{"path": "Tsorb", "type": "float"},
|
||||
{"path": "Pmix", "type": "float", "readonly": false, "cmd": "dil Pmix"},
|
||||
{"path": "Pmax", "type": "float"},
|
||||
{"path": "HtrRange", "type": "int", "readonly": false, "cmd": "dil HtrRange"},
|
||||
{"path": "Pstill", "type": "float", "readonly": false, "cmd": "dil Pstill"},
|
||||
{"path": "Psorb", "type": "float", "readonly": false, "cmd": "dil Psorb"},
|
||||
{"path": "G1", "type": "float"},
|
||||
{"path": "G2", "type": "float"},
|
||||
{"path": "G3", "type": "float"},
|
||||
{"path": "P1", "type": "float"},
|
||||
{"path": "P2", "type": "float"},
|
||||
{"path": "V6", "type": "float", "readonly": false, "cmd": "dil V6"},
|
||||
{"path": "V12A", "type": "float", "readonly": false, "cmd": "dil V12A"},
|
||||
{"path": "V1K", "type": "float", "readonly": false, "cmd": "dil V1K"},
|
||||
{"path": "v6pos", "type": "float"},
|
||||
{"path": "V9", "type": "int", "readonly": false, "cmd": "dil V9", "visibility": 3},
|
||||
{"path": "V8", "type": "int", "readonly": false, "cmd": "dil V8", "visibility": 3},
|
||||
{"path": "V7", "type": "int", "readonly": false, "cmd": "dil V7", "visibility": 3},
|
||||
{"path": "V11A", "type": "int", "readonly": false, "cmd": "dil V11A", "visibility": 3},
|
||||
{"path": "V13A", "type": "int", "readonly": false, "cmd": "dil V13A", "visibility": 3},
|
||||
{"path": "V13B", "type": "int", "readonly": false, "cmd": "dil V13B", "visibility": 3},
|
||||
{"path": "V11B", "type": "int", "readonly": false, "cmd": "dil V11B", "visibility": 3},
|
||||
{"path": "V12B", "type": "int", "readonly": false, "cmd": "dil V12B", "visibility": 3},
|
||||
{"path": "He4", "type": "int", "readonly": false, "cmd": "dil He4", "visibility": 3},
|
||||
{"path": "V1", "type": "int", "readonly": false, "cmd": "dil V1", "visibility": 3},
|
||||
{"path": "V5", "type": "int", "readonly": false, "cmd": "dil V5", "visibility": 3},
|
||||
{"path": "V4", "type": "int", "readonly": false, "cmd": "dil V4", "visibility": 3},
|
||||
{"path": "V3", "type": "int", "readonly": false, "cmd": "dil V3", "visibility": 3},
|
||||
{"path": "V14", "type": "int", "readonly": false, "cmd": "dil V14", "visibility": 3},
|
||||
{"path": "V10", "type": "int", "readonly": false, "cmd": "dil V10", "visibility": 3},
|
||||
{"path": "V2", "type": "int", "readonly": false, "cmd": "dil V2", "visibility": 3},
|
||||
{"path": "V2A", "type": "int", "readonly": false, "cmd": "dil V2A", "visibility": 3},
|
||||
{"path": "V1A", "type": "int", "readonly": false, "cmd": "dil V1A", "visibility": 3},
|
||||
{"path": "V5A", "type": "int", "readonly": false, "cmd": "dil V5A", "visibility": 3},
|
||||
{"path": "V4A", "type": "int", "readonly": false, "cmd": "dil V4A", "visibility": 3},
|
||||
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
||||
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
||||
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
||||
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3", "visibility": 3},
|
||||
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
||||
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
||||
{"path": "pumpoff", "type": "int"},
|
||||
{"path": "upperN2", "type": "float"},
|
||||
{"path": "lowerN2", "type": "float"},
|
||||
{"path": "maxtry", "type": "int", "readonly": false, "cmd": "dil maxtry", "visibility": 3},
|
||||
{"path": "upperLimit", "type": "float", "readonly": false, "cmd": "dil upperLimit"},
|
||||
{"path": "lowerLimit", "type": "float", "readonly": false, "cmd": "dil lowerLimit", "visibility": 3},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "dil tolerance"},
|
||||
{"path": "maxwait", "type": "int", "readonly": false, "cmd": "dil maxwait"},
|
||||
{"path": "settle", "type": "int", "readonly": false, "cmd": "dil settle"},
|
||||
{"path": "targetValue", "type": "float"},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "verbose", "type": "int", "readonly": false, "cmd": "dil verbose", "visibility": 3},
|
||||
{"path": "driver", "type": "text", "visibility": 3},
|
||||
{"path": "creationCmd", "type": "text", "visibility": 3},
|
||||
{"path": "status", "type": "text", "readonly": false, "cmd": "dil status", "visibility": 3}]},
|
||||
|
||||
"sorb": {"base": "/sorb", "params": [
|
||||
{"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", "readonly": false, "cmd": "sorb is_running", "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"}]}}
|
343
cfg/sea/dil4.stick.json
Normal file
343
cfg/sea/dil4.stick.json
Normal file
@ -0,0 +1,343 @@
|
||||
{"ts": {"base": "/ts", "params": [
|
||||
{"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", "readonly": false, "cmd": "ts is_running", "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, "samplehtr": 8}, "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)"},
|
||||
{"path": "autoheater/wlp1", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp1", "description": "weak link temperature at 1 uW (used for auto heater)"},
|
||||
{"path": "autoheater/wlp2", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp2", "description": "weak link temperature at 10 uW (used for auto heater)"},
|
||||
{"path": "autoheater/wlp3", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp3", "description": "weak link temperature at 100 uW (used for auto heater)"},
|
||||
{"path": "autoheater/wlp4", "type": "float", "readonly": false, "cmd": "ts autoheater/wlp4", "description": "weak link temperature at 1 mW (used for auto heater)"},
|
||||
{"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": 21},
|
||||
{"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/pumptime_remaining", "type": "float", "description": "remeaining pump time [min]"},
|
||||
{"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, "filled": 3}, "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"}]},
|
||||
|
||||
"treg": {"base": "/treg", "params": [
|
||||
{"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"}]},
|
||||
|
||||
"tmon": {"base": "/tmon", "params": [
|
||||
{"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"}]},
|
||||
|
||||
"dil": {"base": "/dil", "params": [
|
||||
{"path": "", "type": "float", "kids": 60},
|
||||
{"path": "Tset", "type": "float"},
|
||||
{"path": "TsorbSet", "type": "float", "readonly": false, "cmd": "dil TsorbSet"},
|
||||
{"path": "Tmix", "type": "float"},
|
||||
{"path": "T1K", "type": "float"},
|
||||
{"path": "Tsorb", "type": "float"},
|
||||
{"path": "Pmix", "type": "float", "readonly": false, "cmd": "dil Pmix"},
|
||||
{"path": "Pmax", "type": "float"},
|
||||
{"path": "HtrRange", "type": "int", "readonly": false, "cmd": "dil HtrRange"},
|
||||
{"path": "Pstill", "type": "float", "readonly": false, "cmd": "dil Pstill"},
|
||||
{"path": "Psorb", "type": "float", "readonly": false, "cmd": "dil Psorb"},
|
||||
{"path": "G1", "type": "float"},
|
||||
{"path": "G2", "type": "float"},
|
||||
{"path": "G3", "type": "float"},
|
||||
{"path": "P1", "type": "float"},
|
||||
{"path": "P2", "type": "float"},
|
||||
{"path": "V6", "type": "float", "readonly": false, "cmd": "dil V6"},
|
||||
{"path": "V12A", "type": "float", "readonly": false, "cmd": "dil V12A"},
|
||||
{"path": "V1K", "type": "float", "readonly": false, "cmd": "dil V1K"},
|
||||
{"path": "v6pos", "type": "float"},
|
||||
{"path": "V9", "type": "int", "readonly": false, "cmd": "dil V9", "visibility": 3},
|
||||
{"path": "V8", "type": "int", "readonly": false, "cmd": "dil V8", "visibility": 3},
|
||||
{"path": "V7", "type": "int", "readonly": false, "cmd": "dil V7", "visibility": 3},
|
||||
{"path": "V11A", "type": "int", "readonly": false, "cmd": "dil V11A", "visibility": 3},
|
||||
{"path": "V13A", "type": "int", "readonly": false, "cmd": "dil V13A", "visibility": 3},
|
||||
{"path": "V13B", "type": "int", "readonly": false, "cmd": "dil V13B", "visibility": 3},
|
||||
{"path": "V11B", "type": "int", "readonly": false, "cmd": "dil V11B", "visibility": 3},
|
||||
{"path": "V12B", "type": "int", "readonly": false, "cmd": "dil V12B", "visibility": 3},
|
||||
{"path": "He4", "type": "int", "readonly": false, "cmd": "dil He4", "visibility": 3},
|
||||
{"path": "V1", "type": "int", "readonly": false, "cmd": "dil V1", "visibility": 3},
|
||||
{"path": "V5", "type": "int", "readonly": false, "cmd": "dil V5", "visibility": 3},
|
||||
{"path": "V4", "type": "int", "readonly": false, "cmd": "dil V4", "visibility": 3},
|
||||
{"path": "V3", "type": "int", "readonly": false, "cmd": "dil V3", "visibility": 3},
|
||||
{"path": "V14", "type": "int", "readonly": false, "cmd": "dil V14", "visibility": 3},
|
||||
{"path": "V10", "type": "int", "readonly": false, "cmd": "dil V10", "visibility": 3},
|
||||
{"path": "V2", "type": "int", "readonly": false, "cmd": "dil V2", "visibility": 3},
|
||||
{"path": "V2A", "type": "int", "readonly": false, "cmd": "dil V2A", "visibility": 3},
|
||||
{"path": "V1A", "type": "int", "readonly": false, "cmd": "dil V1A", "visibility": 3},
|
||||
{"path": "V5A", "type": "int", "readonly": false, "cmd": "dil V5A", "visibility": 3},
|
||||
{"path": "V4A", "type": "int", "readonly": false, "cmd": "dil V4A", "visibility": 3},
|
||||
{"path": "V3A", "type": "int", "readonly": false, "cmd": "dil V3A", "visibility": 3},
|
||||
{"path": "Roots", "type": "int", "readonly": false, "cmd": "dil Roots", "visibility": 3},
|
||||
{"path": "Aux", "type": "int", "readonly": false, "cmd": "dil Aux", "visibility": 3},
|
||||
{"path": "He3", "type": "int", "readonly": false, "cmd": "dil He3", "visibility": 3},
|
||||
{"path": "closedelay", "type": "float", "readonly": false, "cmd": "dil closedelay", "visibility": 3},
|
||||
{"path": "extVersion", "type": "int", "readonly": false, "cmd": "dil extVersion", "visibility": 3},
|
||||
{"path": "pumpoff", "type": "int"},
|
||||
{"path": "upperN2", "type": "float"},
|
||||
{"path": "lowerN2", "type": "float"},
|
||||
{"path": "maxtry", "type": "int", "readonly": false, "cmd": "dil maxtry", "visibility": 3},
|
||||
{"path": "upperLimit", "type": "float", "readonly": false, "cmd": "dil upperLimit"},
|
||||
{"path": "lowerLimit", "type": "float", "readonly": false, "cmd": "dil lowerLimit", "visibility": 3},
|
||||
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "dil tolerance"},
|
||||
{"path": "maxwait", "type": "int", "readonly": false, "cmd": "dil maxwait"},
|
||||
{"path": "settle", "type": "int", "readonly": false, "cmd": "dil settle"},
|
||||
{"path": "targetValue", "type": "float"},
|
||||
{"path": "is_running", "type": "int", "visibility": 3},
|
||||
{"path": "verbose", "type": "int", "readonly": false, "cmd": "dil verbose", "visibility": 3},
|
||||
{"path": "driver", "type": "text", "visibility": 3},
|
||||
{"path": "creationCmd", "type": "text", "visibility": 3},
|
||||
{"path": "status", "type": "text", "readonly": false, "cmd": "dil status", "visibility": 3}]},
|
||||
|
||||
"sorb": {"base": "/sorb", "params": [
|
||||
{"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", "readonly": false, "cmd": "sorb is_running", "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"}]}}
|
@ -1,17 +0,0 @@
|
||||
["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"}]]
|
@ -1,14 +0,0 @@
|
||||
["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"}]]
|
@ -1,19 +0,0 @@
|
||||
[NODE]
|
||||
description = FOCUS CryoTel Be-filter
|
||||
id = focus-be-filter.addon.sea.psi.ch
|
||||
|
||||
[sea_addons]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = addons sea connection for focus-be-filter.addon
|
||||
config = focus-be-filter.addon
|
||||
service = addons
|
||||
|
||||
[cryo]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_addons
|
||||
sea_object = cryo
|
||||
|
||||
[addonlock_focus-be-filter]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
io = sea_addons
|
||||
sea_object = addonlock_focus-be-filter
|
@ -1,17 +0,0 @@
|
||||
["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"}]]
|
@ -1,49 +0,0 @@
|
||||
[NODE]
|
||||
description = orange cryostat with 70 mm sample space (FOCUS)
|
||||
id = ill4.config.sea.psi.ch
|
||||
|
||||
[sea_main]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = main sea connection for ill4.config
|
||||
config = ill4.config
|
||||
service = main
|
||||
|
||||
[tt]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = sea_main
|
||||
sea_object = tt
|
||||
|
||||
[cc]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = sea_main
|
||||
sea_object = cc
|
||||
|
||||
[nv]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
iodev = sea_main
|
||||
sea_object = nv
|
||||
|
||||
[ln2fill]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
iodev = sea_main
|
||||
sea_object = ln2fill
|
||||
|
||||
[hefill]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
iodev = sea_main
|
||||
sea_object = hefill
|
||||
|
||||
[hepump]
|
||||
class = secop_psi.sea.SeaWritable
|
||||
iodev = sea_main
|
||||
sea_object = hepump
|
||||
|
||||
[hemot]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
iodev = sea_main
|
||||
sea_object = hemot
|
||||
|
||||
[table]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = sea_main
|
||||
sea_object = table
|
339
cfg/sea/jtccr.config.json
Normal file
339
cfg/sea/jtccr.config.json
Normal file
@ -0,0 +1,339 @@
|
||||
{"tt": {"base": "/tt", "params": [
|
||||
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 16},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "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", "visibility": 3, "kids": 9},
|
||||
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift", "visibility": 3},
|
||||
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode", "visibility": 3},
|
||||
{"path": "dblctrl/shift_up", "type": "float", "visibility": 3},
|
||||
{"path": "dblctrl/shift_lo", "type": "float", "visibility": 3},
|
||||
{"path": "dblctrl/t_min", "type": "float", "visibility": 3},
|
||||
{"path": "dblctrl/t_max", "type": "float", "visibility": 3},
|
||||
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2", "visibility": 3},
|
||||
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up", "visibility": 3},
|
||||
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo", "visibility": 3},
|
||||
{"path": "main", "type": "float", "kids": 4},
|
||||
{"path": "main/curve", "type": "text", "readonly": false, "cmd": "tt main/curve", "kids": 1},
|
||||
{"path": "main/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt main/curve/points", "visibility": 3},
|
||||
{"path": "main/alarm", "type": "float", "readonly": false, "cmd": "tt main/alarm"},
|
||||
{"path": "main/stddev", "type": "float"},
|
||||
{"path": "main/raw", "type": "float"},
|
||||
{"path": "ccr", "type": "float", "kids": 4},
|
||||
{"path": "ccr/curve", "type": "text", "readonly": false, "cmd": "tt ccr/curve", "kids": 1},
|
||||
{"path": "ccr/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ccr/curve/points", "visibility": 3},
|
||||
{"path": "ccr/alarm", "type": "float", "readonly": false, "cmd": "tt ccr/alarm"},
|
||||
{"path": "ccr/stddev", "type": "float"},
|
||||
{"path": "ccr/raw", "type": "float"},
|
||||
{"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": "remote", "type": "bool"}]},
|
||||
|
||||
"jtccr": {"base": "/jtccr", "params": [
|
||||
{"path": "", "type": "enum", "enum": {"manual": 0, "high_pressure": 1, "circulating": 2, "warmup": 3}, "readonly": false, "cmd": "jtccr", "kids": 21},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "jtccr send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "p1max", "type": "float", "readonly": false, "cmd": "jtccr p1max", "description": "go to circulating mode when p1 above this value"},
|
||||
{"path": "p2min", "type": "float", "readonly": false, "cmd": "jtccr p2min", "description": "stop compressor when p2 is below this value"},
|
||||
{"path": "p2max", "type": "float", "readonly": false, "cmd": "jtccr p2max", "description": "start compressor when p2 is above this value"},
|
||||
{"path": "pdifmax", "type": "float", "readonly": false, "cmd": "jtccr pdifmax", "description": "maximum pressure difference for compressor"},
|
||||
{"path": "pdifmargin", "type": "float", "readonly": false, "cmd": "jtccr pdifmargin", "description": "safety margin for pressure difference"},
|
||||
{"path": "p3margin", "type": "float", "readonly": false, "cmd": "jtccr p3margin", "description": "start compressor when p3 is below pressreg setpoint plus this value"},
|
||||
{"path": "plow", "type": "float", "readonly": false, "cmd": "jtccr plow", "description": "pressure below 5 K"},
|
||||
{"path": "v1", "type": "bool", "readonly": false, "cmd": "jtccr v1"},
|
||||
{"path": "v2", "type": "bool", "readonly": false, "cmd": "jtccr v2"},
|
||||
{"path": "v3", "type": "bool", "readonly": false, "cmd": "jtccr v3"},
|
||||
{"path": "v4", "type": "bool", "readonly": false, "cmd": "jtccr v4"},
|
||||
{"path": "v5", "type": "bool", "readonly": false, "cmd": "jtccr v5"},
|
||||
{"path": "v6", "type": "bool", "readonly": false, "cmd": "jtccr v6"},
|
||||
{"path": "v7", "type": "bool", "readonly": false, "cmd": "jtccr v7"},
|
||||
{"path": "v8", "type": "bool", "readonly": false, "cmd": "jtccr v8"},
|
||||
{"path": "v9", "type": "bool", "readonly": false, "cmd": "jtccr v9"},
|
||||
{"path": "v10", "type": "bool", "readonly": false, "cmd": "jtccr v10"},
|
||||
{"path": "vm", "type": "enum", "enum": {"close": 0, "open": 1, "undefined": 5}, "readonly": false, "cmd": "jtccr vm"},
|
||||
{"path": "verbose", "type": "bool", "readonly": false, "cmd": "jtccr verbose"}]},
|
||||
|
||||
"p1": {"base": "/p1", "params": [
|
||||
{"path": "", "type": "float", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "p1 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]},
|
||||
|
||||
"p2": {"base": "/p2", "params": [
|
||||
{"path": "", "type": "float", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "p2 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]},
|
||||
|
||||
"p3": {"base": "/p3", "params": [
|
||||
{"path": "", "type": "float", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "p3 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]},
|
||||
|
||||
"p4": {"base": "/p4", "params": [
|
||||
{"path": "", "type": "float", "kids": 2},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "p4 send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3}]},
|
||||
|
||||
"pressreg": {"base": "/pressreg", "params": [
|
||||
{"path": "", "type": "float", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "pressreg send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "setpoint", "type": "float", "readonly": false, "cmd": "pressreg setpoint"}]},
|
||||
|
||||
"epc": {"base": "/epc", "params": [
|
||||
{"path": "", "type": "none", "kids": 5},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "epc send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "port1", "type": "bool", "readonly": false, "cmd": "epc port1"},
|
||||
{"path": "port2", "type": "bool", "readonly": false, "cmd": "epc port2"},
|
||||
{"path": "port3", "type": "bool", "readonly": false, "cmd": "epc port3"}]},
|
||||
|
||||
"v": {"base": "/v", "params": [
|
||||
{"path": "", "type": "bool", "kids": 120},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "v send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "v autodevice"},
|
||||
{"path": "fav", "type": "bool", "readonly": false, "cmd": "v fav"},
|
||||
{"path": "f", "type": "float", "visibility": 3},
|
||||
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "v fs", "visibility": 3},
|
||||
{"path": "mav", "type": "bool", "readonly": false, "cmd": "v mav"},
|
||||
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "v fa"},
|
||||
{"path": "mp", "type": "float", "readonly": false, "cmd": "v mp"},
|
||||
{"path": "msp", "type": "float"},
|
||||
{"path": "mmp", "type": "float"},
|
||||
{"path": "mc", "type": "float", "readonly": false, "cmd": "v mc"},
|
||||
{"path": "mfc", "type": "float", "readonly": false, "cmd": "v mfc"},
|
||||
{"path": "moc", "type": "float", "readonly": false, "cmd": "v moc"},
|
||||
{"path": "mtc", "type": "float", "readonly": false, "cmd": "v mtc"},
|
||||
{"path": "mtl", "type": "float"},
|
||||
{"path": "mft", "type": "float", "readonly": false, "cmd": "v mft"},
|
||||
{"path": "mt", "type": "float"},
|
||||
{"path": "mo", "type": "float"},
|
||||
{"path": "mcr", "type": "float"},
|
||||
{"path": "mot", "type": "float"},
|
||||
{"path": "mw", "type": "float", "readonly": false, "cmd": "v mw", "description": "correction pulse after automatic open"},
|
||||
{"path": "hav", "type": "bool", "readonly": false, "cmd": "v hav"},
|
||||
{"path": "h", "type": "float", "visibility": 3},
|
||||
{"path": "hr", "type": "float", "visibility": 3},
|
||||
{"path": "hc", "type": "float", "visibility": 3},
|
||||
{"path": "hu", "type": "float", "visibility": 3},
|
||||
{"path": "hh", "type": "float", "readonly": false, "cmd": "v hh", "visibility": 3},
|
||||
{"path": "hl", "type": "float", "readonly": false, "cmd": "v hl", "visibility": 3},
|
||||
{"path": "htf", "type": "float", "readonly": false, "cmd": "v htf", "description": "meas. period in fast mode", "visibility": 3},
|
||||
{"path": "hts", "type": "float", "readonly": false, "cmd": "v hts", "description": "meas. period in slow mode", "visibility": 3},
|
||||
{"path": "hd", "type": "float", "readonly": false, "cmd": "v hd", "visibility": 3},
|
||||
{"path": "hwr", "type": "float", "readonly": false, "cmd": "v hwr", "visibility": 3},
|
||||
{"path": "hem", "type": "float", "readonly": false, "cmd": "v hem", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||
{"path": "hfu", "type": "float", "readonly": false, "cmd": "v hfu", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "v hcd", "visibility": 3},
|
||||
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}, "visibility": 3},
|
||||
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "ha", "type": "bool", "readonly": false, "cmd": "v ha", "visibility": 3},
|
||||
{"path": "hm", "type": "bool", "visibility": 3},
|
||||
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "v hf", "visibility": 3},
|
||||
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "v hbe", "visibility": 3},
|
||||
{"path": "hmf", "type": "float", "visibility": 3},
|
||||
{"path": "hms", "type": "float", "visibility": 3},
|
||||
{"path": "hit", "type": "float", "readonly": false, "cmd": "v hit", "visibility": 3},
|
||||
{"path": "hft", "type": "int", "readonly": false, "cmd": "v hft", "visibility": 3},
|
||||
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "v hea"},
|
||||
{"path": "hch", "type": "int", "readonly": false, "cmd": "v hch", "visibility": 3},
|
||||
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "v hwr0", "visibility": 3},
|
||||
{"path": "hem0", "type": "float", "readonly": false, "cmd": "v hem0", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "v hfu0", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||
{"path": "hd0", "type": "float", "readonly": false, "cmd": "v hd0", "description": "external sensor drive current (mA)", "visibility": 3},
|
||||
{"path": "h0", "type": "float", "visibility": 3},
|
||||
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h1", "type": "float", "visibility": 3},
|
||||
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h2", "type": "float", "visibility": 3},
|
||||
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h3", "type": "float", "visibility": 3},
|
||||
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h4", "type": "float", "visibility": 3},
|
||||
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h5", "type": "float", "visibility": 3},
|
||||
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "hfb", "type": "float", "visibility": 3},
|
||||
{"path": "nav", "type": "bool", "readonly": false, "cmd": "v nav"},
|
||||
{"path": "nu", "type": "float"},
|
||||
{"path": "nl", "type": "float"},
|
||||
{"path": "nth", "type": "float", "readonly": false, "cmd": "v nth"},
|
||||
{"path": "ntc", "type": "float", "readonly": false, "cmd": "v ntc"},
|
||||
{"path": "ntm", "type": "float", "readonly": false, "cmd": "v ntm"},
|
||||
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}},
|
||||
{"path": "na", "type": "bool", "readonly": false, "cmd": "v na"},
|
||||
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "v nc"},
|
||||
{"path": "nfb", "type": "float"},
|
||||
{"path": "cda", "type": "float"},
|
||||
{"path": "cdb", "type": "float"},
|
||||
{"path": "cba", "type": "float"},
|
||||
{"path": "cbb", "type": "float"},
|
||||
{"path": "cvs", "type": "int"},
|
||||
{"path": "csp", "type": "int"},
|
||||
{"path": "cdv", "type": "text", "readonly": false, "cmd": "v cdv"},
|
||||
{"path": "cic", "type": "text", "readonly": false, "cmd": "v cic"},
|
||||
{"path": "cin", "type": "text"},
|
||||
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "v cds"},
|
||||
{"path": "timing", "type": "bool", "readonly": false, "cmd": "v timing"},
|
||||
{"path": "tc", "type": "float", "visibility": 3},
|
||||
{"path": "tn", "type": "float", "visibility": 3},
|
||||
{"path": "th", "type": "float", "visibility": 3},
|
||||
{"path": "tf", "type": "float", "visibility": 3},
|
||||
{"path": "tm", "type": "float", "visibility": 3},
|
||||
{"path": "tv", "type": "float", "visibility": 3},
|
||||
{"path": "tq", "type": "float", "visibility": 3},
|
||||
{"path": "bdl", "type": "float", "readonly": false, "cmd": "v bdl"},
|
||||
{"path": "v1", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc1", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc1"},
|
||||
{"path": "v2", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc2", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc2"},
|
||||
{"path": "v3", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc3", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc3"},
|
||||
{"path": "v4", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc4", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc4"},
|
||||
{"path": "v5", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc5", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc5"},
|
||||
{"path": "v6", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc6", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc6"},
|
||||
{"path": "v7", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc7", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc7"},
|
||||
{"path": "v8", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc8", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc8"},
|
||||
{"path": "v9", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc9", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc9"},
|
||||
{"path": "v10", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc10", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc10"},
|
||||
{"path": "v11", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc11", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc11"},
|
||||
{"path": "v12", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1, "no_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "vc12", "type": "enum", "enum": {"valve_off": 0, "valve_on": 1}, "readonly": false, "cmd": "v vc12"}]},
|
||||
|
||||
"cc": {"base": "/cc", "params": [
|
||||
{"path": "", "type": "bool", "kids": 96},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||
{"path": "f", "type": "float", "visibility": 3},
|
||||
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs", "visibility": 3},
|
||||
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}, "visibility": 3},
|
||||
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa", "visibility": 3},
|
||||
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp", "visibility": 3},
|
||||
{"path": "msp", "type": "float", "visibility": 3},
|
||||
{"path": "mmp", "type": "float", "visibility": 3},
|
||||
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc", "visibility": 3},
|
||||
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc", "visibility": 3},
|
||||
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc", "visibility": 3},
|
||||
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc", "visibility": 3},
|
||||
{"path": "mtl", "type": "float", "visibility": 3},
|
||||
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft", "visibility": 3},
|
||||
{"path": "mt", "type": "float", "visibility": 3},
|
||||
{"path": "mo", "type": "float", "visibility": 3},
|
||||
{"path": "mcr", "type": "float", "visibility": 3},
|
||||
{"path": "mot", "type": "float", "visibility": 3},
|
||||
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open", "visibility": 3},
|
||||
{"path": "hav", "type": "bool", "readonly": false, "cmd": "cc hav"},
|
||||
{"path": "h", "type": "float", "visibility": 3},
|
||||
{"path": "hr", "type": "float", "visibility": 3},
|
||||
{"path": "hc", "type": "float", "visibility": 3},
|
||||
{"path": "hu", "type": "float", "visibility": 3},
|
||||
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh", "visibility": 3},
|
||||
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl", "visibility": 3},
|
||||
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode", "visibility": 3},
|
||||
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode", "visibility": 3},
|
||||
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd", "visibility": 3},
|
||||
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr", "visibility": 3},
|
||||
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd", "visibility": 3},
|
||||
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}, "visibility": 3},
|
||||
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha", "visibility": 3},
|
||||
{"path": "hm", "type": "bool", "visibility": 3},
|
||||
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf", "visibility": 3},
|
||||
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe", "visibility": 3},
|
||||
{"path": "hmf", "type": "float", "visibility": 3},
|
||||
{"path": "hms", "type": "float", "visibility": 3},
|
||||
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit", "visibility": 3},
|
||||
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft", "visibility": 3},
|
||||
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch", "visibility": 3},
|
||||
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0", "visibility": 3},
|
||||
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)", "visibility": 3},
|
||||
{"path": "h0", "type": "float", "visibility": 3},
|
||||
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h1", "type": "float", "visibility": 3},
|
||||
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h2", "type": "float", "visibility": 3},
|
||||
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h3", "type": "float", "visibility": 3},
|
||||
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h4", "type": "float", "visibility": 3},
|
||||
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h5", "type": "float", "visibility": 3},
|
||||
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "hfb", "type": "float", "visibility": 3},
|
||||
{"path": "nav", "type": "bool", "readonly": false, "cmd": "cc nav"},
|
||||
{"path": "nu", "type": "float", "visibility": 3},
|
||||
{"path": "nl", "type": "float", "visibility": 3},
|
||||
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth", "visibility": 3},
|
||||
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc", "visibility": 3},
|
||||
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm", "visibility": 3},
|
||||
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}, "visibility": 3},
|
||||
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na", "visibility": 3},
|
||||
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}, "visibility": 3},
|
||||
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc", "visibility": 3},
|
||||
{"path": "nfb", "type": "float", "visibility": 3},
|
||||
{"path": "cda", "type": "float"},
|
||||
{"path": "cdb", "type": "float"},
|
||||
{"path": "cba", "type": "float"},
|
||||
{"path": "cbb", "type": "float"},
|
||||
{"path": "cvs", "type": "int"},
|
||||
{"path": "csp", "type": "int"},
|
||||
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||
{"path": "cin", "type": "text"},
|
||||
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||
{"path": "tc", "type": "float", "visibility": 3},
|
||||
{"path": "tn", "type": "float", "visibility": 3},
|
||||
{"path": "th", "type": "float", "visibility": 3},
|
||||
{"path": "tf", "type": "float", "visibility": 3},
|
||||
{"path": "tm", "type": "float", "visibility": 3},
|
||||
{"path": "tv", "type": "float", "visibility": 3},
|
||||
{"path": "tq", "type": "float", "visibility": 3},
|
||||
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]}}
|
@ -1,7 +0,0 @@
|
||||
["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"}]]
|
@ -1,15 +0,0 @@
|
||||
["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"}]]
|
@ -1,39 +0,0 @@
|
||||
["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"}]]
|
@ -1,29 +0,0 @@
|
||||
["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"}]]
|
@ -30,7 +30,7 @@
|
||||
{"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", "type": "float", "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},
|
||||
|
@ -1,119 +0,0 @@
|
||||
[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
|
||||
io = seaconn
|
||||
json_descr = tt.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module nv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = nv.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module ln2fill]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = ln2fill.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module hefill]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = hefill.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module tcoil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tcoil.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module table]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = table.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lnv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = lnv.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lpr]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = seaconn
|
||||
json_descr = lpr.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module lambdawatch]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = lambdawatch.ma11.config
|
||||
remote_paths = .
|
||||
|
||||
[module ts]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = seaconn
|
||||
json_descr = ts.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module treg]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = treg.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module tmon]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tmon.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module sorb]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = seaconn
|
||||
json_descr = sorb.dil4.stick
|
||||
remote_paths = .
|
||||
|
||||
[module ultrasound]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = ultrasound.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module fn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = fn.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module mirror]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = mirror.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module f]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = f.ultrasound.addon
|
||||
remote_paths = .
|
||||
|
||||
[module pars]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = pars.ultrasound.addon
|
||||
remote_paths = .
|
@ -1,35 +0,0 @@
|
||||
["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"}]]
|
@ -1,3 +0,0 @@
|
||||
["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}]]
|
@ -1,51 +0,0 @@
|
||||
["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"}]]
|
@ -1,51 +0,0 @@
|
||||
["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"}]]
|
@ -1,23 +0,0 @@
|
||||
[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
|
||||
io = seaconn
|
||||
json_descr = tt.ori1.config
|
||||
remote_paths = .
|
||||
|
||||
[module nv]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = nv.ori1.config
|
||||
remote_paths = .
|
@ -1,5 +0,0 @@
|
||||
["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]"}]]
|
@ -1,6 +0,0 @@
|
||||
["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"}]]
|
@ -1,6 +0,0 @@
|
||||
["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"}]]
|
@ -1,6 +0,0 @@
|
||||
["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"}]]
|
@ -1,6 +0,0 @@
|
||||
["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"}]]
|
@ -1,6 +0,0 @@
|
||||
["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"}]]
|
@ -1,3 +0,0 @@
|
||||
["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}]]
|
@ -1,29 +0,0 @@
|
||||
["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"}]]
|
@ -1,18 +0,0 @@
|
||||
["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 ..."}]]
|
@ -1,42 +0,0 @@
|
||||
["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}]]
|
@ -1,4 +0,0 @@
|
||||
["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"}]]
|
@ -1,17 +0,0 @@
|
||||
[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
|
||||
io = seaconn
|
||||
json_descr = secop.test_secop4.config
|
||||
remote_paths = .
|
@ -1,107 +0,0 @@
|
||||
["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"}]]
|
@ -1,4 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,4 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,4 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,4 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,78 +0,0 @@
|
||||
["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"}]]
|
@ -1,58 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,58 +0,0 @@
|
||||
["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"}]]
|
@ -1,71 +0,0 @@
|
||||
["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"}]]
|
@ -1,65 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,8 +0,0 @@
|
||||
["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"}]]
|
@ -1,3 +0,0 @@
|
||||
["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}]]
|
287
cfg/sea/variox.config.json1
Normal file
287
cfg/sea/variox.config.json1
Normal file
@ -0,0 +1,287 @@
|
||||
{"tt": {"base": "/tt", "params": [
|
||||
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 17},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "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": "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": "remote", "type": "bool"}]},
|
||||
|
||||
"cc": {"base": "/cc", "params": [
|
||||
{"path": "", "type": "bool", "kids": 96},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||
{"path": "f", "type": "float"},
|
||||
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs"},
|
||||
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa"},
|
||||
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp"},
|
||||
{"path": "msp", "type": "float"},
|
||||
{"path": "mmp", "type": "float"},
|
||||
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc"},
|
||||
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc"},
|
||||
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc"},
|
||||
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc"},
|
||||
{"path": "mtl", "type": "float"},
|
||||
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft"},
|
||||
{"path": "mt", "type": "float"},
|
||||
{"path": "mo", "type": "float"},
|
||||
{"path": "mcr", "type": "float"},
|
||||
{"path": "mot", "type": "float"},
|
||||
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open"},
|
||||
{"path": "hav", "type": "bool", "readonly": false, "cmd": "cc hav"},
|
||||
{"path": "h", "type": "float"},
|
||||
{"path": "hr", "type": "float"},
|
||||
{"path": "hc", "type": "float"},
|
||||
{"path": "hu", "type": "float"},
|
||||
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh"},
|
||||
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl"},
|
||||
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode"},
|
||||
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode"},
|
||||
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd"},
|
||||
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr"},
|
||||
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos."},
|
||||
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos."},
|
||||
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd"},
|
||||
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}},
|
||||
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha"},
|
||||
{"path": "hm", "type": "bool"},
|
||||
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf"},
|
||||
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe"},
|
||||
{"path": "hmf", "type": "float"},
|
||||
{"path": "hms", "type": "float"},
|
||||
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit"},
|
||||
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft"},
|
||||
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch", "visibility": 3},
|
||||
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0", "visibility": 3},
|
||||
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)", "visibility": 3},
|
||||
{"path": "h0", "type": "float", "visibility": 3},
|
||||
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h1", "type": "float", "visibility": 3},
|
||||
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h2", "type": "float", "visibility": 3},
|
||||
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h3", "type": "float", "visibility": 3},
|
||||
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h4", "type": "float", "visibility": 3},
|
||||
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "h5", "type": "float", "visibility": 3},
|
||||
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||
{"path": "hfb", "type": "float"},
|
||||
{"path": "nav", "type": "bool", "readonly": false, "cmd": "cc nav"},
|
||||
{"path": "nu", "type": "float"},
|
||||
{"path": "nl", "type": "float"},
|
||||
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth"},
|
||||
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc"},
|
||||
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm"},
|
||||
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}},
|
||||
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na"},
|
||||
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc"},
|
||||
{"path": "nfb", "type": "float"},
|
||||
{"path": "cda", "type": "float"},
|
||||
{"path": "cdb", "type": "float"},
|
||||
{"path": "cba", "type": "float"},
|
||||
{"path": "cbb", "type": "float"},
|
||||
{"path": "cvs", "type": "int"},
|
||||
{"path": "csp", "type": "int"},
|
||||
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||
{"path": "cin", "type": "text"},
|
||||
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||
{"path": "tc", "type": "float", "visibility": 3},
|
||||
{"path": "tn", "type": "float", "visibility": 3},
|
||||
{"path": "th", "type": "float", "visibility": 3},
|
||||
{"path": "tf", "type": "float", "visibility": 3},
|
||||
{"path": "tm", "type": "float", "visibility": 3},
|
||||
{"path": "tv", "type": "float", "visibility": 3},
|
||||
{"path": "tq", "type": "float", "visibility": 3},
|
||||
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]},
|
||||
|
||||
"nv": {"base": "/nv", "params": [
|
||||
{"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"}]},
|
||||
|
||||
"ln2fill": {"base": "/ln2fill", "params": [
|
||||
{"path": "", "type": "enum", "enum": {"no fill valve": 2}, "readonly": false, "cmd": "ln2fill", "kids": 3},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "ln2fill send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "state", "type": "text"}]},
|
||||
|
||||
"hefill": {"base": "/hefill", "params": [
|
||||
{"path": "", "type": "enum", "enum": {"watching": 0, "fill": 1, "inactive": 2, "manualfill": 3}, "readonly": false, "cmd": "hefill", "kids": 6},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "hefill send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "fast", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf"},
|
||||
{"path": "state", "type": "text"},
|
||||
{"path": "hefull", "type": "float", "readonly": false, "cmd": "cc hh"},
|
||||
{"path": "helow", "type": "float", "readonly": false, "cmd": "cc hl"}]},
|
||||
|
||||
"hepump": {"base": "/hepump", "params": [
|
||||
{"path": "", "type": "enum", "enum": {"xds35_auto": 0, "xds35_manual": 1, "sv65": 2, "other": 3, "no": -1}, "readonly": false, "cmd": "hepump", "description": "xds35: scroll pump, sv65: leybold", "kids": 10},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "hepump send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "running", "type": "bool", "readonly": false, "cmd": "hepump running"},
|
||||
{"path": "eco", "type": "bool", "readonly": false, "cmd": "hepump eco"},
|
||||
{"path": "auto", "type": "bool", "readonly": false, "cmd": "hepump auto"},
|
||||
{"path": "valve", "type": "enum", "enum": {"closed": 0, "closing": 1, "opening": 2, "opened": 3, "undefined": 4}, "readonly": false, "cmd": "hepump valve"},
|
||||
{"path": "eco_t_lim", "type": "float", "readonly": false, "cmd": "hepump eco_t_lim", "description": "switch off eco mode when T_set < eco_t_lim and T < eco_t_lim * 2"},
|
||||
{"path": "calib", "type": "float", "readonly": false, "cmd": "hepump calib", "visibility": 3},
|
||||
{"path": "health", "type": "float"}]},
|
||||
|
||||
"hemot": {"base": "/hepump/hemot", "params": [
|
||||
{"path": "", "type": "float", "readonly": false, "cmd": "run hemot", "kids": 30},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "hemot send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "is_running", "type": "int", "readonly": false, "cmd": "hemot is_running", "visibility": 3},
|
||||
{"path": "pos", "type": "float"},
|
||||
{"path": "encoder", "type": "float"},
|
||||
{"path": "zero", "type": "float", "readonly": false, "cmd": "hemot zero"},
|
||||
{"path": "lowerlimit", "type": "float", "readonly": false, "cmd": "hemot lowerlimit"},
|
||||
{"path": "upperlimit", "type": "float", "readonly": false, "cmd": "hemot upperlimit"},
|
||||
{"path": "disablelimits", "type": "bool", "readonly": false, "cmd": "hemot disablelimits"},
|
||||
{"path": "verbose", "type": "bool", "readonly": false, "cmd": "hemot verbose"},
|
||||
{"path": "target", "type": "float"},
|
||||
{"path": "runstate", "type": "enum", "enum": {"idle": 0, "running": 1, "finished": 2, "error": 3}},
|
||||
{"path": "precision", "type": "float", "readonly": false, "cmd": "hemot precision"},
|
||||
{"path": "maxencdif", "type": "float", "readonly": false, "cmd": "hemot maxencdif"},
|
||||
{"path": "id", "type": "float", "readonly": false, "cmd": "hemot id"},
|
||||
{"path": "pump_number", "type": "float", "readonly": false, "cmd": "hemot pump_number"},
|
||||
{"path": "init", "type": "float", "readonly": false, "cmd": "hemot init"},
|
||||
{"path": "maxspeed", "type": "float", "readonly": false, "cmd": "hemot maxspeed"},
|
||||
{"path": "acceleration", "type": "float", "readonly": false, "cmd": "hemot acceleration"},
|
||||
{"path": "maxcurrent", "type": "float", "readonly": false, "cmd": "hemot maxcurrent"},
|
||||
{"path": "standbycurrent", "type": "float", "readonly": false, "cmd": "hemot standbycurrent"},
|
||||
{"path": "freewheeling", "type": "bool", "readonly": false, "cmd": "hemot freewheeling"},
|
||||
{"path": "output0", "type": "bool", "readonly": false, "cmd": "hemot output0"},
|
||||
{"path": "output1", "type": "bool", "readonly": false, "cmd": "hemot output1"},
|
||||
{"path": "input3", "type": "bool"},
|
||||
{"path": "pullup", "type": "float", "readonly": false, "cmd": "hemot pullup"},
|
||||
{"path": "nopumpfeedback", "type": "bool", "readonly": false, "cmd": "hemot nopumpfeedback"},
|
||||
{"path": "eeprom", "type": "enum", "enum": {"ok": 0, "dirty": 1, "save": 2, "load": 3}, "readonly": false, "cmd": "hemot eeprom"},
|
||||
{"path": "customadr", "type": "text", "readonly": false, "cmd": "hemot customadr"},
|
||||
{"path": "custompar", "type": "float", "readonly": false, "cmd": "hemot custompar"}]},
|
||||
|
||||
"nvflow": {"base": "/nvflow", "params": [
|
||||
{"path": "", "type": "float", "kids": 7},
|
||||
{"path": "send", "type": "text", "readonly": false, "cmd": "nvflow send", "visibility": 3},
|
||||
{"path": "status", "type": "text", "visibility": 3},
|
||||
{"path": "stddev", "type": "float"},
|
||||
{"path": "nsamples", "type": "int", "readonly": false, "cmd": "nvflow nsamples"},
|
||||
{"path": "offset", "type": "float", "readonly": false, "cmd": "nvflow offset"},
|
||||
{"path": "scale", "type": "float", "readonly": false, "cmd": "nvflow scale"},
|
||||
{"path": "save", "type": "bool", "readonly": false, "cmd": "nvflow save", "description": "unchecked: current calib is not saved. set checked: save calib"}]}}
|
@ -1,65 +0,0 @@
|
||||
[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
|
||||
io = seaconn
|
||||
json_descr = tvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pstat]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = pstat.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module pdyn]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = pdyn.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck1]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tneck1.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tneck2]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tneck2.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvs]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tnvs.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module tnvd]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = tnvd.varioxB.config
|
||||
remote_paths = .
|
||||
|
||||
[module ts]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = seaconn
|
||||
json_descr = ts.vb.stick
|
||||
remote_paths = .
|
@ -1,31 +0,0 @@
|
||||
["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"}]]
|
@ -23,12 +23,42 @@ class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
|
||||
[T_oneK]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
rel_paths = onek
|
||||
|
||||
[T_still]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
rel_paths = stillt
|
||||
|
||||
[T_sample]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = sample
|
||||
|
||||
[T_samplehtr]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = samplehtr
|
||||
|
||||
[T_mix]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = mix
|
||||
|
||||
[dil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = dil
|
||||
|
||||
[sorb]
|
||||
[T_sorb]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_stick
|
||||
sea_object = sorb
|
||||
|
64
cfg/stick/dil3.cfg
Normal file
64
cfg/stick/dil3.cfg
Normal file
@ -0,0 +1,64 @@
|
||||
[NODE]
|
||||
description = dilution insert
|
||||
id = dil3.stick.sea.psi.ch
|
||||
|
||||
[sea_stick]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = stick sea connection for dil3.stick
|
||||
config = dil3.stick
|
||||
service = stick
|
||||
|
||||
[ts]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_stick
|
||||
sea_object = ts
|
||||
|
||||
[treg]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
|
||||
[tmon]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
|
||||
[T_oneK]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
rel_paths = onek
|
||||
|
||||
[T_still]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
rel_paths = stillt
|
||||
|
||||
[T_sample]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = sample
|
||||
|
||||
[T_samplehtr]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = samplehtr
|
||||
|
||||
[T_mix]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = mix
|
||||
|
||||
[dil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = dil
|
||||
|
||||
[T_sorb]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_stick
|
||||
sea_object = sorb
|
64
cfg/stick/dil4.cfg
Normal file
64
cfg/stick/dil4.cfg
Normal file
@ -0,0 +1,64 @@
|
||||
[NODE]
|
||||
description = dilution insert
|
||||
id = dil4.stick.sea.psi.ch
|
||||
|
||||
[sea_stick]
|
||||
class = secop_psi.sea.SeaClient
|
||||
description = stick sea connection for dil4.stick
|
||||
config = dil4.stick
|
||||
service = stick
|
||||
|
||||
[ts]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_stick
|
||||
sea_object = ts
|
||||
|
||||
[treg]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
|
||||
[tmon]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
|
||||
[T_oneK]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
rel_paths = onek
|
||||
|
||||
[T_still]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = tmon
|
||||
rel_paths = stillt
|
||||
|
||||
[T_sample]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = sample
|
||||
|
||||
[T_samplehtr]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = samplehtr
|
||||
|
||||
[T_mix]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = treg
|
||||
rel_paths = mix
|
||||
|
||||
[dil]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
io = sea_stick
|
||||
sea_object = dil
|
||||
|
||||
[T_sorb]
|
||||
class = secop_psi.sea.SeaDrivable
|
||||
io = sea_stick
|
||||
sea_object = sorb
|
@ -9,12 +9,32 @@ uri = tcp://5000
|
||||
class = secop_psi.mercury.IO
|
||||
description = connection to triton software
|
||||
uri = tcp://linse-dil5:33576
|
||||
timeout = 5
|
||||
|
||||
[action]
|
||||
class = secop_psi.triton.Action
|
||||
description = higher level scripts
|
||||
[ts]
|
||||
class = secop_psi.triton.TemperatureLoop
|
||||
description = mix. chamber temperature
|
||||
slot = T5
|
||||
output_module = htr_mix
|
||||
io = triton
|
||||
|
||||
[htr_mix]
|
||||
class = secop_psi.triton.HeaterOutputWithRange
|
||||
description = mix. chamber heater
|
||||
slot = H1,T5
|
||||
io = triton
|
||||
|
||||
[htr_sorb]
|
||||
class = secop_psi.triton.HeaterOutput
|
||||
description = sorb heater
|
||||
slot = H2
|
||||
io = triton
|
||||
|
||||
[htr_still]
|
||||
class = secop_psi.triton.HeaterOutput
|
||||
description = still heater
|
||||
slot = H3
|
||||
io = triton
|
||||
slot = DR
|
||||
|
||||
[T_sorb]
|
||||
class = secop_psi.triton.TemperatureSensor
|
||||
@ -40,11 +60,11 @@ description = cold plate temperature
|
||||
slot = T4
|
||||
io = triton
|
||||
|
||||
[T_mix]
|
||||
class = secop_psi.triton.TemperatureSensor
|
||||
description = mix. chamber temperature
|
||||
slot = T5
|
||||
[action]
|
||||
class = secop_psi.triton.Action
|
||||
description = higher level scripts
|
||||
io = triton
|
||||
slot = DR
|
||||
|
||||
[p_dump]
|
||||
class = secop_psi.mercury.PressureSensor
|
||||
@ -87,7 +107,7 @@ description = still warmup temperature
|
||||
slot = MB1.T1
|
||||
io = itc
|
||||
|
||||
[P_still_wup]
|
||||
[htr_still_wup]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
description = still warmup heater
|
||||
slot = MB0.H1
|
||||
@ -99,7 +119,7 @@ description = 1 K plate warmup temperature
|
||||
slot = DB5.T1
|
||||
io = itc
|
||||
|
||||
[P_one_K]
|
||||
[htr_one_K]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
description = 1 K plate warmup heater
|
||||
slot = DB3.H1
|
||||
@ -111,7 +131,7 @@ description = mix. chamber warmup temperature
|
||||
slot = DB6.T1
|
||||
io = itc
|
||||
|
||||
[P_mix_wup]
|
||||
[htr_mix_wup]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
description = mix. chamber warmup heater
|
||||
slot = DB1.H1
|
||||
@ -123,7 +143,7 @@ description = IVC warmup temperature
|
||||
slot = DB7.T1
|
||||
io = itc
|
||||
|
||||
[P_ivc_wup]
|
||||
[htr_ivc_wup]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
description = IVC warmup heater
|
||||
slot = DB2.H1
|
||||
@ -135,7 +155,7 @@ description = condenser temperature
|
||||
slot = DB8.T1
|
||||
io = itc
|
||||
|
||||
[P_cond]
|
||||
[htr_cond]
|
||||
class = secop_psi.mercury.HeaterOutput
|
||||
description = condenser heater
|
||||
slot = DB3.H1
|
||||
|
@ -10,7 +10,7 @@ service = stick
|
||||
|
||||
[ts]
|
||||
class = secop_psi.sea.SeaReadable
|
||||
iodev = sea_stick
|
||||
io = sea_stick
|
||||
sea_object = tt
|
||||
json_file = ill4.config.json
|
||||
rel_paths = ts
|
||||
|
@ -51,8 +51,17 @@ class GeneralConfig:
|
||||
|
||||
:param configfile: if present, keys and values from the [FRAPPY] section are read
|
||||
|
||||
if configfile is not given, it tries to guess the location of the configfile
|
||||
or determine 'piddir', 'logdir', 'confdir' and 'basedir' from the environment.
|
||||
default values for 'piddir', 'logdir' and 'confdir' are guessed from the
|
||||
location of this source file and from sys.executable.
|
||||
|
||||
if configfile is not given, the general config file is determined by
|
||||
the env. variable FRAPPY_CONFIG_FILE or looked up in <confdir>/generalConfig.cfg
|
||||
|
||||
if a configfile is given, the values from the FRAPPY section are
|
||||
overriding above defaults
|
||||
|
||||
finally, the env. variables FRAPPY_PIDDIR, FRAPPY_LOGDIR and FRAPPY_CONFDIR
|
||||
are overriding these values when given
|
||||
"""
|
||||
cfg = {}
|
||||
mandatory = 'piddir', 'logdir', 'confdir'
|
||||
@ -69,18 +78,19 @@ class GeneralConfig:
|
||||
# running on installed system (typically with systemd)
|
||||
cfg.update(piddir='/var/run/frappy', logdir='/var/log', confdir='/etc/frappy')
|
||||
if configfile is None:
|
||||
configfile = environ.get('FRAPPY_CONFIG_FILE',
|
||||
path.join(cfg['confdir'], 'generalConfig.cfg'))
|
||||
configfile = path.expanduser(configfile)
|
||||
if not path.exists(configfile):
|
||||
raise FileNotFoundError(configfile)
|
||||
if configfile and path.exists(configfile):
|
||||
configfile = environ.get('FRAPPY_CONFIG_FILE')
|
||||
if configfile:
|
||||
configfile = path.expanduser(configfile)
|
||||
if not path.exists(configfile):
|
||||
raise FileNotFoundError(configfile)
|
||||
else:
|
||||
configfile = path.join(cfg['confdir'], 'generalConfig.cfg')
|
||||
if not path.exists(configfile):
|
||||
configfile = None
|
||||
if configfile:
|
||||
parser = ConfigParser()
|
||||
parser.optionxform = str
|
||||
parser.read([configfile])
|
||||
# mandatory in a general config file:
|
||||
cfg['logdir'] = cfg['piddir'] = None
|
||||
cfg['confdir'] = path.dirname(configfile)
|
||||
# only the FRAPPY section is relevant, other sections might be used by others
|
||||
for key, value in parser['FRAPPY'].items():
|
||||
if value.startswith('./'):
|
||||
@ -88,14 +98,15 @@ class GeneralConfig:
|
||||
else:
|
||||
# expand ~ to username, also in path lists separated with ':'
|
||||
cfg[key] = ':'.join(path.expanduser(v) for v in value.split(':'))
|
||||
else:
|
||||
for key in mandatory:
|
||||
cfg[key] = environ.get('FRAPPY_%s' % key.upper(), cfg[key])
|
||||
if cfg.get('confdir') is None:
|
||||
cfg['confdir'] = path.dirname(configfile)
|
||||
for key in mandatory:
|
||||
cfg[key] = environ.get('FRAPPY_%s' % key.upper(), cfg.get(key))
|
||||
missing_keys = [key for key in mandatory if cfg[key] is None]
|
||||
if missing_keys:
|
||||
if path.exists(configfile):
|
||||
if configfile:
|
||||
raise KeyError('missing value for %s in %s' % (' and '.join(missing_keys), configfile))
|
||||
raise FileNotFoundError(configfile)
|
||||
raise KeyError('missing %s' % ' and '.join('FRAPPY_%s' % k.upper() for k in missing_keys))
|
||||
# this is not customizable
|
||||
cfg['basedir'] = repodir
|
||||
self._config = cfg
|
||||
|
@ -186,6 +186,7 @@ class StateMachine:
|
||||
ret = self.state(self)
|
||||
self.init = False
|
||||
if self.stopped:
|
||||
self.log.debug('%r', self.stopped)
|
||||
self.last_error = self.stopped
|
||||
self.cleanup(self)
|
||||
self.stopped = False
|
||||
@ -268,6 +269,7 @@ class StateMachine:
|
||||
self.stopped = Restart
|
||||
with self._lock: # wait for running cycle finished
|
||||
if self.stopped: # cleanup is not yet done
|
||||
self.log.debug('restart')
|
||||
self.last_error = self.stopped
|
||||
self.cleanup(self) # ignore return state on restart
|
||||
self.stopped = False
|
||||
|
@ -60,8 +60,8 @@ class HasConvergence:
|
||||
|
||||
def cleanup(self, state):
|
||||
state.default_cleanup(state)
|
||||
if self.stopped:
|
||||
if self.stopped is Stop: # and not Restart
|
||||
if state.stopped:
|
||||
if state.stopped is Stop: # and not Restart
|
||||
self.status = WARN, 'stopped'
|
||||
else:
|
||||
self.status = WARN, repr(state.last_error)
|
||||
@ -78,11 +78,11 @@ class HasConvergence:
|
||||
return dif / self.timeout # assume exponential decay of dif, with time constant <tolerance>
|
||||
|
||||
def get_dif_tol(self):
|
||||
self.read_value()
|
||||
value = self.read_value()
|
||||
tol = self.tolerance
|
||||
if not tol:
|
||||
tol = 0.01 * max(abs(self.target), abs(self.value))
|
||||
dif = abs(self.target - self.value)
|
||||
tol = 0.01 * max(abs(self.target), abs(value))
|
||||
dif = abs(self.target - value)
|
||||
return dif, tol
|
||||
|
||||
def start_state(self):
|
||||
@ -91,6 +91,7 @@ class HasConvergence:
|
||||
|
||||
def state_approach(self, state):
|
||||
"""approaching, checking progress (busy)"""
|
||||
state.spent_inside = 0
|
||||
dif, tol = self.get_dif_tol()
|
||||
if dif < tol:
|
||||
state.timeout_base = state.now
|
||||
@ -101,7 +102,6 @@ class HasConvergence:
|
||||
state.timeout_base = state.now
|
||||
state.dif_crit = dif # criterium for resetting timeout base
|
||||
self.status = BUSY, 'approaching'
|
||||
state.spent_inside = 0
|
||||
state.dif_crit -= self.get_min_slope(dif) * state.delta()
|
||||
if dif < state.dif_crit: # progress is good: reset timeout base
|
||||
state.timeout_base = state.now
|
||||
|
@ -34,7 +34,7 @@ CURRENT_CHECK_SIZE = 2
|
||||
|
||||
class Field(MercuryChannel, Magfield):
|
||||
action = Parameter('action', EnumType(Action), readonly=False)
|
||||
setpoint = Parameter('field setpoint', FloatRange(unit='T'), readonly=False, default=0)
|
||||
setpoint = Parameter('field setpoint', FloatRange(unit='T'), default=0)
|
||||
atob = Parameter('field to amp', FloatRange(0, unit='A/T'), default=0)
|
||||
forced_persistent_field = Parameter(
|
||||
'manual indication that persistent field is bad', BoolType(), readonly=False, default=False)
|
||||
@ -95,9 +95,6 @@ class Field(MercuryChannel, Magfield):
|
||||
def read_setpoint(self):
|
||||
return self.query('PSU:SIG:FSET')
|
||||
|
||||
def write_setpoint(self, value):
|
||||
return self.query('PSU:SIG:FSET', value)
|
||||
|
||||
def read_current(self):
|
||||
if self.slave_currents is None:
|
||||
self.slave_currents = [[] for _ in range(self.nslaves + 1)]
|
||||
|
@ -114,7 +114,8 @@ class Magfield(HasLimits, Drivable):
|
||||
def write_target(self, target):
|
||||
self.check_limits(target)
|
||||
self.target = target
|
||||
if not self._state.is_active: # as long as the state machine is still running, it takes care of changing targets
|
||||
if not self._state.is_active:
|
||||
# as long as the state machine is still running, it takes care of changing targets
|
||||
self._state.start(self.start_field_change)
|
||||
self.doPoll()
|
||||
return Done
|
||||
@ -225,12 +226,11 @@ class Magfield(HasLimits, Drivable):
|
||||
|
||||
def stabilize_field(self, state):
|
||||
"""stabilize field"""
|
||||
self.persistent_field = self.value
|
||||
if state.now - state.stabilize_start < self.wait_stable_field:
|
||||
if state.init:
|
||||
self.status = Status.STABILIZING, 'stabilizing field'
|
||||
self.persistent_field = self.value
|
||||
return Retry()
|
||||
self.persistent_field = state.set_point
|
||||
return self.check_switch_off
|
||||
|
||||
def check_switch_off(self, state):
|
||||
@ -257,6 +257,7 @@ class Magfield(HasLimits, Drivable):
|
||||
return self.start_switch_on
|
||||
if self.mode == Mode.DRIVEN:
|
||||
return self.start_switch_on
|
||||
self.persistent_field = self.value
|
||||
if state.now - self.switch_time < self.wait_switch_off:
|
||||
return Retry()
|
||||
return self.start_ramp_to_zero
|
||||
|
@ -27,7 +27,7 @@ import time
|
||||
|
||||
from secop.core import Drivable, HasIO, Writable, \
|
||||
Parameter, Property, Readable, StringIO, Attached, Done, IDLE, nopoll
|
||||
from secop.datatypes import EnumType, FloatRange, StringType, StructOf, BoolType
|
||||
from secop.datatypes import EnumType, FloatRange, StringType, StructOf, BoolType, TupleOf
|
||||
from secop.errors import HardwareError
|
||||
from secop_psi.convergence import HasConvergence
|
||||
from secop.lib.enum import Enum
|
||||
@ -172,26 +172,29 @@ class TemperatureSensor(MercuryChannel, Readable):
|
||||
|
||||
class HasInput(MercuryChannel):
|
||||
controlled_by = Parameter('source of target value', EnumType(members={'self': SELF}), default=0)
|
||||
target = Parameter(readonly=False)
|
||||
input_modules = ()
|
||||
# do not know why this? target = Parameter(readonly=False)
|
||||
input_callbacks = ()
|
||||
|
||||
def add_input(self, modobj):
|
||||
if not self.input_modules:
|
||||
self.input_modules = []
|
||||
self.input_modules.append(modobj)
|
||||
def register_input(self, name, control_off):
|
||||
"""register input
|
||||
|
||||
:param name: the name of the module (for controlled_by enum)
|
||||
:param control_off: a method on the input module to switch off control
|
||||
"""
|
||||
if not self.input_callbacks:
|
||||
self.input_callbacks = []
|
||||
self.input_callbacks.append(control_off)
|
||||
prev_enum = self.parameters['controlled_by'].datatype._enum
|
||||
# add enum member, using autoincrement feature of Enum
|
||||
self.parameters['controlled_by'].datatype = EnumType(Enum(prev_enum, **{modobj.name: None}))
|
||||
self.parameters['controlled_by'].datatype = EnumType(Enum(prev_enum, **{name: None}))
|
||||
|
||||
def write_controlled_by(self, value):
|
||||
if self.controlled_by == value:
|
||||
return Done
|
||||
self.controlled_by = value
|
||||
if value == SELF:
|
||||
self.log.warning('switch to manual mode')
|
||||
for input_module in self.input_modules:
|
||||
if input_module.control_active:
|
||||
input_module.write_control_active(False)
|
||||
for control_off in self.input_callbacks:
|
||||
control_off()
|
||||
return Done
|
||||
|
||||
|
||||
@ -209,12 +212,17 @@ class Loop(HasConvergence, MercuryChannel, Drivable):
|
||||
def initModule(self):
|
||||
super().initModule()
|
||||
if self.output_module:
|
||||
self.output_module.add_input(self)
|
||||
self.output_module.register_input(self.name, self.control_off)
|
||||
|
||||
def control_off(self):
|
||||
if self.control_active:
|
||||
self.log.warning('switch to manual mode')
|
||||
self.write_control_active(False)
|
||||
|
||||
def set_output(self, active):
|
||||
if active:
|
||||
if self.output_module and self.output_module.controlled_by != self.name:
|
||||
self.output_module.controlled_by = self.name
|
||||
self.output_module.write_controlled_by(self.name)
|
||||
else:
|
||||
if self.output_module and self.output_module.controlled_by != SELF:
|
||||
self.output_module.write_controlled_by(SELF)
|
||||
@ -310,8 +318,8 @@ class HeaterOutput(HasInput, MercuryChannel, Writable):
|
||||
return volt * current
|
||||
|
||||
def read_target(self):
|
||||
if self.controlled_by != 0 and self.target:
|
||||
return 0
|
||||
if self.controlled_by != 0:
|
||||
return Done
|
||||
if self._last_target is not None:
|
||||
return Done
|
||||
self._volt_target = self.query('HTR:SIG:VOLT')
|
||||
@ -319,15 +327,15 @@ class HeaterOutput(HasInput, MercuryChannel, Writable):
|
||||
self._last_target = self._volt_target ** 2 / max(10, self.resistivity)
|
||||
return self._last_target
|
||||
|
||||
def set_target(self, value):
|
||||
def set_target(self, target):
|
||||
"""set the target without switching to manual
|
||||
|
||||
might be used by a software loop
|
||||
"""
|
||||
self._volt_target = math.sqrt(value * self.resistivity)
|
||||
self._volt_target = math.sqrt(target * self.resistivity)
|
||||
self.change('HTR:SIG:VOLT', self._volt_target)
|
||||
self._last_target = value
|
||||
return value
|
||||
self._last_target = target
|
||||
return target
|
||||
|
||||
def write_target(self, value):
|
||||
self.write_controlled_by(SELF)
|
||||
@ -335,26 +343,29 @@ class HeaterOutput(HasInput, MercuryChannel, Writable):
|
||||
|
||||
|
||||
class TemperatureLoop(TemperatureSensor, Loop, Drivable):
|
||||
channel_type = 'TEMP,HTR'
|
||||
output_module = Attached(HeaterOutput, mandatory=False)
|
||||
channel_type = 'TEMP'
|
||||
output_module = Attached(HasInput, mandatory=False)
|
||||
ramp = Parameter('ramp rate', FloatRange(0, unit='K/min'), readonly=False)
|
||||
enable_ramp = Parameter('enable ramp rate', BoolType(), readonly=False)
|
||||
setpoint = Parameter('working setpoint (differs from target when ramping)', FloatRange(0, unit='$'))
|
||||
auto_flow = Parameter('enable auto flow', BoolType(), readonly=False)
|
||||
tolerance = Parameter(default=0.1)
|
||||
_last_setpoint_change = None
|
||||
ENABLE = 'TEMP:LOOP:ENAB'
|
||||
ENABLE_RAMP = 'TEMP:LOOP:RENA'
|
||||
RAMP_RATE = 'TEMP:LOOP:RSET'
|
||||
|
||||
def doPoll(self):
|
||||
super().doPoll()
|
||||
self.read_setpoint()
|
||||
|
||||
def read_control_active(self):
|
||||
active = self.query('TEMP:LOOP:ENAB', off_on)
|
||||
active = self.query(self.ENABLE, off_on)
|
||||
self.set_output(active)
|
||||
return active
|
||||
|
||||
def write_control_active(self, value):
|
||||
self.set_output(value)
|
||||
return self.change('TEMP:LOOP:ENAB', value, off_on)
|
||||
return self.change(self.ENABLE, value, off_on)
|
||||
|
||||
@nopoll # polled by read_setpoint
|
||||
def read_target(self):
|
||||
@ -388,19 +399,24 @@ class TemperatureLoop(TemperatureSensor, Loop, Drivable):
|
||||
return Done
|
||||
|
||||
def read_enable_ramp(self):
|
||||
return self.query('TEMP:LOOP:RENA', off_on)
|
||||
return self.query(self.ENABLE_RAMP, off_on)
|
||||
|
||||
def write_enable_ramp(self, value):
|
||||
return self.change('TEMP:LOOP:RENA', value, off_on)
|
||||
return self.change(self.ENABLE_RAMP, value, off_on)
|
||||
|
||||
def read_auto_flow(self):
|
||||
return self.query('TEMP:LOOP:FAUT', off_on)
|
||||
|
||||
def write_auto_flow(self, value):
|
||||
return self.change('TEMP:LOOP:FAUT', value, off_on)
|
||||
def set_output(self, active):
|
||||
if active:
|
||||
if self.output_module and self.output_module.controlled_by != self.name:
|
||||
self.output_module.write_controlled_by(self.name)
|
||||
else:
|
||||
if self.output_module and self.output_module.controlled_by != SELF:
|
||||
self.output_module.write_controlled_by(SELF)
|
||||
status = IDLE, 'control inactive'
|
||||
if self.status != status:
|
||||
self.status = status
|
||||
|
||||
def read_ramp(self):
|
||||
result = self.query('TEMP:LOOP:RSET')
|
||||
result = self.query(self.RAMP_RATE)
|
||||
return min(9e99, result)
|
||||
|
||||
def write_ramp(self, value):
|
||||
@ -409,11 +425,11 @@ class TemperatureLoop(TemperatureSensor, Loop, Drivable):
|
||||
self.write_enable_ramp(0)
|
||||
return 0
|
||||
if value >= 9e99:
|
||||
self.change('TEMP:LOOP:RSET', 'inf', as_string)
|
||||
self.change(self.RAMP_RATE, 'inf', as_string)
|
||||
self.write_enable_ramp(0)
|
||||
return 9e99
|
||||
self.write_enable_ramp(1)
|
||||
return self.change('TEMP:LOOP:RSET', max(1e-4, value))
|
||||
return self.change(self.RAMP_RATE, max(1e-4, value))
|
||||
|
||||
|
||||
class PressureSensor(MercuryChannel, Readable):
|
||||
@ -449,9 +465,10 @@ class ValvePos(HasInput, MercuryChannel, Drivable):
|
||||
return self.change('PRES:LOOP:FSET', value)
|
||||
|
||||
|
||||
class PressureLoop(PressureSensor, Loop, Drivable):
|
||||
channel_type = 'PRES,AUX'
|
||||
class PressureLoop(HasInput, PressureSensor, Loop, Drivable):
|
||||
channel_type = 'PRES'
|
||||
output_module = Attached(ValvePos, mandatory=False)
|
||||
tolerance = Parameter(default=0.1)
|
||||
|
||||
def read_control_active(self):
|
||||
active = self.query('PRES:LOOP:FAUT', off_on)
|
||||
@ -465,12 +482,62 @@ class PressureLoop(PressureSensor, Loop, Drivable):
|
||||
def read_target(self):
|
||||
return self.query('PRES:LOOP:PRST')
|
||||
|
||||
def set_target(self, target):
|
||||
"""set the target without switching to manual
|
||||
|
||||
might be used by a software loop
|
||||
"""
|
||||
self.change('PRES:LOOP:PRST', target)
|
||||
super().set_target(target)
|
||||
|
||||
def write_target(self, value):
|
||||
target = self.change('PRES:LOOP:PRST', value)
|
||||
self.set_target(target)
|
||||
self.write_controlled_by(SELF)
|
||||
self.set_target(value)
|
||||
return Done
|
||||
|
||||
|
||||
class HasAutoFlow:
|
||||
needle_valve = Attached(PressureLoop, mandatory=False)
|
||||
auto_flow = Parameter('enable auto flow', BoolType(), readonly=False, default=0)
|
||||
flowpars = Parameter('Tdif(min, max), FlowSet(min, max)',
|
||||
TupleOf(TupleOf(FloatRange(unit='K'), FloatRange(unit='K')),
|
||||
TupleOf(FloatRange(unit='mbar'), FloatRange(unit='mbar'))),
|
||||
readonly=False, default=((1,5), (4,20)))
|
||||
|
||||
def read_value(self):
|
||||
value = super().read_value()
|
||||
if self.auto_flow:
|
||||
(dmin, dmax), (fmin, fmax) = self.flowpars
|
||||
flowset = min(dmax - dmin, max(0, value - self.target - dmin)) / (dmax - dmin) * (fmax - fmin) + fmin
|
||||
self.needle_valve.set_target(flowset)
|
||||
return Done
|
||||
|
||||
def initModule(self):
|
||||
super().initModule()
|
||||
if self.needle_valve:
|
||||
self.needle_valve.register_input(self.name, self.auto_flow_off)
|
||||
|
||||
def write_auto_flow(self, value):
|
||||
if value:
|
||||
if self.needle_valve and self.needle_valve.controlled_by != self.name:
|
||||
self.needle_valve.write_controlled_by(self.name)
|
||||
else:
|
||||
if self.needle_valve and self.needle_valve.controlled_by != SELF:
|
||||
self.needle_valve.write_controlled_by(SELF)
|
||||
_, (fmin, _) = self.flowpars
|
||||
self.needle_valve.write_target(fmin)
|
||||
return value
|
||||
|
||||
def auto_flow_off(self):
|
||||
if self.auto_flow:
|
||||
self.log.warning('switch auto flow off')
|
||||
self.write_auto_flow(False)
|
||||
|
||||
|
||||
class TemperatureAutoFlow(HasAutoFlow, TemperatureLoop):
|
||||
pass
|
||||
|
||||
|
||||
class HeLevel(MercuryChannel, Readable):
|
||||
"""He level meter channel
|
||||
|
||||
@ -478,6 +545,7 @@ class HeLevel(MercuryChannel, Readable):
|
||||
(when filling) and slow (when consuming). We have to handle this by software.
|
||||
"""
|
||||
channel_type = 'LVL'
|
||||
value = Parameter(unit='%')
|
||||
sample_rate = Parameter('_', EnumType(slow=0, fast=1), readonly=False)
|
||||
hysteresis = Parameter('hysteresis for detection of increase', FloatRange(0, 100, unit='%'),
|
||||
default=5, readonly=False)
|
||||
@ -531,9 +599,7 @@ class HeLevel(MercuryChannel, Readable):
|
||||
|
||||
class N2Level(MercuryChannel, Readable):
|
||||
channel_type = 'LVL'
|
||||
value = Parameter(unit='%')
|
||||
|
||||
def read_value(self):
|
||||
return self.query('LVL:SIG:NIT:LEV')
|
||||
|
||||
|
||||
# TODO: magnet power supply
|
||||
|
@ -31,29 +31,27 @@ from secop.lib import clamp
|
||||
|
||||
class PhytronIO(StringIO):
|
||||
end_of_line = '\x03' # ETX
|
||||
timeout = 0.2
|
||||
timeout = 0.5
|
||||
identification = [('0IVR', 'MCC Minilog .*')]
|
||||
|
||||
def communicate(self, command, expect_response=True):
|
||||
def communicate(self, command):
|
||||
for ntry in range(5, 0, -1):
|
||||
try:
|
||||
head, _, reply = super().communicate('\x02' + command).partition('\x02')
|
||||
_, _, reply = super().communicate('\x02' + command).partition('\x02')
|
||||
if reply[0] == '\x06': # ACK
|
||||
if len(reply) == 1 and expect_response:
|
||||
raise CommunicationFailedError('empty response')
|
||||
break
|
||||
raise CommunicationFailedError('missing ACK %r' % reply)
|
||||
raise CommunicationFailedError('missing ACK %r (cmd: %r)'
|
||||
% (reply, command))
|
||||
except Exception as e:
|
||||
if ntry == 1:
|
||||
raise
|
||||
self.log.warning('%s - retry', e)
|
||||
if ntry == 1:
|
||||
raise
|
||||
self.log.warning('%s - retry', e)
|
||||
return reply[1:]
|
||||
|
||||
|
||||
class Motor(PersistentMixin, HasIO, Drivable):
|
||||
axis = Property('motor axis X or Y', StringType(), default='X')
|
||||
address = Property('address', IntRange(0, 15), default=0)
|
||||
speed_factor = Property('steps / degree', FloatRange(0, None), default=2000)
|
||||
|
||||
encoder_mode = Parameter('how to treat the encoder', EnumType('encoder', NO=0, READ=1, CHECK=2),
|
||||
default=1, readonly=False)
|
||||
@ -65,8 +63,9 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
offset = PersistentParam('', FloatRange(unit='deg'), readonly=False, default=0)
|
||||
sign = PersistentParam('', IntRange(-1,1), readonly=False, default=1)
|
||||
encoder = Parameter('encoder reading', FloatRange(unit='deg'))
|
||||
sameside_offset = Parameter('offset when always approaching from the same side',
|
||||
FloatRange(unit='deg'), readonly=False, default=0)
|
||||
backlash = Parameter("""backlash compensation\n
|
||||
offset for always approaching from the same side""",
|
||||
FloatRange(unit='deg'), readonly=False, default=0)
|
||||
abslimits = Parameter('abs limits (raw values)', default=(0, 0),
|
||||
datatype=TupleOf(FloatRange(unit='deg'), FloatRange(unit='deg')))
|
||||
userlimits = PersistentParam('user limits', readonly=False, default=(0, 0), initwrite=True,
|
||||
@ -74,9 +73,10 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
|
||||
ioClass = PhytronIO
|
||||
fast_poll = 0.1
|
||||
_sameside_pending = False
|
||||
_backlash_pending = False
|
||||
_mismatch_count = 0
|
||||
_rawlimits = None
|
||||
_step_size = None # degree / step
|
||||
|
||||
def earlyInit(self):
|
||||
super().earlyInit()
|
||||
@ -88,10 +88,19 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
self.loadParameters()
|
||||
|
||||
def get(self, cmd):
|
||||
return self.communicate('\x02%x%s%s' % (self.address, self.axis, cmd))
|
||||
return self.communicate('%x%s%s' % (self.address, self.axis, cmd))
|
||||
|
||||
def set(self, cmd, value):
|
||||
self.communicate('\x02%x%s%s%g' % (self.address, self.axis, cmd, value), False)
|
||||
# make sure e format is not used, max 8 characters
|
||||
strvalue = '%.6g' % value
|
||||
if 'e' in strvalue:
|
||||
if abs(value) <= 1: # very small number
|
||||
strvalue = '%.7f' % value
|
||||
elif abs(value) < 99999999: # big number
|
||||
strvalue = '%.0f' % value
|
||||
else:
|
||||
raise ValueError('number (%g) must not have more than 8 digits' % value)
|
||||
self.communicate('%x%s%s%s' % (self.address, self.axis, cmd, strvalue))
|
||||
|
||||
def set_get(self, cmd, value, query):
|
||||
self.set(cmd, value)
|
||||
@ -104,7 +113,7 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
enc = self.read_encoder()
|
||||
else:
|
||||
enc = pos
|
||||
status = self.communicate('\x02%xSE' % self.address)
|
||||
status = self.communicate('%xSE' % self.address)
|
||||
status = status[0:4] if self.axis == 'X' else status[4:8]
|
||||
self.log.debug('run %s enc %s end %s', status[1], status[2], status[3])
|
||||
status = self.get('=H')
|
||||
@ -122,10 +131,10 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
else:
|
||||
self.status = self.Status.BUSY, 'driving'
|
||||
else:
|
||||
if self._sameside_pending:
|
||||
if self._backlash_pending:
|
||||
# drive to real target
|
||||
self.set('A', self.sign * (self.target + self.offset))
|
||||
self._sameside_pending = False
|
||||
self._backlash_pending = False
|
||||
return pos
|
||||
if (self.encoder_mode == 'CHECK' and
|
||||
abs(enc - pos) > self.encoder_tolerance):
|
||||
@ -146,29 +155,39 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
return self.value
|
||||
return float(self.get('P22R')) * self.sign - self.offset
|
||||
|
||||
def write_sign(self, value):
|
||||
self.sign = value
|
||||
self.saveParameters()
|
||||
return Done
|
||||
|
||||
def get_step_size(self):
|
||||
self._step_size = float(self.get('P03R'))
|
||||
|
||||
def read_speed(self):
|
||||
return float(self.get('P14R')) / self.speed_factor
|
||||
if self._step_size is None:
|
||||
# avoid repeatedly reading step size, as this is polled and will not change
|
||||
self.get_step_size()
|
||||
return float(self.get('P14R')) * self._step_size
|
||||
|
||||
def write_speed(self, value):
|
||||
inv_factor = float(self.get('P03R'))
|
||||
if abs(inv_factor * self.speed_factor - 1) > 0.001:
|
||||
raise HardwareError('speed factor does not match %g' % (1.0 / inv_factor))
|
||||
return float(self.set_get('P14S', int(value * self.speed_factor), 'P14R')) / self.speed_factor
|
||||
self.get_step_size() # read step size anyway, it does not harm
|
||||
return float(self.set_get('P14S', round(value / self._step_size), 'P14R')) * self._step_size
|
||||
|
||||
def read_accel(self):
|
||||
return float(self.get('P15R')) / self.speed_factor
|
||||
if not self._step_size:
|
||||
self.get_step_size()
|
||||
return float(self.get('P15R')) * self._step_size
|
||||
|
||||
def write_accel(self, value):
|
||||
if abs(float(self.get('P03R')) * self.speed_factor - 1) > 0.001:
|
||||
raise HardwareError('speed factor does not match')
|
||||
return float(self.set_get('P15S', int(value * self.speed_factor), 'P15R')) / self.speed_factor
|
||||
self.get_step_size()
|
||||
return float(self.set_get('P15S', round(value / self._step_size), 'P15R')) * self._step_size
|
||||
|
||||
def _check_limits(self, *values):
|
||||
for name, (mn, mx) in ('user', self._rawlimits), ('abs', self.abslimits):
|
||||
mn -= self.offset
|
||||
mx -= self.offset
|
||||
for v in values:
|
||||
if not (mn <= v <= mx):
|
||||
if not mn <= v <= mx:
|
||||
raise BadValueError('%s limits violation: %g <= %g <= %g' % (name, mn, v, mx))
|
||||
v += self.offset
|
||||
|
||||
@ -176,12 +195,12 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
if self.status[0] == self.Status.ERROR:
|
||||
raise HardwareError('need reset')
|
||||
self.status = self.Status.BUSY, 'changed target'
|
||||
self._check_limits(value, value + self.sameside_offset)
|
||||
if self.sameside_offset:
|
||||
# drive first to target + sameside_offset
|
||||
self._check_limits(value, value + self.backlash)
|
||||
if self.backlash:
|
||||
# drive first to target + backlash
|
||||
# we do not optimize when already driving from the right side
|
||||
self._sameside_pending = True
|
||||
self.set('A', self.sign * (value + self.offset + self.sameside_offset))
|
||||
self._backlash_pending = True
|
||||
self.set('A', self.sign * (value + self.offset + self.backlash))
|
||||
else:
|
||||
self.set('A', self.sign * (value + self.offset))
|
||||
self.setFastPoll(True, self.fast_poll)
|
||||
@ -207,7 +226,7 @@ class Motor(PersistentMixin, HasIO, Drivable):
|
||||
|
||||
@Command
|
||||
def reset(self):
|
||||
"""reset error, set position to encoder"""
|
||||
"""Reset error, set position to encoder"""
|
||||
self.read_value()
|
||||
if self.status[0] == self.Status.ERROR:
|
||||
enc = self.encoder + self.offset
|
||||
|
@ -110,10 +110,13 @@ class SeaClient(ProxyClient, Module):
|
||||
visibility = 'expert'
|
||||
default_json_file = {}
|
||||
_connect_thread = None
|
||||
_service_manager = None
|
||||
_instance = None
|
||||
|
||||
def __init__(self, name, log, opts, srv):
|
||||
instance = srv.node_cfg['name'].rsplit('_', 1)[0]
|
||||
if 'uri' not in opts:
|
||||
self._instance = instance
|
||||
port = get_sea_port(instance)
|
||||
if port is None:
|
||||
raise ConfigError('missing sea port for %s' % instance)
|
||||
@ -140,6 +143,11 @@ class SeaClient(ProxyClient, Module):
|
||||
self._connect_thread = mkthread(self._connect, start_events.get_trigger())
|
||||
|
||||
def _connect(self, started_callback):
|
||||
if self._instance:
|
||||
if not self._service_manager:
|
||||
from servicemanager import SeaManager
|
||||
self._service_manager = SeaManager()
|
||||
self._service_manager.do_start(self._instance)
|
||||
if '//' not in self.uri:
|
||||
self.uri = 'tcp://' + self.uri
|
||||
self.asynio = AsynConn(self.uri)
|
||||
@ -393,6 +401,7 @@ class SeaModule(Module):
|
||||
hdbpath = None # hdbpath for main writable
|
||||
|
||||
def __new__(cls, name, logger, cfgdict, srv):
|
||||
print('N', cls, name)
|
||||
if hasattr(srv, 'extra_sea_modules'):
|
||||
extra_modules = srv.extra_sea_modules
|
||||
else:
|
||||
@ -525,8 +534,11 @@ class SeaModule(Module):
|
||||
if key in cls.accessibles:
|
||||
if key == 'target':
|
||||
kwds['readonly'] = False
|
||||
pobj = cls.accessibles[key]
|
||||
pobj.init(kwds)
|
||||
prev = cls.accessibles[key]
|
||||
pobj = Parameter(**kwds)
|
||||
merged_properties = prev.propertyValues.copy()
|
||||
pobj.updateProperties(merged_properties)
|
||||
pobj.merge(merged_properties)
|
||||
datatype = kwds.get('datatype', cls.accessibles[key].datatype)
|
||||
else:
|
||||
pobj = Parameter(**kwds)
|
||||
@ -582,9 +594,10 @@ class SeaModule(Module):
|
||||
attributes[pname] = pobj
|
||||
pobj.__set_name__(cls, pname)
|
||||
|
||||
classname = '%s_%s' % (cls.__name__, sea_object)
|
||||
classname = '%s_%s' % (cls.__name__, name)
|
||||
newcls = type(classname, (cls,), attributes)
|
||||
return Module.__new__(newcls)
|
||||
result = Module.__new__(newcls)
|
||||
return result
|
||||
|
||||
def updateEvent(self, module, parameter, value, timestamp, readerror):
|
||||
upd = getattr(self, 'update_' + parameter, None)
|
||||
@ -607,7 +620,8 @@ class SeaModule(Module):
|
||||
except Exception as e:
|
||||
readerror = secop_error(e)
|
||||
pobj.readerror = readerror
|
||||
self.DISPATCHER.broadcast_event(make_update(self.name, pobj))
|
||||
if pobj.export:
|
||||
self.DISPATCHER.broadcast_event(make_update(self.name, pobj))
|
||||
|
||||
def initModule(self):
|
||||
self.io.register_obj(self, self.sea_object)
|
||||
|
@ -20,22 +20,23 @@
|
||||
# *****************************************************************************
|
||||
"""oxford instruments triton (kelvinoxjt dil)"""
|
||||
|
||||
from secop.core import Drivable, HasIO, Writable, \
|
||||
Parameter, Property, Readable, StringIO, Attached, Done, IDLE, WARN, nopoll
|
||||
from secop.datatypes import EnumType, FloatRange, StringType, StructOf, BoolType
|
||||
from math import sqrt
|
||||
from secop.core import Writable, Parameter, Readable, Drivable, IDLE, WARN, BUSY, ERROR, Done
|
||||
from secop.datatypes import EnumType, FloatRange
|
||||
from secop.lib.enum import Enum
|
||||
from secop_psi.mercury import MercuryChannel, Mapped, off_on
|
||||
from secop_psi.mercury import MercuryChannel, Mapped, off_on, HasInput, SELF
|
||||
import secop_psi.mercury as mercury
|
||||
|
||||
actions = Enum(none=0, condense=1, circulate=2, collect=3)
|
||||
open_close = Mapped(CLOSE=False, OPEN=True)
|
||||
actions_map = Mapped(NONE=actions.none, COND=actions.condense, COLL=actions.collect)
|
||||
open_close = Mapped(CLOSE=0, OPEN=1)
|
||||
actions_map = Mapped(STOP=actions.none, COND=actions.condense, COLL=actions.collect)
|
||||
actions_map.mapping['NONE'] = actions.none # when writing, STOP is used instead of NONE
|
||||
|
||||
|
||||
class Action(MercuryChannel):
|
||||
class Action(MercuryChannel, Writable):
|
||||
channel_type = 'ACTN'
|
||||
value = Parameter('running action', EnumType(actions))
|
||||
target = Parameter('valve target', EnumType(none=0, condense=1, collect=3), readonly=False)
|
||||
target = Parameter('action to do', EnumType(none=0, condense=1, collect=3), readonly=False)
|
||||
_target = 0
|
||||
|
||||
def read_value(self):
|
||||
@ -49,27 +50,64 @@ class Action(MercuryChannel):
|
||||
return self.change('SYS:DR:ACTN', value, actions_map)
|
||||
|
||||
# actions:
|
||||
# NONE (no action)
|
||||
# COND (condense mixture)
|
||||
# COLL (collect mixture)
|
||||
# STOP (go to NONE)
|
||||
#
|
||||
# not yet used (would need a subclass of Action):
|
||||
# CLDN (cool down)
|
||||
# PCL (precool automation)
|
||||
# COND (condense mixture)
|
||||
# PCOND (pause pre-cool (not condense?) automation
|
||||
# RCOND (resume pre-cool (not condense?) automation
|
||||
# PCOND (pause pre-cool (not condense?) automation)
|
||||
# RCOND (resume pre-cool (not condense?) automation)
|
||||
# WARM (warm-up)
|
||||
# COLL (collect mixture)
|
||||
# EPCL (empty pre-coll automation)
|
||||
# STOP
|
||||
# EPCL (empty pre-cool automation)
|
||||
|
||||
|
||||
class Valve(MercuryChannel, Writable):
|
||||
class Valve(MercuryChannel, Drivable):
|
||||
channel_type = 'VALV'
|
||||
value = Parameter('valve state', EnumType(closed=0, opened=1))
|
||||
target = Parameter('valve target', EnumType(close=0, open=1))
|
||||
|
||||
_try_count = None
|
||||
|
||||
def doPoll(self):
|
||||
self.read_status()
|
||||
|
||||
def read_value(self):
|
||||
return self.query('VALV:SIG:STATE', open_close)
|
||||
|
||||
def read_status(self):
|
||||
pos = self.read_value()
|
||||
if self._try_count is None: # not switching
|
||||
return IDLE, ''
|
||||
if pos == self.target:
|
||||
# success
|
||||
if self._try_count:
|
||||
# make sure last sent command was not opposite
|
||||
self.change('VALV:SIG:STATE', self.target, open_close)
|
||||
self._try_count = None
|
||||
self.setFastPoll(False)
|
||||
return IDLE, ''
|
||||
self._try_count += 1
|
||||
if self._try_count % 4 == 0:
|
||||
# send to opposite position in order to unblock
|
||||
self.change('VALV:SIG:STATE', pos, open_close)
|
||||
return BUSY, 'unblock'
|
||||
if self._try_count > 9:
|
||||
# make sure system does not toggle later
|
||||
self.change('VALV:SIG:STATE', pos, open_close)
|
||||
return ERROR, 'can not %s valve' % self.target.name
|
||||
self.change('VALV:SIG:STATE', self.target, open_close)
|
||||
return BUSY, 'waiting'
|
||||
|
||||
def write_target(self, value):
|
||||
return self.change('VALV:SIG:STATE', value, open_close)
|
||||
if value != self.read_value():
|
||||
self._try_count = 0
|
||||
self.setFastPoll(True, 0.25)
|
||||
self.change('VALV:SIG:STATE', value, open_close)
|
||||
self.status = BUSY, self.target.name
|
||||
return value
|
||||
|
||||
|
||||
class Pump(MercuryChannel, Writable):
|
||||
@ -171,8 +209,9 @@ class FlowMeter(MercuryChannel, Readable):
|
||||
return self.query('FLOW:SIG:FLOW')
|
||||
|
||||
|
||||
class TemperatureSensor(mercury.TemperatureSensor):
|
||||
class ScannerChannel:
|
||||
# TODO: excitation, enable
|
||||
# TODO: switch on/off filter, check
|
||||
filter_time = Parameter('filter time', FloatRange(1, 200, unit='sec'), readonly=False)
|
||||
dwell_time = Parameter('dwell time', FloatRange(1, 200, unit='sec'), readonly=False)
|
||||
pause_time = Parameter('pause time', FloatRange(3, 200, unit='sec'), readonly=False)
|
||||
@ -198,5 +237,64 @@ class TemperatureSensor(mercury.TemperatureSensor):
|
||||
return self.change('TEMP:MEAS:PAUS', value)
|
||||
|
||||
|
||||
class TemperatureLoop(mercury.TemperatureLoop):
|
||||
pass # TODO: switch on/off filter, check
|
||||
class TemperatureSensor(ScannerChannel, mercury.TemperatureSensor):
|
||||
pass
|
||||
|
||||
|
||||
class TemperatureLoop(ScannerChannel, mercury.TemperatureLoop):
|
||||
ENABLE = 'TEMP:LOOP:MODE'
|
||||
ENABLE_RAMP = 'TEMP:LOOP:RAMP:ENAB'
|
||||
RAMP_RATE = 'TEMP:LOOP:RAMP:RATE'
|
||||
enable_pid_table = None # remove, does not work on triton
|
||||
|
||||
def write_control_active(self, value):
|
||||
self.change('SYS:DR:CHAN:MC', 'T5', str)
|
||||
if value:
|
||||
self.change('TEMP:LOOP:FILT:ENAB', 'ON', str)
|
||||
if self.output_module:
|
||||
limit = self.output_module.read_limit() or None # None: max. limit
|
||||
self.output_module.write_limit(limit)
|
||||
return super().write_control_active(value)
|
||||
|
||||
|
||||
class HeaterOutput(HasInput, MercuryChannel, Writable):
|
||||
"""heater output"""
|
||||
channel_type = 'HTR'
|
||||
value = Parameter('heater output', FloatRange(unit='W'))
|
||||
target = Parameter('heater output', FloatRange(0, unit='$'), readonly=False)
|
||||
resistivity = Parameter('heater resistivity', FloatRange(unit='Ohm'))
|
||||
|
||||
def read_resistivity(self):
|
||||
return self.query('HTR:RES')
|
||||
|
||||
def read_value(self):
|
||||
return self.query('HTR:SIG:POWR') * 1e-6
|
||||
|
||||
def read_target(self):
|
||||
if self.controlled_by != 0:
|
||||
return Done
|
||||
return self.value
|
||||
|
||||
def write_target(self, value):
|
||||
self.write_controlled_by(SELF)
|
||||
return self.change('HTR:SIG:POWR', value * 1e6)
|
||||
|
||||
|
||||
class HeaterOutputWithRange(HeaterOutput):
|
||||
"""heater output with heater range"""
|
||||
channel_type = 'HTR,TEMP'
|
||||
|
||||
limit = Parameter('max. heater power', FloatRange(unit='W'), readonly=False)
|
||||
|
||||
def read_limit(self):
|
||||
maxcur = self.query('TEMP:LOOP:RANGE') * 0.001 # mA -> A
|
||||
return self.read_resistivity() * maxcur ** 2
|
||||
|
||||
def write_limit(self, value):
|
||||
if value is None:
|
||||
maxcur = 0.1 # max. allowed current 100mA
|
||||
else:
|
||||
maxcur = sqrt(value / self.read_resistivity())
|
||||
self.change('TEMP:LOOP:RANGE', maxcur * 1000)
|
||||
return self.read_limit()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user