diff --git a/site_ansto/instrument/hipd/config/scan/scan.tcl b/site_ansto/instrument/hipd/config/scan/scan.tcl index e787cb6f..9f47b51e 100644 --- a/site_ansto/instrument/hipd/config/scan/scan.tcl +++ b/site_ansto/instrument/hipd/config/scan/scan.tcl @@ -7,8 +7,6 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 variable scanVariable; nxcreatefile; - nxscript updatedictvar entryName start; - nxscript puttext estart [sicstime]; nxclosefile; # stdscan prepare $sobj $uobj; set vlist [split [$sobj getvarpar 0] = ]; @@ -18,6 +16,13 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 hs_prepare $sobj $uobj } + proc scan_count {sobj uobj point mode preset} { + variable scan_pt_start_time + set scan_pt_start_time [sicstime] + hs_count_bm_controlled $sobj $uobj $point $mode $preset; + + } + proc hm_scan_finish {sobj uobj} { hs_finish $sobj $uobj; nxreopenfile; @@ -42,25 +47,27 @@ variable scanVariable scan_var scanVarStart 0 scanVarStep 1 variable scanVarStart; variable scanVarStep; variable scanVariable; + variable scan_pt_start_time; + set scanVarPos [expr $scanVarStart + $pt * $scanVarStep]; nxreopenfile; - addnxentry nxscript scan_[format "%05d" $pt] $scanVariable $scanVarPos $scanVarStep; + addnxentry nxscript scan_[format "%05d" $pt] $scanVariable $scanVarPos $scanVarStep $scan_pt_start_time; nxclosefile } proc donothing {args} {} -proc bmcount {sobj uobj pt mode preset} { - bm setmode $mode - bm count $preset; -} + proc bmcount {sobj uobj pt mode preset} { + variable scan_pt_start_time + set scan_pt_start_time [sicstime] + bm setmode $mode + bm count $preset; + } proc bm_scan_prepare {sobj uobj} { variable scanVarStart; variable scanVarStep; variable scanVariable; nxcreatefile; - nxscript updatedictvar entryName start; - nxscript puttext estart [sicstime]; nxclosefile; set vlist [split [$sobj getvarpar 0] = ]; set scanVariable [string trim [lindex [split [lindex $vlist 0] . ] 1]]; @@ -68,17 +75,21 @@ proc bmcount {sobj uobj pt mode preset} { set scanVarStep [lindex $vlist 2]; stdscan prepare $sobj $uobj; } + proc bm_nxaddpoint {sobj uobj pt} { variable scanVarStart; variable scanVarStep; variable scanVariable; + variable scan_pt_start_time; + set scanVarPos [expr $scanVarStart + $pt * $scanVarStep]; nxreopenfile; - bm_addnxentry nxscript scan_$pt $scanVariable $scanVarPos $scanVarStep; + bm_addnxentry nxscript scan_$pt $scanVariable $scanVarPos $scanVarStep $scan_pt_start_time; nxclosefile } } +publish ::scanCommand::scan_count user publish ::scanCommand::scan_prepare user publish ::scanCommand::hm_scan_finish user publish ::scanCommand::nxaddpoint user @@ -98,6 +109,7 @@ hmscan configure script #hmscan function prepare hdbprepare #hmscan function collect hdbcollect hmscan function writeheader ::scanCommand::donothing +hmscan function count ::scanCommand::scan_count hmscan function writepoint ::scanCommand::nxaddpoint hmscan function prepare ::scanCommand::scan_prepare hmscan function finish ::scanCommand::hm_scan_finish