Merging release 2.0 branch with CVS trunk

r2601 | ffr | 2008-05-30 10:26:57 +1000 (Fri, 30 May 2008) | 2 lines
This commit is contained in:
Ferdi Franceschini
2008-05-30 10:26:57 +10:00
committed by Douglas Clowes
parent 4a937e1608
commit 0749b0effa
125 changed files with 8541 additions and 1810 deletions

View File

@@ -1,5 +1,7 @@
config/anticollider/anticollider_common.tcl
config/plc/plc_common_1.tcl
config/counter/counter_common_1.tcl
config/environment/temperature/lakeshore340_common.tcl
config/hipadaba/hipadaba_configuration_common.tcl
config/hipadaba/common_instrument_dictionary.tcl
config/hipadaba/instdict_specification.tcl
@@ -9,3 +11,4 @@ config/hmm/anstohm_linked.xml
config/scan/scan_common_1.hdd
config/scan/scan_common_1.tcl
config/nexus/nxscripts_common_1.tcl
config/commands/commands_common.tcl

View File

@@ -0,0 +1,16 @@
# This script is loaded automatically by anticollider.tcl when SICS is launched
# TODO Allow sequencing
# TODO Allow functional dependencies
#
# Examples
# for pcx forbid { {80 130} {10 20} }
# when stth in { {0 10} {20 30} } forbid { {10 20} {90 100} } for mtth
#
## The next example forbids movement when both schi and sx are in the given ranges
# forbid {0 10} for sphi whenall {schi in {10 15} sx {10 11} }
for stth forbid {20 30} when mtth in {44 45}
for stth forbid {-120 -100} when mtth in {99 100}
for mtth forbid {90 100} when stth in {-120 -119}
for mtth forbid {45 55} when stth in {29 30}

View File

@@ -0,0 +1,7 @@
# $Revision: 1.2 $
# $Date: 2008-05-30 00:26:55 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
source $cfPath(anticollider)/anticollider_common.tcl
::anticollider::loadscript acscript.txt

View File

@@ -0,0 +1 @@
source $cfPath(commands)/commands_common.tcl

View File

@@ -0,0 +1,24 @@
source $cfPath(environment)/temperature/lakeshore340_common.tcl
# @brief Adds a lakeshore 340 temperature controller object.
#
# This must be called when the instrument configuration is loaded and before\n
# the buildHDB function is called. Currently there is no way to add and remove\n
# environment controllers and their hdb paths at runtime.
proc ::environment::temperature::add_ls340 {} {
set sim_mode [SplitReply [environment_simulation]]
if {$sim_mode == "true"} {
::environment::temperature::mkls340sim tc1
} else {
::environment::temperature::mkls340 tc1
tc1 tolerance 1
tc1 Settle 30
tc1 range 2
tc1 UpperLimit 500
tc1 LowerLimit 4
}
sicslist setatt tc1 environment_name tempone
sicslist setatt tc1 long_name control_sensor_reading
::environment::mkenvinfo tc1 {heateron {priv user} range {priv manager} }
}

View File

