diff --git a/.pylintrc b/.pylintrc index 21527bf..6180ea0 100644 --- a/.pylintrc +++ b/.pylintrc @@ -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 diff --git a/Makefile b/Makefile index 6e4f543..3148ea2 100644 --- a/Makefile +++ b/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 diff --git a/cfg/main/jtccr.cfg b/cfg/main/jtccr.cfg new file mode 100644 index 0000000..baf8a1e --- /dev/null +++ b/cfg/main/jtccr.cfg @@ -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 diff --git a/cfg/main/ma02.cfg b/cfg/main/ma02.cfg index d434128..38e42c6 100644 --- a/cfg/main/ma02.cfg +++ b/cfg/main/ma02.cfg @@ -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 diff --git a/cfg/main/ma6.cfg b/cfg/main/ma6.cfg index 2381af5..7d61d60 100644 --- a/cfg/main/ma6.cfg +++ b/cfg/main/ma6.cfg @@ -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 diff --git a/cfg/main/ma7.cfg b/cfg/main/ma7.cfg index 8eb58e1..a586dea 100644 --- a/cfg/main/ma7.cfg +++ b/cfg/main/ma7.cfg @@ -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 diff --git a/cfg/main/mb11.cfg b/cfg/main/mb11.cfg index 6c082e1..56b4248 100644 --- a/cfg/main/mb11.cfg +++ b/cfg/main/mb11.cfg @@ -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 diff --git a/cfg/sea/ccr2ht.cfg b/cfg/sea/ccr2ht.cfg deleted file mode 100644 index 5b54a47..0000000 --- a/cfg/sea/ccr2ht.cfg +++ /dev/null @@ -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 diff --git a/cfg/sea/current.flamp.config.json b/cfg/sea/current.flamp.config.json deleted file mode 100644 index 9af2d2d..0000000 --- a/cfg/sea/current.flamp.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/dil3.stick.json b/cfg/sea/dil3.stick.json new file mode 100644 index 0000000..c79aa45 --- /dev/null +++ b/cfg/sea/dil3.stick.json @@ -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"}]}} diff --git a/cfg/sea/dil4.stick.json b/cfg/sea/dil4.stick.json new file mode 100644 index 0000000..c79aa45 --- /dev/null +++ b/cfg/sea/dil4.stick.json @@ -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"}]}} diff --git a/cfg/sea/f.ultrasound.addon.json b/cfg/sea/f.ultrasound.addon.json deleted file mode 100644 index 0c6bbf7..0000000 --- a/cfg/sea/f.ultrasound.addon.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/fn.ultrasound.addon.json b/cfg/sea/fn.ultrasound.addon.json deleted file mode 100644 index 5e89d6c..0000000 --- a/cfg/sea/fn.ultrasound.addon.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/focus-be-filter.cfg b/cfg/sea/focus-be-filter.cfg deleted file mode 100644 index 9fdd2f4..0000000 --- a/cfg/sea/focus-be-filter.cfg +++ /dev/null @@ -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 diff --git a/cfg/sea/hefill.ma11.config.json b/cfg/sea/hefill.ma11.config.json deleted file mode 100644 index 32385de..0000000 --- a/cfg/sea/hefill.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ill4.cfg b/cfg/sea/ill4.cfg deleted file mode 100644 index 6cf129c..0000000 --- a/cfg/sea/ill4.cfg +++ /dev/null @@ -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 diff --git a/cfg/sea/jtccr.config.json b/cfg/sea/jtccr.config.json new file mode 100644 index 0000000..7b8395d --- /dev/null +++ b/cfg/sea/jtccr.config.json @@ -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"}]}} diff --git a/cfg/sea/lambdawatch.ma11.config.json b/cfg/sea/lambdawatch.ma11.config.json deleted file mode 100644 index c73b1a9..0000000 --- a/cfg/sea/lambdawatch.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ln2fill.ma11.config.json b/cfg/sea/ln2fill.ma11.config.json deleted file mode 100644 index 922169f..0000000 --- a/cfg/sea/ln2fill.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/lnv.ma11.config.json b/cfg/sea/lnv.ma11.config.json deleted file mode 100644 index ec09a4d..0000000 --- a/cfg/sea/lnv.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/lpr.ma11.config.json b/cfg/sea/lpr.ma11.config.json deleted file mode 100644 index 0bcd712..0000000 --- a/cfg/sea/lpr.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ma10.config.json b/cfg/sea/ma10.config.json index e287e7a..53a232e 100644 --- a/cfg/sea/ma10.config.json +++ b/cfg/sea/ma10.config.json @@ -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}, diff --git a/cfg/sea/ma11_dil4_ultrasound_sr.cfg b/cfg/sea/ma11_dil4_ultrasound_sr.cfg deleted file mode 100644 index 7fb66b3..0000000 --- a/cfg/sea/ma11_dil4_ultrasound_sr.cfg +++ /dev/null @@ -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 = . diff --git a/cfg/sea/mf.mb11.config.json b/cfg/sea/mf.mb11.config.json deleted file mode 100644 index 925fe1e..0000000 --- a/cfg/sea/mf.mb11.config.json +++ /dev/null @@ -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: : : ... ( is the ramp limit from to )"}, -{"path": "gen/profile_training", "type": "text", "readonly": false, "cmd": "mf gen/profile_training", "description": "syntax: : : ... ( is the ramp limit from to )"}, -{"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"}]] diff --git a/cfg/sea/mirror.ultrasound.addon.json b/cfg/sea/mirror.ultrasound.addon.json deleted file mode 100644 index bb8a4ad..0000000 --- a/cfg/sea/mirror.ultrasound.addon.json +++ /dev/null @@ -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}]] diff --git a/cfg/sea/nv.ma11.config.json b/cfg/sea/nv.ma11.config.json deleted file mode 100644 index dc27cf9..0000000 --- a/cfg/sea/nv.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/nv.ori1.config.json b/cfg/sea/nv.ori1.config.json deleted file mode 100644 index dc27cf9..0000000 --- a/cfg/sea/nv.ori1.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ori1.cfg b/cfg/sea/ori1.cfg deleted file mode 100644 index d8e91b1..0000000 --- a/cfg/sea/ori1.cfg +++ /dev/null @@ -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 = . diff --git a/cfg/sea/pars.ultrasound.addon.json b/cfg/sea/pars.ultrasound.addon.json deleted file mode 100644 index c1f20ac..0000000 --- a/cfg/sea/pars.ultrasound.addon.json +++ /dev/null @@ -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]"}]] diff --git a/cfg/sea/pdyn.mb11.config.json b/cfg/sea/pdyn.mb11.config.json deleted file mode 100644 index 482677f..0000000 --- a/cfg/sea/pdyn.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/pdyn.varioxB.config.json b/cfg/sea/pdyn.varioxB.config.json deleted file mode 100644 index 482677f..0000000 --- a/cfg/sea/pdyn.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/pstat.mb11.config.json b/cfg/sea/pstat.mb11.config.json deleted file mode 100644 index 1cdbaff..0000000 --- a/cfg/sea/pstat.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/pstat.varioxB.config.json b/cfg/sea/pstat.varioxB.config.json deleted file mode 100644 index 1cdbaff..0000000 --- a/cfg/sea/pstat.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/pv.flamp.config.json b/cfg/sea/pv.flamp.config.json deleted file mode 100644 index 1d25b49..0000000 --- a/cfg/sea/pv.flamp.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/secop.test_secop4.config.json b/cfg/sea/secop.test_secop4.config.json deleted file mode 100644 index 7f94f02..0000000 --- a/cfg/sea/secop.test_secop4.config.json +++ /dev/null @@ -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}]] diff --git a/cfg/sea/sorb.dil4.stick.json b/cfg/sea/sorb.dil4.stick.json deleted file mode 100644 index 813d979..0000000 --- a/cfg/sea/sorb.dil4.stick.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/table.ma11.config.json b/cfg/sea/table.ma11.config.json deleted file mode 100644 index fedbd19..0000000 --- a/cfg/sea/table.ma11.config.json +++ /dev/null @@ -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 ..."}]] diff --git a/cfg/sea/tcoil.ma11.config.json b/cfg/sea/tcoil.ma11.config.json deleted file mode 100644 index de37524..0000000 --- a/cfg/sea/tcoil.ma11.config.json +++ /dev/null @@ -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}]] diff --git a/cfg/sea/tcoil.mb11.config.json b/cfg/sea/tcoil.mb11.config.json deleted file mode 100644 index f6410c2..0000000 --- a/cfg/sea/tcoil.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/test_secop4.cfg b/cfg/sea/test_secop4.cfg deleted file mode 100644 index 879de42..0000000 --- a/cfg/sea/test_secop4.cfg +++ /dev/null @@ -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 = . diff --git a/cfg/sea/tmon.dil4.stick.json b/cfg/sea/tmon.dil4.stick.json deleted file mode 100644 index 15c2e49..0000000 --- a/cfg/sea/tmon.dil4.stick.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tneck1.mb11.config.json b/cfg/sea/tneck1.mb11.config.json deleted file mode 100644 index bdc813a..0000000 --- a/cfg/sea/tneck1.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tneck1.varioxB.config.json b/cfg/sea/tneck1.varioxB.config.json deleted file mode 100644 index 0d89b78..0000000 --- a/cfg/sea/tneck1.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tneck2.mb11.config.json b/cfg/sea/tneck2.mb11.config.json deleted file mode 100644 index e4cd276..0000000 --- a/cfg/sea/tneck2.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tneck2.varioxB.config.json b/cfg/sea/tneck2.varioxB.config.json deleted file mode 100644 index f3377e9..0000000 --- a/cfg/sea/tneck2.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tnvd.mb11.config.json b/cfg/sea/tnvd.mb11.config.json deleted file mode 100644 index 3f8c180..0000000 --- a/cfg/sea/tnvd.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tnvd.varioxB.config.json b/cfg/sea/tnvd.varioxB.config.json deleted file mode 100644 index 5f08636..0000000 --- a/cfg/sea/tnvd.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tnvs.mb11.config.json b/cfg/sea/tnvs.mb11.config.json deleted file mode 100644 index 32ea80c..0000000 --- a/cfg/sea/tnvs.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tnvs.varioxB.config.json b/cfg/sea/tnvs.varioxB.config.json deleted file mode 100644 index 4845b1b..0000000 --- a/cfg/sea/tnvs.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/treg.dil4.stick.json b/cfg/sea/treg.dil4.stick.json deleted file mode 100644 index 6b0f75e..0000000 --- a/cfg/sea/treg.dil4.stick.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ts.dil4.stick.json b/cfg/sea/ts.dil4.stick.json deleted file mode 100644 index 28618f2..0000000 --- a/cfg/sea/ts.dil4.stick.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ts.mb11.config.json b/cfg/sea/ts.mb11.config.json deleted file mode 100644 index e9c94c3..0000000 --- a/cfg/sea/ts.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ts.vb.stick.json b/cfg/sea/ts.vb.stick.json deleted file mode 100644 index e9c94c3..0000000 --- a/cfg/sea/ts.vb.stick.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tt.flamp.config.json b/cfg/sea/tt.flamp.config.json deleted file mode 100644 index 0f77940..0000000 --- a/cfg/sea/tt.flamp.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tt.ma11.config.json b/cfg/sea/tt.ma11.config.json deleted file mode 100644 index 7ab2098..0000000 --- a/cfg/sea/tt.ma11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tt.ori1.config.json b/cfg/sea/tt.ori1.config.json deleted file mode 100644 index 1e916f3..0000000 --- a/cfg/sea/tt.ori1.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tvd.mb11.config.json b/cfg/sea/tvd.mb11.config.json deleted file mode 100644 index 5e7f857..0000000 --- a/cfg/sea/tvd.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tvd.varioxB.config.json b/cfg/sea/tvd.varioxB.config.json deleted file mode 100644 index 5e7f857..0000000 --- a/cfg/sea/tvd.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tvs.mb11.config.json b/cfg/sea/tvs.mb11.config.json deleted file mode 100644 index 27e077e..0000000 --- a/cfg/sea/tvs.mb11.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/tvs.varioxB.config.json b/cfg/sea/tvs.varioxB.config.json deleted file mode 100644 index 27e077e..0000000 --- a/cfg/sea/tvs.varioxB.config.json +++ /dev/null @@ -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"}]] diff --git a/cfg/sea/ultrasound.ultrasound.addon.json b/cfg/sea/ultrasound.ultrasound.addon.json deleted file mode 100644 index ed1fcf8..0000000 --- a/cfg/sea/ultrasound.ultrasound.addon.json +++ /dev/null @@ -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}]] diff --git a/cfg/sea/variox.config.json1 b/cfg/sea/variox.config.json1 new file mode 100644 index 0000000..c16bf3d --- /dev/null +++ b/cfg/sea/variox.config.json1 @@ -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"}]}} diff --git a/cfg/sea/varioxB_vb.cfg b/cfg/sea/varioxB_vb.cfg deleted file mode 100644 index a3509c7..0000000 --- a/cfg/sea/varioxB_vb.cfg +++ /dev/null @@ -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 = . diff --git a/cfg/sea/wall.lampovenwall.addon.json b/cfg/sea/wall.lampovenwall.addon.json deleted file mode 100644 index 857cf2c..0000000 --- a/cfg/sea/wall.lampovenwall.addon.json +++ /dev/null @@ -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"}]] diff --git a/cfg/stick/dil2.cfg b/cfg/stick/dil2.cfg index 0f94369..9888d9b 100644 --- a/cfg/stick/dil2.cfg +++ b/cfg/stick/dil2.cfg @@ -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 diff --git a/cfg/stick/dil3.cfg b/cfg/stick/dil3.cfg new file mode 100644 index 0000000..47e5574 --- /dev/null +++ b/cfg/stick/dil3.cfg @@ -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 diff --git a/cfg/stick/dil4.cfg b/cfg/stick/dil4.cfg new file mode 100644 index 0000000..85b2c16 --- /dev/null +++ b/cfg/stick/dil4.cfg @@ -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 diff --git a/cfg/stick/dil5.cfg b/cfg/stick/dil5.cfg index 05d70a1..4c1cc66 100644 --- a/cfg/stick/dil5.cfg +++ b/cfg/stick/dil5.cfg @@ -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 diff --git a/cfg/stick/ill4stick.cfg b/cfg/stick/ill4stick.cfg index a50d766..0ec7a34 100644 --- a/cfg/stick/ill4stick.cfg +++ b/cfg/stick/ill4stick.cfg @@ -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 diff --git a/secop/lib/__init__.py b/secop/lib/__init__.py index d777640..7ffaefd 100644 --- a/secop/lib/__init__.py +++ b/secop/lib/__init__.py @@ -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 /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 diff --git a/secop/lib/statemachine.py b/secop/lib/statemachine.py index 309cabf..6ed94c6 100644 --- a/secop/lib/statemachine.py +++ b/secop/lib/statemachine.py @@ -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 diff --git a/secop_psi/convergence.py b/secop_psi/convergence.py index 627cf83..15833b5 100644 --- a/secop_psi/convergence.py +++ b/secop_psi/convergence.py @@ -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 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 diff --git a/secop_psi/ips_mercury.py b/secop_psi/ips_mercury.py index 27c78e5..e965f5e 100644 --- a/secop_psi/ips_mercury.py +++ b/secop_psi/ips_mercury.py @@ -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)] diff --git a/secop_psi/magfield.py b/secop_psi/magfield.py index 7858505..5a71ff4 100644 --- a/secop_psi/magfield.py +++ b/secop_psi/magfield.py @@ -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 diff --git a/secop_psi/mercury.py b/secop_psi/mercury.py index 87bf8a0..deb4a9e 100644 --- a/secop_psi/mercury.py +++ b/secop_psi/mercury.py @@ -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 diff --git a/secop_psi/phytron.py b/secop_psi/phytron.py index cc0e585..614814d 100644 --- a/secop_psi/phytron.py +++ b/secop_psi/phytron.py @@ -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 diff --git a/secop_psi/sea.py b/secop_psi/sea.py index 156c013..f4b0eb6 100644 --- a/secop_psi/sea.py +++ b/secop_psi/sea.py @@ -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) diff --git a/secop_psi/triton.py b/secop_psi/triton.py index cd12ee6..f7bf713 100644 --- a/secop_psi/triton.py +++ b/secop_psi/triton.py @@ -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() +