From abc0b0a3f3ea750eb0a6ed19d5420d8aee3b16f9 Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Thu, 15 Mar 2007 09:46:33 +1100 Subject: [PATCH] Added channel select to GTI bmonscan command. r1655 | ffr | 2007-03-15 09:46:33 +1100 (Thu, 15 Mar 2007) | 2 lines --- .../instrument/config/scan/scan_common_1.tcl | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/site_ansto/instrument/config/scan/scan_common_1.tcl b/site_ansto/instrument/config/scan/scan_common_1.tcl index 9b5fb1fb..1b64471d 100644 --- a/site_ansto/instrument/config/scan/scan_common_1.tcl +++ b/site_ansto/instrument/config/scan/scan_common_1.tcl @@ -19,6 +19,8 @@ VarMake bmonscan_preset Float User VarMake bmonscan_np_target Int User VarMake bmonscan_point_current Int User VarMake bmonscan_counts Int User +VarMake bmonscan_numchannels Int User +VarMake bmonscan_channel Int User VarMake hmscan_var_name Text User VarMake hmscan_var_value Float User @@ -28,8 +30,13 @@ VarMake hmscan_mode Text User VarMake hmscan_preset Float User VarMake hmscan_np_target Int User VarMake hmscan_point_current Int User +VarMake hmscan_numchannels Int User +VarMake hmscan_channel Int User variable scanVariable scan_var scanVarStart 0 scanVarStep 1 + proc scan_collect {sobj uobj point} { + } + proc hmm_scan_prepare {sobj uobj} { variable scanVarStart; variable scanVarStep; @@ -58,8 +65,7 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 hmscan_preset $preset; set scanvar [SplitReply [hmscan_var_name]] hmscan_var_value [SplitReply [$scanvar]] - ::histogram_memory::hs_count_bm_controlled $sobj $uobj $point $mode $preset; - + ::histogram_memory::hs_count_bm_controlled $sobj $uobj $point $mode $preset; } proc hmm_scan_finish {sobj uobj} { @@ -94,7 +100,8 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 variable bmoncounts_array set counts [SplitReply [bm getcounts]] bmonscan_counts $counts - lappend bmoncounts_array $counts +# lappend bmoncounts_array $counts + set bmoncounts_array [string map {\{ "" \} ""} [SplitReply [bmonscan getcounts]]]; write_nxentry bm_addnxscanentry $pt; } @@ -146,12 +153,16 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 proc init {} { -#TODO HSET bmonscan_np_target IN SCAN FUNCTION - variable bmoncounts_array - variable bmoncounts_axis - + variable bmoncounts_array; + variable bmoncounts_axis; + + bmonscan_numchannels [SplitReply [bmonscan getnumchan]]; + bmonscan_channel 0; bmonscan_np_target 0; bmonscan_point_current 0; + + hmscan_numchannels [SplitReply [hmscan getnumchan]]; + hmscan_channel 0; hmscan_np_target 0; hmscan_point_current 0; set bmoncounts_array [list]; @@ -182,6 +193,11 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 hmake $parent/bmonscan/preset user float hsetprop $parent/bmonscan/preset argtype float + hattach $parent/bmonscan/ bmonscan_channel channel + hsetprop $parent/bmonscan/channel argtype int + hsetprop $parent/bmonscan/channel min 0 + hsetprop $parent/bmonscan/channel max [SplitReply [bmonscan getnumchan]] + # Optional feedback node hmake $parent/bmonscan/feedback spy none hattach $parent/bmonscan/feedback dataFileName filename @@ -233,6 +249,7 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 } } +publish ::scancommand::scan_collect user publish ::scancommand::write_nxentry user publish ::scancommand::hmm_count user publish ::scancommand::hmm_scan_prepare user @@ -250,6 +267,7 @@ bmonscan configure script bmonscan function writeheader ::scancommand::donothing bmonscan function writepoint ::scancommand::bm_writepoint bmonscan function count ::scancommand::bm_count +#bmonscan function collect ::scancommand::scan_collect bmonscan function prepare ::scancommand::bm_scan_prepare bmonscan function finish ::scancommand::bm_scan_finish @@ -275,14 +293,17 @@ scan2 configure script hmscan function writeheader ::scancommand::donothing hmscan function writepoint ::scancommand::hmm_writepoint hmscan function count ::scancommand::hmm_count +#hmscan function collect ::scancommand::scan_collect +bmonscan function prepare ::scancommand::bm_scan_prepare hmscan function prepare ::scancommand::hmm_scan_prepare hmscan function finish ::scancommand::hmm_scan_finish # Wombat proc hdb_hmscan {scanvar scanstart scanincr scanend mode preset} { -proc hdb_bmonscan {scanvar scanstart scanincr np mode preset} { +proc hdb_bmonscan {scanvar scanstart scanincr np mode preset channel} { bmonscan clear # bmonscan configure script bmonscan add $scanvar $scanstart $scanincr + bmonscan setchannel $channel; set status [catch {bmonscan run $np $mode $preset} msg] # bmonscan configure soft if {$status == 0} {