diff --git a/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl b/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl index 770e1be0..76763ba4 100644 --- a/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl +++ b/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl @@ -67,23 +67,16 @@ proc det_height_arr {active_height_mm row_zero dim0} { } } -proc hmm_addnxscanentry {nxobj entryname scanVariable scanVarPos scanVarStep start_time} { +proc hmm_save {nxobj entryname} { global dradius ndect angsep; - set dim0 [SplitReply [hmm configure dim0]] - set dim1 [SplitReply [hmm configure dim1]] - putcommon $nxobj $entryname $scanVariable - putcrystal $nxobj - putmonitor $nxobj - putsample $nxobj - set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]] - $nxobj updatedictvar scanvar_name $scanVariable - $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]] - $nxobj updatedictvar scanvar_longname $scanVariable - $nxobj putfloat scanvar $scanVar_value - $nxobj putfloat scanstep $scanVarStep + set dim0 [SplitReply [hmm configure dim0]]; + set dim1 [SplitReply [hmm configure dim1]]; + putcommon $nxobj $entryname; + putcrystal $nxobj; + putmonitor $nxobj; + putsample $nxobj; $nxobj putfloat detangle_degrees [SplitReply [detector_angle_deg]] - $nxobj puttext estart $start_time # putpolar_angle $nxobj $dim0 $dim1 put_det_height_arr $nxobj $dim0 $nxobj puttext dtype [SplitReply [detector_type]] @@ -91,23 +84,38 @@ proc hmm_addnxscanentry {nxobj entryname scanVariable scanVarPos scanVarStep sta $nxobj putfloat dradius [SplitReply [detector_radius_mm]] $nxobj puttext dlayout area $nxobj puthm dcounts hmm [SplitReply [hmm_start]] [SplitReply [hmm_length]] [SplitReply [hmm_bank]] -#$nxobj puthm deff hmm $nxobj makelink scandata dcounts $nxobj makelink scanvertaxis dvaxis -# $nxobj makelink scandata dtheta -# $nxobj makelink scanvar $scanVariable +} + +proc hmm_addnxscanentry {nxobj entryname scanVariable scanVarPos scanVarStep start_time} { + $nxobj puttext estart $start_time + $nxobj updatedictvar scan_variable $scanVariable + + set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]] + $nxobj updatedictvar scanvar_name $scanVariable + $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]] + $nxobj updatedictvar scanvar_longname $scanVariable + $nxobj putfloat scanvar $scanVar_value + $nxobj putfloat scanstep $scanVarStep + + hmm_save $nxobj $entryname; $nxobj puttext eend [sicstime]; } +#TODO Refactor: Add bm_save command and use it here. proc bm_addnxscanentry {nxobj entryname scanVariable scanVarPos scanVarStep start_time} { global dradius ndect angsep; - putcommon $nxobj $entryname $scanVariable + $nxobj updatedictvar scan_variable $scanVariable; + putcommon $nxobj $entryname putcrystal $nxobj putmonitor $nxobj putsample $nxobj set scanVar_value [string trim [lindex [split [$scanVariable] =] 1]] $nxobj updatedictvar scanvar_name $scanVariable - $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]] +#TODO $nxobj updatedictvar scanvar_units [SplitReply [$scanVariable units]] +$nxobj updatedictvar scanvar_units "unknown" + $nxobj updatedictvar scanvar_longname $scanVariable $nxobj putfloat scanvar $scanVar_value $nxobj putfloat scanstep $scanVarStep @@ -160,9 +168,8 @@ proc putcrystal {nxobj} { $nxobj puttext ctype [SplitReply [crystal_type]] $nxobj putfloat clambda [SplitReply [crystal_wavelength_A]] } -proc putcommon {nxobj entryName scanVariable} { +proc putcommon {nxobj entryName} { $nxobj updatedictvar entryName $entryName - $nxobj updatedictvar scan_variable $scanVariable $nxobj puttext etitle [getVal [Title]] $nxobj puttext iname [getVal [Instrument]] $nxobj puttext username [SplitReply [user]]