@@ -2,51 +2,119 @@ source $cfPath(hmm)/hmm_configuration_common_1.tcl
source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl
set sim_mode [SplitReply [hmm_simulation]]
##\brief Return the detector position
proc ::histogram_memory::init_OAT_TABLE {} {
if [ catch {
# We don't need a MAX_CHAN parameter for time because the time channel
# is scaled by calling the ::histogram_memory::clock_scale function
OAT_TABLE X -setdata MAX_CHAN 3872
OAT_TABLE X -setdata MAX_CHAN_PERSEG 992
OAT_TABLE Y -setdata MAX_CHAN 512
OAT_TABLE X -setdata ALLOWED_RESOLUTIONS {1 2 4 8 16 32}
OAT_TABLE X -setdata BMIN -0.5
OAT_TABLE X -setdata BMAX 991.5
OAT_TABLE Y -setdata BMIN -0.5
OAT_TABLE Y -setdata BMAX 511.5
# x bin range 0, 3871
# y bin range 0, 511
FAT_TABLE -set MULTI_HOST_HISTO_STITCH_OVERLAP 32
OAT_TABLE -set X { 991.5 990.5 } NXC 992 Y { 511.5 510.5 } NYC 512 T { 0 2000 } NTC 1
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
##
# @brief Returns the oat table bin boundaries.
proc ::histogram_memory::oat_bins {axis} {
array set channID {X NXC Y NYC T NTC}
if [ catch {
if {$axis == "X"} {
foreach {bb0 bb1} [OAT_TABLE -get $axis] {}
set bstep [expr $bb1 - $bb0]
if {$bstep < 0} {
set nch_perseg [OAT_TABLE -get $channID($axis)]
set overlap [FAT_TABLE -get MULTI_HOST_HISTO_STITCH_OVERLAP]
set bb0 [expr 4*$nch_perseg - 3*$overlap + $bstep/2.0]
set bb1 [expr $bb0+$bstep]
###########
# set overlap [FAT_TABLE -get MULTI_HOST_HISTO_STITCH_OVERLAP]
# set bb0 [expr 4*$bb0 - 3*($overlap-1)]
# set bb1 [expr $bb0+$bstep]
}
return [list $bb0 $bb1]
} else {
return [OAT_TABLE -get $axis]
}
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
##
# @brief Returns the current number of channels for a given axis.
proc ::histogram_memory::number_of_channels {axis} {
array set channID {X NXC Y NYC T NTC}
if [ catch {
if {$axis == "X"} {
set nch_perseg [OAT_TABLE -get $channID($axis)]
set overlap [FAT_TABLE -get MULTI_HOST_HISTO_STITCH_OVERLAP]
set nch [expr 4*$nch_perseg - 3*$overlap]
return $nch
} else {
return [OAT_TABLE -get $channID($axis)]
}
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
##
# @brief Return the detector position
proc ::histogram_memory::detector_posn_degrees {} {
return [SplitReply [stth]]
if [ catch {
return [SplitReply [stth]]
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
proc ::histogram_memory::pre_count {} {}
proc ::histogram_memory::post_count {} {}
proc ::histogram_memory::initialize {} {
if {$::sim_mode == "true"} {
hmm configure oat_ntc_eff 1
hmm configure oat_nyc_eff 512
hmm configure oat_nxc_eff [expr 480*8 - 1]
}
::histogram_memory::_initialize
::histogram_memory::two_theta -boundaries
if [ catch {
if {$::sim_mode == "true"} {
hmm configure oat_ntc_eff 1
hmm configure stitch_nyc 512
hmm configure stitch_nxc [expr 480*8 - 1]
}
BAT_TABLE -init
CAT_TABLE -init
SAT_TABLE -init
OAT_TABLE -init
FAT_TABLE -init MULTI_HOST_HISTO_STITCH_OVERLAP
::histogram_memory::_initialize
::histogram_memory::two_theta -boundaries
detector_active_height_mm 200
detector_active_width_mm 500
detector_radius_mm 700.0
set x_bb0 991.5; set xbbmax -0.5
set y_bb0 0; set ybbmax 511.5
hmm configure FAT_SIMULATED_EVENT_Y0 $y_bb0
hmm configure FAT_SIMULATED_EVENT_Y1 $ybbmax
hmm configure FAT_SIMULATED_EVENT_X0 $x_bb0
hmm configure FAT_SIMULATED_EVENT_X1 $xbbmax
set x_binwidth 1
if {[expr {$xbbmax - $x_bb0}] > 0} {
set x_bb1 [expr {$x_bb0+$x_binwidth}]
} else {
set x_bb1 [expr {$x_bb0-$x_binwidth}]
}
set y_binwidth 1
if {[expr {$ybbmax - $y_bb0}] > 0} {
set y_bb1 [expr {$y_bb0+$y_binwidth}]
} else {
set y_bb1 [expr {$y_bb0-$y_binwidth}]
}
OAT_TABLE -init X_MIN $x_bb0 X_MAX $xbbmax Y_MIN $y_bb0 Y_MAX $ybbmax
# We default to one big bin for time
set t_bb0 [OAT_TABLE -get T_MIN]
set t_bb1 [OAT_TABLE -get T_MAX]
OAT_TABLE X "$x_bb0 $x_bb1" Y "$y_bb0 $y_bb1" T "$t_bb0 $t_bb1"
::histogram_memory::upload_config Filler_defaults
detector_active_height_mm 200
detector_active_width_mm 500
detector_radius_mm 700.0
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
# hmm configure FAT_SIMULATED_EVENT_Y0 $y_bb0
# hmm configure FAT_SIMULATED_EVENT_Y1 $ybbmax
# hmm configure FAT_SIMULATED_EVENT_X0 $x_bb0
# hmm configure FAT_SIMULATED_EVENT_X1 $xbbmax
::histogram_memory::init_OAT_TABLE
::histogram_memory::upload_config Filler_defaults
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
proc histmem {cmd args} {

View File

@@ -1,7 +1,8 @@
# $Revision: 1.20 $
# $Date: 2008-05-29 04:53:32 $
# $Revision: 1.21 $
# $Date: 2008-05-30 00:26:55 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# Last revision by: $Author: ffr $
source $cfPath(anticollider)/anticollider.tcl
# START MOTOR CONFIGURATION
@@ -642,3 +643,4 @@ make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION
::anticollider::init