diff --git a/cfg/main/ill5.cfg b/cfg/main/ill5.cfg index badc85f..f2c5e94 100644 --- a/cfg/main/ill5.cfg +++ b/cfg/main/ill5.cfg @@ -8,7 +8,7 @@ description = main SEA connection to ill5.config config = ill5.config service = main -[t] +[tt] class = secop_psi.sea.SeaDrivable io = sea_main sea_object = tt @@ -23,6 +23,13 @@ rel_paths = tm class = secop_psi.sea.SeaReadable io = sea_main sea_object = cc +extra_modules = h +visibility = 3 + +[lev] +class = secop_psi.sea.SeaReadable +io = sea_main +single_module = cc.h [nv] class = secop_psi.sea.SeaWritable diff --git a/cfg/main/ill5pgas5.cfg b/cfg/main/ill5pgas5.cfg new file mode 100644 index 0000000..7c48234 --- /dev/null +++ b/cfg/main/ill5pgas5.cfg @@ -0,0 +1,86 @@ +[NODE] +description = orange cryostat with 100 mm sample space and pgas5 pressure cell +id = ill5pgas5.config.sea.psi.ch + +[sea_main] +class = secop_psi.sea.SeaClient +description = main sea connection for ill5pgas5.config +config = ill5pgas5.config +service = main + +[tt] +class = secop_psi.sea.SeaDrivable +io = sea_main +sea_object = tt + +[pauto] +class = secop_psi.sea.SeaReadable +io = sea_main +sea_object = pauto + +[T_capillary] +class = secop_psi.sea.SeaDrivable +io = sea_main +sea_object = tc + +[cc] +class = secop_psi.sea.SeaReadable +io = sea_main +sea_object = cc +extra_modules = h +visibility = 3 + +[lev] +class = secop_psi.sea.SeaReadable +io = sea_main +single_module = cc.h + +[nv] +class = secop_psi.sea.SeaWritable +io = sea_main +sea_object = nv + +[ln2fill] +class = secop_psi.sea.SeaWritable +io = sea_main +sea_object = ln2fill + +[hefill] +class = secop_psi.sea.SeaWritable +io = sea_main +sea_object = hefill + +[hepump] +class = secop_psi.sea.SeaWritable +io = sea_main +sea_object = hepump + +[hemot] +class = secop_psi.sea.SeaDrivable +io = sea_main +sea_object = hemot + +[nvflow] +class = secop_psi.sea.SeaReadable +io = sea_main +sea_object = nvflow + +[table] +class = secop_psi.sea.SeaReadable +io = sea_main +sea_object = table + +[pccu] +class = secop_psi.sea.SeaReadable +io = sea_main +sea_object = pccu + +[p] +class = secop_psi.sea.SeaReadable +io = sea_main +sea_object = p + +[i1] +class = secop_psi.sea.SeaDrivable +io = sea_main +sea_object = i1 diff --git a/cfg/sea/ill5.config.json b/cfg/sea/ill5.config.json index 082740a..c960299 100644 --- a/cfg/sea/ill5.config.json +++ b/cfg/sea/ill5.config.json @@ -1,7 +1,9 @@ -{"tt": {"base": "/tt", "params": [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18}, +{"tt": {"base": "/tt", "params": [ +{"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", "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"}, @@ -62,7 +64,10 @@ {"path": "display", "type": "text", "readonly": false, "cmd": "tt display"}, {"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"}, {"path": "dinp", "type": "int"}, -{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96}, +{"path": "remote", "type": "bool"}]}, + +"cc": {"base": "/cc", "params": [ +{"path": "", "type": "bool", "kids": 96}, {"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3}, {"path": "status", "type": "text", "visibility": 3}, {"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"}, @@ -158,7 +163,10 @@ {"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": "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}}, @@ -208,16 +216,25 @@ {"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": {"watching": 0, "fill": 1, "inactive": 2}, "readonly": false, "cmd": "ln2fill", "kids": 3}, +{"path": "calib/mbar_offset", "type": "float", "readonly": false, "cmd": "nv calib/mbar_offset"}]}, + +"ln2fill": {"base": "/ln2fill", "params": [ +{"path": "", "type": "enum", "enum": {"watching": 0, "fill": 1, "inactive": 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": {"no fill valve": 2}, "readonly": false, "cmd": "hefill", "kids": 6}, +{"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": 9}, +{"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", "visibility": 3}, @@ -225,7 +242,11 @@ {"path": "auto", "type": "bool", "readonly": false, "cmd": "hepump auto", "visibility": 3}, {"path": "valve", "type": "enum", "enum": {"closed": 0, "closing": 1, "opening": 2, "opened": 3, "undefined": 4}, "readonly": false, "cmd": "hepump valve", "visibility": 3}, {"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", "visibility": 3}, -{"path": "calib", "type": "float", "readonly": false, "cmd": "hepump calib", "visibility": 3}]}, "hemot": {"base": "/hepump/hemot", "params": [{"path": "", "type": "float", "readonly": false, "cmd": "run hemot", "visibility": 3, "kids": 32}, +{"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", "visibility": 3, "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}, @@ -251,13 +272,14 @@ {"path": "output0", "type": "bool", "readonly": false, "cmd": "hemot output0"}, {"path": "output1", "type": "bool", "readonly": false, "cmd": "hemot output1"}, {"path": "input3", "type": "bool"}, -{"path": "input0", "type": "float"}, -{"path": "input0raw", "type": "float"}, {"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"}]}, "table": {"base": "/table", "params": [{"path": "", "type": "none", "kids": 17}, +{"path": "custompar", "type": "float", "readonly": false, "cmd": "hemot custompar"}]}, + +"table": {"base": "/table", "params": [ +{"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"}, diff --git a/cfg/sea/ill5pgas5.config.json b/cfg/sea/ill5pgas5.config.json new file mode 100644 index 0000000..741c1f8 --- /dev/null +++ b/cfg/sea/ill5pgas5.config.json @@ -0,0 +1,482 @@ +{"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", "readonly": false, "cmd": "run tt", "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", "readonly": false, "cmd": "run tt"}, +{"path": "running", "type": "int", "readonly": false, "cmd": "run tt"}, +{"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", "readonly": false, "cmd": "run tt", "visibility": 3}, +{"path": "log/m2", "type": "float", "readonly": false, "cmd": "run tt", "visibility": 3}, +{"path": "log/stddev", "type": "float", "readonly": false, "cmd": "run tt", "visibility": 3}, +{"path": "log/n", "type": "float", "readonly": false, "cmd": "run tt", "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", "readonly": false, "cmd": "run tt"}, +{"path": "dblctrl/shift_lo", "type": "float", "readonly": false, "cmd": "run tt"}, +{"path": "dblctrl/t_min", "type": "float", "readonly": false, "cmd": "run tt"}, +{"path": "dblctrl/t_max", "type": "float", "readonly": false, "cmd": "run tt"}, +{"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", "readonly": false, "cmd": "run tt", "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", "readonly": false, "cmd": "run tt"}, +{"path": "tm/raw", "type": "float", "readonly": false, "cmd": "run tt"}, +{"path": "ts", "type": "float", "readonly": false, "cmd": "run tt", "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", "readonly": false, "cmd": "run tt"}, +{"path": "ts/raw", "type": "float", "readonly": false, "cmd": "run tt"}, +{"path": "ts_2", "type": "float", "readonly": false, "cmd": "run tt", "kids": 4}, +{"path": "ts_2/curve", "type": "text", "readonly": false, "cmd": "tt ts_2/curve", "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"}, +{"path": "ts_2/stddev", "type": "float", "readonly": false, "cmd": "run tt"}, +{"path": "ts_2/raw", "type": "float", "readonly": false, "cmd": "run tt"}, +{"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", "readonly": false, "cmd": "run tt"}, +{"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", "readonly": false, "cmd": "run tt", "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", "readonly": false, "cmd": "run tt", "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", "readonly": false, "cmd": "run tt"}, +{"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", "readonly": false, "cmd": "run tt"}]}, + +"pauto": {"base": "/pauto", "params": [ +{"path": "", "type": "text", "description": "automation is off when T > max_cpl", "kids": 8}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pauto send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "auto", "type": "bool", "readonly": false, "cmd": "pauto auto", "description": "activate automation for pressure cell"}, +{"path": "min_cpl", "type": "float", "readonly": false, "cmd": "pauto min_cpl"}, +{"path": "max_cpl", "type": "float", "readonly": false, "cmd": "pauto max_cpl"}, +{"path": "fact_cpl", "type": "float", "readonly": false, "cmd": "pauto fact_cpl"}, +{"path": "max_ramp", "type": "float", "readonly": false, "cmd": "pauto max_ramp"}, +{"path": "target", "type": "float"}]}, + +"tc": {"base": "/tc", "params": [ +{"path": "", "type": "float", "readonly": false, "cmd": "run tc", "description": "tc", "kids": 15}, +{"path": "send", "type": "text", "readonly": false, "cmd": "tc send", "visibility": 3}, +{"path": "status", "type": "text", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "is_running", "type": "int", "readonly": false, "cmd": "tc is_running", "visibility": 3}, +{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tc mainloop", "visibility": 3}, +{"path": "target", "type": "float", "readonly": false, "cmd": "run tc"}, +{"path": "running", "type": "int", "readonly": false, "cmd": "run tc"}, +{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tc tolerance"}, +{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tc maxwait"}, +{"path": "settle", "type": "float", "readonly": false, "cmd": "tc settle"}, +{"path": "log", "type": "text", "readonly": false, "cmd": "tc log", "visibility": 3, "kids": 4}, +{"path": "log/mean", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "log/m2", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "log/stddev", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "log/n", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tc dblctrl", "visibility": 3, "kids": 9}, +{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tc dblctrl/tshift", "visibility": 3}, +{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tc dblctrl/mode", "visibility": 3}, +{"path": "dblctrl/shift_up", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "dblctrl/shift_lo", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "dblctrl/t_min", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "dblctrl/t_max", "type": "float", "readonly": false, "cmd": "run tc", "visibility": 3}, +{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tc dblctrl/int2", "visibility": 3}, +{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tc dblctrl/prop_up", "visibility": 3}, +{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tc dblctrl/prop_lo", "visibility": 3}, +{"path": "tb", "type": "float", "readonly": false, "cmd": "run tc", "kids": 4}, +{"path": "tb/curve", "type": "text", "readonly": false, "cmd": "tc tb/curve", "kids": 1}, +{"path": "tb/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tc tb/curve/points", "visibility": 3}, +{"path": "tb/alarm", "type": "float", "readonly": false, "cmd": "tc tb/alarm"}, +{"path": "tb/stddev", "type": "float", "readonly": false, "cmd": "run tc"}, +{"path": "tb/raw", "type": "float", "readonly": false, "cmd": "run tc"}, +{"path": "set", "type": "float", "readonly": false, "cmd": "tc set", "kids": 18}, +{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tc set/mode"}, +{"path": "set/reg", "type": "float", "readonly": false, "cmd": "run tc"}, +{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tc set/ramp", "description": "maximum ramp in K/min (0: ramp off)"}, +{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tc set/wramp"}, +{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tc set/smooth", "description": "smooth time (minutes)"}, +{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tc set/channel"}, +{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tc set/limit"}, +{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tc set/resist"}, +{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tc set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"}, +{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tc 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", "readonly": false, "cmd": "run tc", "description": "the maximum power limit (before any booster or converter)"}, +{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tc set/maxpower", "description": "maximum power [W]"}, +{"path": "set/maxcurrent", "type": "float", "readonly": false, "cmd": "run tc", "description": "the maximum current before any booster or converter"}, +{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tc set/manualpower"}, +{"path": "set/power", "type": "float", "readonly": false, "cmd": "run tc"}, +{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tc set/prop", "description": "bigger means more gain"}, +{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tc set/integ", "description": "bigger means faster"}, +{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tc set/deriv"}, +{"path": "display", "type": "text", "readonly": false, "cmd": "tc display"}, +{"path": "remote", "type": "bool", "readonly": false, "cmd": "run tc"}]}, + +"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"}]}, + +"table": {"base": "/table", "params": [ +{"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 ..."}]}, + +"pccu": {"base": "/pccu", "params": [ +{"path": "", "type": "bool", "kids": 96}, +{"path": "send", "type": "text", "readonly": false, "cmd": "pccu send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}, +{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "pccu autodevice"}, +{"path": "fav", "type": "bool", "readonly": false, "cmd": "pccu fav"}, +{"path": "f", "type": "float"}, +{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "pccu fs"}, +{"path": "mav", "type": "bool", "readonly": false, "cmd": "pccu 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": "pccu fa", "visibility": 3}, +{"path": "mp", "type": "float", "readonly": false, "cmd": "pccu mp", "visibility": 3}, +{"path": "msp", "type": "float", "visibility": 3}, +{"path": "mmp", "type": "float", "visibility": 3}, +{"path": "mc", "type": "float", "readonly": false, "cmd": "pccu mc", "visibility": 3}, +{"path": "mfc", "type": "float", "readonly": false, "cmd": "pccu mfc", "visibility": 3}, +{"path": "moc", "type": "float", "readonly": false, "cmd": "pccu moc", "visibility": 3}, +{"path": "mtc", "type": "float", "readonly": false, "cmd": "pccu mtc", "visibility": 3}, +{"path": "mtl", "type": "float", "visibility": 3}, +{"path": "mft", "type": "float", "readonly": false, "cmd": "pccu 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": "pccu mw", "description": "correction pulse after automatic open", "visibility": 3}, +{"path": "hav", "type": "bool", "readonly": false, "cmd": "pccu 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": "pccu hh", "visibility": 3}, +{"path": "hl", "type": "float", "readonly": false, "cmd": "pccu hl", "visibility": 3}, +{"path": "htf", "type": "float", "readonly": false, "cmd": "pccu htf", "description": "meas. period in fast mode", "visibility": 3}, +{"path": "hts", "type": "float", "readonly": false, "cmd": "pccu hts", "description": "meas. period in slow mode", "visibility": 3}, +{"path": "hd", "type": "float", "readonly": false, "cmd": "pccu hd", "visibility": 3}, +{"path": "hwr", "type": "float", "readonly": false, "cmd": "pccu hwr", "visibility": 3}, +{"path": "hem", "type": "float", "readonly": false, "cmd": "pccu hem", "description": "sensor length in mm from top to empty pos.", "visibility": 3}, +{"path": "hfu", "type": "float", "readonly": false, "cmd": "pccu 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": "pccu 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": "pccu ha", "visibility": 3}, +{"path": "hm", "type": "bool", "visibility": 3}, +{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "pccu hf", "visibility": 3}, +{"path": "hbe", "type": "bool", "readonly": false, "cmd": "pccu hbe", "visibility": 3}, +{"path": "hmf", "type": "float", "visibility": 3}, +{"path": "hms", "type": "float", "visibility": 3}, +{"path": "hit", "type": "float", "readonly": false, "cmd": "pccu hit", "visibility": 3}, +{"path": "hft", "type": "int", "readonly": false, "cmd": "pccu hft", "visibility": 3}, +{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "pccu hea"}, +{"path": "hch", "type": "int", "readonly": false, "cmd": "pccu hch"}, +{"path": "hwr0", "type": "float", "readonly": false, "cmd": "pccu hwr0"}, +{"path": "hem0", "type": "float", "readonly": false, "cmd": "pccu hem0", "description": "sensor length in mm from top to empty pos."}, +{"path": "hfu0", "type": "float", "readonly": false, "cmd": "pccu hfu0", "description": "sensor length in mm from top to full pos."}, +{"path": "hd0", "type": "float", "readonly": false, "cmd": "pccu hd0", "description": "external sensor drive current (mA)"}, +{"path": "h0", "type": "float"}, +{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}}, +{"path": "h1", "type": "float"}, +{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}}, +{"path": "h2", "type": "float"}, +{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}}, +{"path": "h3", "type": "float"}, +{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}}, +{"path": "h4", "type": "float"}, +{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}}, +{"path": "h5", "type": "float"}, +{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}}, +{"path": "hfb", "type": "float", "visibility": 3}, +{"path": "nav", "type": "bool", "readonly": false, "cmd": "pccu nav"}, +{"path": "nu", "type": "float", "visibility": 3}, +{"path": "nl", "type": "float", "visibility": 3}, +{"path": "nth", "type": "float", "readonly": false, "cmd": "pccu nth", "visibility": 3}, +{"path": "ntc", "type": "float", "readonly": false, "cmd": "pccu ntc", "visibility": 3}, +{"path": "ntm", "type": "float", "readonly": false, "cmd": "pccu 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": "pccu 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": "pccu 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": "pccu cdv"}, +{"path": "cic", "type": "text", "readonly": false, "cmd": "pccu 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": "pccu cds"}, +{"path": "timing", "type": "bool", "readonly": false, "cmd": "pccu 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": "pccu bdl"}]}, + +"p": {"base": "/p", "params": [ +{"path": "", "type": "float", "kids": 2}, +{"path": "send", "type": "text", "readonly": false, "cmd": "p send", "visibility": 3}, +{"path": "status", "type": "text", "visibility": 3}]}, + +"i1": {"base": "/i1", "params": [ +{"path": "", "type": "float", "readonly": false, "cmd": "run i1", "kids": 3}, +{"path": "send", "type": "text", "readonly": false, "cmd": "i1 send", "visibility": 3}, +{"path": "status", "type": "text", "readonly": false, "cmd": "run i1", "visibility": 3}, +{"path": "is_running", "type": "int", "readonly": false, "cmd": "i1 is_running", "visibility": 3}]}} diff --git a/cfg/stick/pgas5.stick b/cfg/stick/pgas5.stick new file mode 100644 index 0000000..38b4225 --- /dev/null +++ b/cfg/stick/pgas5.stick @@ -0,0 +1,23 @@ +[NODE] +description = PGAS5 gas pressure cell stick +id = pgas5.stick.sea.psi.ch + +[sea_stick] +class = secop_psi.sea.SeaClient +description = stick SEA connection to ill5.stick +config = ill5.stick +service = stick + +[ts] +class = secop_psi.sea.SeaReadable +io = sea_stick +sea_object = tt +json_file = ill5.config.json +rel_paths = ts + +[T_bottom] +class = secop_psi.sea.SeaReadable +io = sea_stick +sea_object = tt +json_file = ill5.config.json +rel_paths = tb 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