diff --git a/site_ansto/instrument/bilby/config/chopper/chopper.tcl b/site_ansto/instrument/bilby/config/chopper/chopper.tcl index b1225105..537140d3 100644 --- a/site_ansto/instrument/bilby/config/chopper/chopper.tcl +++ b/site_ansto/instrument/bilby/config/chopper/chopper.tcl @@ -45,7 +45,7 @@ if [dict exists $::config_dict disk_chopper name] { ::utility::macro::getset float t0_chopper_freq [subst { {chopper $ch_name} }] { set cid [SplitReply [t0_chopper_id]] set rpm [hval /instrument/$chopper/disk_$cid/aspeed] - return [expr $rpm / 60.0] + return "t0_chopper_freq = [expr $rpm / 60.0]" } sicslist setatt t0_chopper_freq klass NXdisk_chopper sicslist setatt t0_chopper_freq long_name t0_chopper_freq diff --git a/site_ansto/instrument/bilby/config/motors/motor_configuration.tcl b/site_ansto/instrument/bilby/config/motors/motor_configuration.tcl index e04f25c9..e07a12e9 100644 --- a/site_ansto/instrument/bilby/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/bilby/config/motors/motor_configuration.tcl @@ -77,11 +77,12 @@ foreach {n v} $name_val_list { return $msg_list } -proc return_non_numeric {val} { +proc filter_non_numeric {retval} { + set val [lindex $retval 2] if [string is double $val] { - return $val + return $retval } else { - return -9999 + return [lindex $retval 0] = -9999 } } @@ -280,7 +281,7 @@ publish nguide user ::utility::macro::getset float gs_nguide { {num "REPORTNUM"} {ap "NONE"} {aprest "NONE"}} { # Just return number of selected guides from HDB node - return_non_numeric [lrange [nguide $num $ap $aprest] 2 2] + filter_non_numeric [lrange [nguide $num $ap $aprest] 0 2] } sicslist setatt gs_nguide klass instrument sicslist setatt gs_nguide long_name nguide @@ -301,7 +302,7 @@ proc L1 {} { } publish L1 user ::utility::macro::getset float gs_L1 {} { - return_non_numeric [ L1 ] + filter_non_numeric [ L1 ] } sicslist setatt gs_L1 klass instrument sicslist setatt gs_L1 long_name L1 @@ -344,7 +345,7 @@ proc L2_det {} { } publish L2_det user ::utility::macro::getset float gs_L2_det {} { - return_non_numeric [ L2_det ] + filter_non_numeric [ L2_det ] } sicslist setatt gs_L2_det klass instrument sicslist setatt gs_L2_det long_name L2_det @@ -355,7 +356,7 @@ proc L2_curtainl {} { } publish L2_curtainl user ::utility::macro::getset float gs_L2_curtainl {} { - return_non_numeric [ L2_curtainl ] + filter_non_numeric [ L2_curtainl ] } sicslist setatt gs_L2_curtainl klass instrument sicslist setatt gs_L2_curtainl long_name L2_curtainl @@ -366,7 +367,7 @@ proc L2_curtainr {} { } publish L2_curtainr user ::utility::macro::getset float L2_curtainr {} { - return_non_numeric [ L2_curtainr ] + filter_non_numeric [ L2_curtainr ] } sicslist setatt gs_L2_curtainr klass instrument sicslist setatt gs_L2_curtainr long_name L2_curtainr @@ -377,7 +378,7 @@ proc L2_curtainu {} { } publish L2_curtainu user ::utility::macro::getset float gs_L2_curtainu {} { - return_non_numeric [ L2_curtainu ] + filter_non_numeric [ L2_curtainu ] } sicslist setatt gs_L2_curtainu klass instrument sicslist setatt gs_L2_curtainu long_name L2_curtainu @@ -388,7 +389,7 @@ proc L2_curtaind {} { } publish L2_curtaind user ::utility::macro::getset float gs_L2_curtaind {} { - return_non_numeric [ L2_curtaind ] + filter_non_numeric [ L2_curtaind ] } sicslist setatt gs_L2_curtaind klass instrument sicslist setatt gs_L2_curtaind long_name L2_curtaind @@ -406,7 +407,7 @@ proc Lt0 {} { } publish Lt0 user ::utility::macro::getset float gs_Lt0 {} { - return_non_numeric [ Lt0 ] + filter_non_numeric [ Lt0 ] } sicslist setatt gs_Lt0 klass instrument sicslist setatt gs_Lt0 long_name Lt0 @@ -442,7 +443,7 @@ proc Ltof_det {} { } publish Ltof_det user ::utility::macro::getset float gs_Ltof_det {} { - return_non_numeric [ Ltof_det ] + filter_non_numeric [ Ltof_det ] } sicslist setatt gs_Ltof_det klass instrument sicslist setatt gs_Ltof_det long_name Ltof_det @@ -453,7 +454,7 @@ proc Ltof_curtainl {} { } publish Ltof_curtainl user ::utility::macro::getset float gs_Ltof_curtainl {} { - return_non_numeric [ Ltof_curtainl ] + filter_non_numeric [ Ltof_curtainl ] } sicslist setatt gs_Ltof_curtainl klass instrument sicslist setatt gs_Ltof_curtainl long_name Ltof_curtainl @@ -464,7 +465,7 @@ proc Ltof_curtainr {} { } publish Ltof_curtainr user ::utility::macro::getset float gs_Ltof_curtainr {} { - return_non_numeric [ Ltof_curtainr ] + filter_non_numeric [ Ltof_curtainr ] } sicslist setatt gs_Ltof_curtainr klass instrument sicslist setatt gs_Ltof_curtainr long_name Ltof_curtainr @@ -475,7 +476,7 @@ proc Ltof_curtainu {} { } publish Ltof_curtainu user ::utility::macro::getset float gs_Ltof_curtainu {} { - return_non_numeric [ Ltof_curtainu ] + filter_non_numeric [ Ltof_curtainu ] } sicslist setatt gs_Ltof_curtainu klass instrument sicslist setatt gs_Ltof_curtainu long_name Ltof_curtainu @@ -486,7 +487,7 @@ proc Ltof_curtaind {} { } publish Ltof_curtaind user ::utility::macro::getset float gs_Ltof_curtaind {} { - return_non_numeric [ Ltof_curtaind ] + filter_non_numeric [ Ltof_curtaind ] } sicslist setatt gs_Ltof_curtaind klass instrument sicslist setatt gs_Ltof_curtaind long_name Ltof_curtaind