diff --git a/site_ansto/instrument/config/environment/hiden_xcs.sct b/site_ansto/instrument/config/environment/hiden_xcs.sct index 251400fc..4d43597a 100644 --- a/site_ansto/instrument/config/environment/hiden_xcs.sct +++ b/site_ansto/instrument/config/environment/hiden_xcs.sct @@ -188,10 +188,14 @@ driver hiden_xcs = { @ } @ if { [hpropexists [sct] target] } { @ set pid [pid_humidity ${tc_root} [sct target] ${data}] +} + code pid_function pid_humidity = { @ set path [pathname [sct]] +@ set sign 1 @ foreach node [list analog/sp1 analog/sp2] { -@ set pid [expr -${pid}] -@ hsetprop ${path}/${node} bias_humidity ${pid} +@ set sign [expr -${sign}] +@ set signed_pid [expr ${sign} * ${pid}] +@ hsetprop ${path}/${node} bias_humidity ${signed_pid} @ if { [hpropexists ${path}/${node} target] } { @ hset ${path}/${node} [hgetpropval ${path}/${node} target] @ } else { @@ -214,6 +218,11 @@ driver hiden_xcs = { @ sct targets ${targets} @ if { [hpropexists [sct] target] } { @ set pid [pid_flow ${tc_root} [sct target] ${data}] +@# cut this function short +@ return ${nextState} +} + code pid_function pid_flow = { +@ set path [pathname [sct]] @ foreach node [list analog/sp1 analog/sp2] { @ hsetprop ${path}/${node} bias_flow ${pid} @ if { [hpropexists ${path}/${node} target] } { @@ -223,7 +232,6 @@ driver hiden_xcs = { @ } @ } @ } -@ return ${nextState} } code write_function write_digital = { }