Change nodenames to lowercase and add a 'stash' function in he3_polanal

This commit is contained in:
Douglas Clowes
2014-11-07 09:10:17 +11:00
parent 67b6c5c7ee
commit 6c6292bbb2

View File

@ -18,23 +18,23 @@ driver he3_polanal = {
check_function = chkWrite; check_function = chkWrite;
allowed = "+,-,Refresh" allowed = "+,-,Refresh"
} }
var Amplitude = { } var amplitude = { }
var Freq = { units = 'Hertz'; } var freq = { units = 'Hertz'; }
var Phase = { units = 'Degree'; } var phase = { units = 'Degree'; }
var Time2 = { units = 'Second'; } var time2 = { units = 'Second'; }
var Field = { units = 'Oersted'; } var field = { units = 'Oersted'; }
var Timestamp = { } var timestamp = { }
} }
group polariser_start = { group polariser_start = {
conditional = '[string equal -nocase ${has_pol} "true"]'; conditional = '[string equal -nocase ${has_pol} "true"]';
type = text; type = text;
var spin = { } var spin = { }
var Amplitude = { } var amplitude = { }
var Freq = { units = 'Hertz'; } var freq = { units = 'Hertz'; }
var Phase = { units = 'Degree'; } var phase = { units = 'Degree'; }
var Time2 = { units = 'Second'; } var time2 = { units = 'Second'; }
var Field = { units = 'Oersted'; } var field = { units = 'Oersted'; }
var Timestamp = { } var timestamp = { }
} }
group analyser = { group analyser = {
@ -49,23 +49,23 @@ driver he3_polanal = {
check_function = chkWrite; check_function = chkWrite;
allowed = "+,-,Refresh" allowed = "+,-,Refresh"
} }
var Amplitude = { } var amplitude = { }
var Freq = { units = 'Hertz'; } var freq = { units = 'Hertz'; }
var Phase = { units = 'Degree'; } var phase = { units = 'Degree'; }
var Time2 = { units = 'Second'; } var time2 = { units = 'Second'; }
var Field = { units = 'Oersted'; } var field = { units = 'Oersted'; }
var Timestamp = { } var timestamp = { }
} }
group analyser_start = { group analyser_start = {
conditional = '[string equal -nocase ${has_anal} "true"]'; conditional = '[string equal -nocase ${has_anal} "true"]';
type = text; type = text;
var spin = { } var spin = { }
var Amplitude = { } var amplitude = { }
var Freq = { units = 'Hertz'; } var freq = { units = 'Hertz'; }
var Phase = { units = 'Degree'; } var phase = { units = 'Degree'; }
var Time2 = { units = 'Second'; } var time2 = { units = 'Second'; }
var Field = { units = 'Oersted'; } var field = { units = 'Oersted'; }
var Timestamp = { } var timestamp = { }
} }
code chkWrite = {%% code chkWrite = {%%
@ -98,21 +98,21 @@ driver he3_polanal = {
if { "${new_value}" == "NaN" } { if { "${new_value}" == "NaN" } {
set new_value 0 set new_value 0
} }
hupdateif ${path}/Amplitude "${new_value}" hupdateif ${path}/amplitude "${new_value}"
} }
if {[llength ${dlist}] > 3} { if {[llength ${dlist}] > 3} {
hupdateif ${path}/Freq "[lindex ${dlist} 3]" hupdateif ${path}/freq "[lindex ${dlist} 3]"
} }
if {[llength ${dlist}] > 4} { if {[llength ${dlist}] > 4} {
hupdateif ${path}/Phase "[lindex ${dlist} 4]" hupdateif ${path}/phase "[lindex ${dlist} 4]"
} }
if {[llength ${dlist}] > 5} { if {[llength ${dlist}] > 5} {
hupdateif ${path}/Time2 "[lindex ${dlist} 5]" hupdateif ${path}/time2 "[lindex ${dlist} 5]"
} }
if {[llength ${dlist}] > 6} { if {[llength ${dlist}] > 6} {
hupdateif ${path}/Field "[lindex ${dlist} 6]" hupdateif ${path}/field "[lindex ${dlist} 6]"
} }
hupdateif ${path}/Timestamp "${timestamp}" hupdateif ${path}/timestamp "${timestamp}"
%%} %%}
code setValue = {%% code setValue = {%%
@ -142,4 +142,13 @@ driver he3_polanal = {
set cmd "${cmd_str} +" set cmd "${cmd_str} +"
} }
%%} %%}
code postamble = {
@TCL
proc stash {node} {
foreach arg {spin amplitude freq phase time2 field timestamp} {
hupdateif ${node}_start/${arg} [hval ${node}/${arg}]
}
}
@END
}
} }