Provide bmonscan graphics view and command feedback.
r1643 | ffr | 2007-03-13 16:43:45 +1100 (Tue, 13 Mar 2007) | 2 lines
This commit is contained in:
committed by
Douglas Clowes
parent
e1cbf10ed7
commit
b9731fc0ac
@@ -1,6 +1,15 @@
|
|||||||
#TODO Define bmon and hmm scan commands in separate namespaces
|
#TODO Define bmon and hmm scan commands in separate namespaces
|
||||||
|
|
||||||
namespace eval scancommand {
|
namespace eval scancommand {
|
||||||
|
# List of counts
|
||||||
|
variable bmoncounts_array
|
||||||
|
variable bmoncounts_axis
|
||||||
|
|
||||||
|
variable bmonscanvar_axis_hpath
|
||||||
|
# hpath to values from bmoncounts_array
|
||||||
|
# we use this to get auto-notification on update of bmonscancounts_array_hpath
|
||||||
|
variable bmonscancounts_array_hpath
|
||||||
|
|
||||||
VarMake bmonscan_var_name Text User
|
VarMake bmonscan_var_name Text User
|
||||||
VarMake bmonscan_var_value Float User
|
VarMake bmonscan_var_value Float User
|
||||||
VarMake bmonscan_var_start Float User
|
VarMake bmonscan_var_start Float User
|
||||||
@@ -9,6 +18,7 @@ VarMake bmonscan_mode Text User
|
|||||||
VarMake bmonscan_preset Float User
|
VarMake bmonscan_preset Float User
|
||||||
VarMake bmonscan_np_target Int User
|
VarMake bmonscan_np_target Int User
|
||||||
VarMake bmonscan_point_current Int User
|
VarMake bmonscan_point_current Int User
|
||||||
|
VarMake bmonscan_counts Int User
|
||||||
|
|
||||||
VarMake hmscan_var_name Text User
|
VarMake hmscan_var_name Text User
|
||||||
VarMake hmscan_var_value Float User
|
VarMake hmscan_var_value Float User
|
||||||
@@ -81,9 +91,14 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1
|
|||||||
}
|
}
|
||||||
|
|
||||||
proc bm_writepoint {sobj uobj pt} {
|
proc bm_writepoint {sobj uobj pt} {
|
||||||
|
variable bmoncounts_array
|
||||||
|
set counts [SplitReply [bm getcounts]]
|
||||||
|
bmonscan_counts $counts
|
||||||
|
lappend bmoncounts_array $counts
|
||||||
write_nxentry bm_addnxscanentry $pt;
|
write_nxentry bm_addnxscanentry $pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#TODO Feedback for Histogram memory scan
|
||||||
proc hm_writepoint {sobj uobj pt} {
|
proc hm_writepoint {sobj uobj pt} {
|
||||||
write_nxentry addnxscanentry $pt;
|
write_nxentry addnxscanentry $pt;
|
||||||
}
|
}
|
||||||
@@ -92,6 +107,7 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1
|
|||||||
|
|
||||||
proc bmcount {sobj uobj point mode preset} {
|
proc bmcount {sobj uobj point mode preset} {
|
||||||
variable scan_pt_start_time
|
variable scan_pt_start_time
|
||||||
|
|
||||||
set scan_pt_start_time [sicstime]
|
set scan_pt_start_time [sicstime]
|
||||||
bmonscan_point_current $point
|
bmonscan_point_current $point
|
||||||
bmonscan_mode $mode;
|
bmonscan_mode $mode;
|
||||||
@@ -106,13 +122,22 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1
|
|||||||
variable scanVarStart;
|
variable scanVarStart;
|
||||||
variable scanVarStep;
|
variable scanVarStep;
|
||||||
variable scanVariable;
|
variable scanVariable;
|
||||||
|
variable bmoncounts_array;
|
||||||
|
variable bmoncounts_axis;
|
||||||
|
|
||||||
|
set bmoncounts_array [list]
|
||||||
|
#TODO Parameterise varindex in some way
|
||||||
|
set varindex 0;
|
||||||
|
|
||||||
nxcreatefile nexus_bmonscan.dic;
|
nxcreatefile nexus_bmonscan.dic;
|
||||||
nxclosefile;
|
nxclosefile;
|
||||||
bmonscan_np_target [SplitReply [$sobj np]];
|
bmonscan_np_target [SplitReply [$sobj np]];
|
||||||
set vlist [split [$sobj getvarpar 0] = ];
|
set vlist [split [$sobj getvarpar $varindex] = ];
|
||||||
set scanVariable [string trim [lindex [split [lindex $vlist 0] . ] 1]];
|
set scanVariable [string trim [lindex [split [lindex $vlist 0] . ] 1]];
|
||||||
set scanVarStart [lindex $vlist 1];
|
set scanVarStart [lindex $vlist 1];
|
||||||
set scanVarStep [lindex $vlist 2];
|
set scanVarStep [lindex $vlist 2];
|
||||||
|
set scanvar_pts [SplitReply [$sobj getvardata $varindex]]
|
||||||
|
set bmoncounts_axis [string map {\{ "" \} ""} $scanvar_pts]
|
||||||
bmonscan_var_name $scanVariable
|
bmonscan_var_name $scanVariable
|
||||||
bmonscan_var_start $scanVarStart
|
bmonscan_var_start $scanVarStart
|
||||||
bmonscan_var_step $scanVarStep
|
bmonscan_var_step $scanVarStep
|
||||||
@@ -122,10 +147,15 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1
|
|||||||
|
|
||||||
proc init {} {
|
proc init {} {
|
||||||
#TODO HSET bmonscan_np_target IN SCAN FUNCTION
|
#TODO HSET bmonscan_np_target IN SCAN FUNCTION
|
||||||
bmonscan_np_target 1;
|
variable bmoncounts_array
|
||||||
|
variable bmoncounts_axis
|
||||||
|
|
||||||
|
bmonscan_np_target 0;
|
||||||
bmonscan_point_current 0;
|
bmonscan_point_current 0;
|
||||||
hmscan_np_target 1;
|
hmscan_np_target 0;
|
||||||
hmscan_point_current 0;
|
hmscan_point_current 0;
|
||||||
|
set bmoncounts_array [list];
|
||||||
|
set bmoncounts_axis [list];
|
||||||
}
|
}
|
||||||
|
|
||||||
proc commands_hpath_setup {parent} {
|
proc commands_hpath_setup {parent} {
|
||||||
@@ -161,23 +191,45 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1
|
|||||||
hattach $parent/bmonscan/feedback/scan_variable bmonscan_var_value value
|
hattach $parent/bmonscan/feedback/scan_variable bmonscan_var_value value
|
||||||
hmake $parent/bmonscan/feedback/NP spy none
|
hmake $parent/bmonscan/feedback/NP spy none
|
||||||
hattach $parent/bmonscan/feedback/NP bmonscan_point_current current
|
hattach $parent/bmonscan/feedback/NP bmonscan_point_current current
|
||||||
|
hattach $parent/bmonscan/feedback bmonscan_counts counts;
|
||||||
|
#TODO Histogram memory scan command
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
proc graphics_hpath_setup {parent} {
|
proc graphics_hpath_setup {parent} {
|
||||||
|
variable bmonscanvar_axis_hpath
|
||||||
|
variable bmonscancounts_array_hpath
|
||||||
|
variable bmoncounts_array
|
||||||
|
variable bmoncounts_axis
|
||||||
|
|
||||||
|
set bmonscanvar_axis_hpath $parent/beam_monitor_scan/scan_axis
|
||||||
|
set bmonscancounts_array_hpath $parent/beam_monitor_scan/counts
|
||||||
|
set defdim 100
|
||||||
hmake $parent/beam_monitor_scan spy none;
|
hmake $parent/beam_monitor_scan spy none;
|
||||||
hsetprop $parent/beam_monitor_scan type graphdata;
|
hsetprop $parent/beam_monitor_scan type graphdata;
|
||||||
hsetprop $parent/beam_monitor_scan viewer default;
|
hsetprop $parent/beam_monitor_scan viewer default;
|
||||||
hsetprop $parent/beam_monitor_scan rank 1;
|
hsetprop $parent/beam_monitor_scan rank 1;
|
||||||
hattach $parent/beam_monitor_scan bmonscan_np_target dim;
|
hattach $parent/beam_monitor_scan bmonscan_np_target dim;
|
||||||
hattach $parent/beam_monitor_scan bmonscan_point_current point;
|
hattach $parent/beam_monitor_scan bmonscan_point_current point;
|
||||||
|
hmake $parent/beam_monitor_scan/scan_variable spy none
|
||||||
|
hattach $parent/beam_monitor_scan/scan_variable bmonscan_var_value value
|
||||||
|
hmake $parent/beam_monitor_scan/scan_counts spy none
|
||||||
|
hattach $parent/beam_monitor_scan/scan_counts bmonscan_counts value
|
||||||
|
hmakescript $bmonscanvar_axis_hpath "set ::scancommand::bmoncounts_axis" hdbReadOnly floatvarar $defdim
|
||||||
|
hsetprop $bmonscanvar_axis_hpath type axis
|
||||||
|
sicspoll del $bmonscanvar_axis_hpath
|
||||||
|
hmakescript $bmonscancounts_array_hpath "set ::scancommand::bmoncounts_array" hdbReadOnly floatvarar $defdim
|
||||||
|
hsetprop $bmonscancounts_array_hpath type data
|
||||||
|
sicspoll del $bmonscancounts_array_hpath
|
||||||
|
|
||||||
hmake $parent/histogram_memory_scan spy none;
|
#TODO histogram_memory_scan
|
||||||
hsetprop $parent/histogram_memory_scan type graphdata;
|
# hmake $parent/histogram_memory_scan spy none;
|
||||||
hsetprop $parent/histogram_memory_scan viewer default;
|
# hsetprop $parent/histogram_memory_scan type graphdata;
|
||||||
hsetprop $parent/histogram_memory_scan rank 2;
|
# hsetprop $parent/histogram_memory_scan viewer default;
|
||||||
hattach $parent/histogram_memory_scan hmscan_np_target dim0;
|
# hsetprop $parent/histogram_memory_scan rank 2;
|
||||||
hattach $parent/histogram_memory_scan hmscan_np_target dim1;
|
# hattach $parent/histogram_memory_scan hmscan_np_target dim0;
|
||||||
hattach $parent/histogram_memory_scan hmscan_point_current point;
|
# hattach $parent/histogram_memory_scan hmscan_np_target dim1;
|
||||||
|
# hattach $parent/histogram_memory_scan hmscan_point_current point;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user