Make the Lakeshore 218 driver less noisy and have less channels

This commit is contained in:
Douglas Clowes
2014-11-13 14:54:25 +11:00
parent b84efe47cf
commit 89b23eda07

View File

@ -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 = { driver lakeshore_218 = {
vendor = lakeshore; device = ls218; protocol = std; vendor = lakeshore; device = ls218; protocol = std;
class = NXdetector; simulation_group = detector_simulation; class = NXdetector; simulation_group = detector_simulation;
make_args = '{num_chans 8}';
group = { group = {
data = false; data = false;
@ -11,28 +16,34 @@ driver lakeshore_218 = {
var krdg = { var krdg = {
type = text; type = text;
read_command = "KRDG? 0"; 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 = { group sensor = {
priv = user; mutable = true; priv = user; mutable = true;
type = float; type = float;
readable = 1; readable = 15;
fetch_function = getTemp; fetch_function = getTemp;
var ch1 = { read_command = '0'; } var ch1 = { read_command = '0'; conditional = '${num_chans} > 0'; }
var ch2 = { read_command = '1'; } var ch2 = { read_command = '1'; conditional = '${num_chans} > 1'; }
var ch3 = { read_command = '2'; } var ch3 = { read_command = '2'; conditional = '${num_chans} > 2'; }
var ch4 = { read_command = '3'; } var ch4 = { read_command = '3'; conditional = '${num_chans} > 3'; }
var ch5 = { read_command = '4'; } var ch5 = { read_command = '4'; conditional = '${num_chans} > 4'; }
var ch6 = { read_command = '5'; } var ch6 = { read_command = '5'; conditional = '${num_chans} > 5'; }
var ch7 = { read_command = '6'; } var ch7 = { read_command = '6'; conditional = '${num_chans} > 6'; }
var ch8 = { read_command = '7'; } var ch8 = { read_command = '7'; conditional = '${num_chans} > 7'; }
} }
code fetch_function getTemp = {%% 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}] sct result [lindex ${temps} ${cmd_str}]
set cmd "@@NOSEND@@" set cmd "@@NOSEND@@"
%%} %%}
code read_krdg = {%%
sct real_data "${data}"
set data "Hidden in real_data property"
%%}
} }