diff --git a/site_ansto/instrument/config/environment/temperature/lakeshore_218.sct b/site_ansto/instrument/config/environment/temperature/lakeshore_218.sct index 64a87296..d16b9647 100644 --- a/site_ansto/instrument/config/environment/temperature/lakeshore_218.sct +++ b/site_ansto/instrument/config/environment/temperature/lakeshore_218.sct @@ -1,6 +1,11 @@ +# +# Template driver for the Lakeshore 218 Temperature Monitor +# vim: ft=tcl ts=8 sts=2 sw=2 expandtab autoindent smartindent nocindent +# driver lakeshore_218 = { vendor = lakeshore; device = ls218; protocol = std; class = NXdetector; simulation_group = detector_simulation; + make_args = '{num_chans 8}'; group = { data = false; @@ -11,28 +16,34 @@ driver lakeshore_218 = { var krdg = { type = text; read_command = "KRDG? 0"; - value = "0,0,0,0,0,0,0,0"; + read_function = read_krdg; + value = '"Hidden in real_data property"'; + property real_data = '0,0,0,0,0,0,0,0'; } } group sensor = { priv = user; mutable = true; type = float; - readable = 1; + readable = 15; fetch_function = getTemp; - var ch1 = { read_command = '0'; } - var ch2 = { read_command = '1'; } - var ch3 = { read_command = '2'; } - var ch4 = { read_command = '3'; } - var ch5 = { read_command = '4'; } - var ch6 = { read_command = '5'; } - var ch7 = { read_command = '6'; } - var ch8 = { read_command = '7'; } + var ch1 = { read_command = '0'; conditional = '${num_chans} > 0'; } + var ch2 = { read_command = '1'; conditional = '${num_chans} > 1'; } + var ch3 = { read_command = '2'; conditional = '${num_chans} > 2'; } + var ch4 = { read_command = '3'; conditional = '${num_chans} > 3'; } + var ch5 = { read_command = '4'; conditional = '${num_chans} > 4'; } + var ch6 = { read_command = '5'; conditional = '${num_chans} > 5'; } + var ch7 = { read_command = '6'; conditional = '${num_chans} > 6'; } + var ch8 = { read_command = '7'; conditional = '${num_chans} > 7'; } } code fetch_function getTemp = {%% - set temps [split "[hval ${tc_root}/krdg]" ","] + set temps [split "[hgetpropval ${tc_root}/krdg real_data]" ","] sct result [lindex ${temps} ${cmd_str}] set cmd "@@NOSEND@@" %%} + code read_krdg = {%% + sct real_data "${data}" + set data "Hidden in real_data property" + %%} }