163 lines
4.8 KiB
Tcl
163 lines
4.8 KiB
Tcl
# Author: Jing Chen (jgn@ansto.gov.au)
|
|
|
|
# Required by server_config.tcl
|
|
VarMake Instrument Text Internal
|
|
Instrument taipan
|
|
Instrument lock
|
|
|
|
#START SERVER CONFIGURATION SECTION
|
|
source util/dmc2280/dmc2280_util.tcl
|
|
source sics_ports.tcl
|
|
source server_config.tcl
|
|
MakeDrive
|
|
#END SERVER CONFIGURATION SECTION
|
|
|
|
########################################
|
|
# INSTRUMENT SPECIFIC CONFIGURATION
|
|
set no_histmem true
|
|
|
|
fileeval $cfPath(source)/source.tcl
|
|
source $cfPath(hipadaba)/hipadaba_configuration.tcl
|
|
fileeval $cfPath(motors)/sct_aerotech_soloist.tcl
|
|
fileeval $cfPath(motors)/motor_configuration.tcl
|
|
#fileeval $cfPath(motors)/spin_galil.tcl
|
|
fileeval $cfPath(motors)/positmotor_configuration.tcl
|
|
fileeval $cfPath(plc)/plc.tcl
|
|
fileeval $cfPath(optics)/optics.tcl
|
|
fileeval $cfPath(counter)/counter.tcl
|
|
fileeval $cfPath(hmm)/hmm_configuration.tcl
|
|
fileeval $cfPath(nexus)/nxscripts.tcl
|
|
fileeval $cfPath(scan)/scan.tcl
|
|
fileeval $cfPath(commands)/commands.tcl
|
|
fileeval $cfPath(commands)/pulser.tcl
|
|
fileeval $cfPath(commands)/hvcommands.tcl
|
|
namespace eval anticollider { proc ::anticollider::init {} {} }
|
|
#fileeval $cfPath(anticollider)/anticollider.tcl
|
|
#fileeval $cfPath(tasmad)/taspub_sics/tasp.tcl
|
|
#fileeval $cfPath(tasmad)/taspub_sics/tasscript.tcl
|
|
|
|
fileeval $cfPath(environment)/sct_agilent_33220A.tcl
|
|
fileeval $cfPath(environment)/sct_protek_common.tcl
|
|
fileeval $cfPath(environment)/sct_protekmm.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_eurotherm_2000.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_julabo_lh45.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_lakeshore_336.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_ls336.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_ls340.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_lakeshore_370.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_oxford_itc.tcl
|
|
fileeval $cfPath(environment)/temperature/sct_oxford_mercury.tcl
|
|
fileeval $cfPath(environment)/temperature/west400.tcl
|
|
fileeval $cfPath(environment)/magneticField/oxford_labview.tcl
|
|
fileeval $cfPath(environment)/magneticField/sct_oxford12tlv.tcl
|
|
fileeval $cfPath(environment)/he3/sct_he3.tcl
|
|
fileeval config/load_setup.tcl
|
|
fileeval log.tcl
|
|
publish logbook spy
|
|
source gumxml.tcl
|
|
|
|
::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false
|
|
::anticollider::protect_detector "true"
|
|
|
|
# init for the tasUB
|
|
#make mcv mch acv ach into mvfocus mhfocus avfocus ahfocus when it works
|
|
puts "doing tasub"
|
|
MakeTasUB tasub m1 m2 mvfocus mhfocus s1 s2 sgu sgl a1 a2 avfocus ahfocus
|
|
tasub mono dd 3.35416
|
|
tasub ana dd 3.35416
|
|
# NOTE Autofocussing parameters persist in status.tcl
|
|
# You must set them in extraconfig.tcl to override this behaviour
|
|
tasub mono vb1 102.2
|
|
tasub mono vb2 1.78
|
|
tasub mono hb1 184.42
|
|
tasub mono hb2 -60.1
|
|
tasub mono hb3 0.951
|
|
tasub ana vb1 115
|
|
tasub ana vb2 2.13
|
|
tasub ana hb1 45.68
|
|
tasub ana hb2 105.7
|
|
tasub ana hb3 0.945
|
|
tasub focusfn energy
|
|
tasub autofocus 0
|
|
tasub updatetargets
|
|
puts "done tasub"
|
|
|
|
MakeDiffScan
|
|
|
|
load_setup ../taipan_setup.txt
|
|
server_init
|
|
###########################################
|
|
# WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly.
|
|
|
|
# Provide tasmot notifications to GumTree when real motors move
|
|
proc m2tasupdate {} {
|
|
tasub update
|
|
hupdate /sample/ei
|
|
hupdate /sample/en
|
|
hupdate /sample/ki
|
|
hupdate /sample/qh
|
|
hupdate /sample/qk
|
|
hupdate /sample/ql
|
|
hupdate /sample/qm
|
|
}
|
|
publish m2tasupdate user
|
|
|
|
proc s1s2tasupdate {} {
|
|
tasub update
|
|
hupdate /sample/qh
|
|
hupdate /sample/qk
|
|
hupdate /sample/ql
|
|
hupdate /sample/qm
|
|
}
|
|
publish s1s2tasupdate user
|
|
|
|
proc a2tasupdate {} {
|
|
tasub update
|
|
hupdate /sample/ef
|
|
hupdate /sample/en
|
|
hupdate /sample/kf
|
|
hupdate /sample/qh
|
|
hupdate /sample/qk
|
|
hupdate /sample/ql
|
|
hupdate /sample/qm
|
|
}
|
|
publish a2tasupdate user
|
|
|
|
scriptcallback connect m2 MOTEND m2tasupdate
|
|
scriptcallback connect s1 MOTEND s1s2tasupdate
|
|
scriptcallback connect s2 MOTEND s1s2tasupdate
|
|
scriptcallback connect a2 MOTEND a2tasupdate
|
|
|
|
set MY_INSTRUMENT_IS_BROKEN_AND_I_DIDNT_FIXIT false
|
|
if {$MY_INSTRUMENT_IS_BROKEN_AND_I_DIDNT_FIXIT} {
|
|
AntiCollisionInstall
|
|
anticollision register m2
|
|
anticollision register s2
|
|
anticollision register a2
|
|
array set tasacscript_levels {m2 0 s2 1 a2 2}
|
|
proc tasacscript {args} {
|
|
anticollision clear
|
|
array set targets $args
|
|
foreach {mot target} $args {
|
|
anticollision add $::tasacscript_levels($mot) $mot $targets($mot)
|
|
}
|
|
return
|
|
}
|
|
publish tasacscript user
|
|
anticollision script tasacscript
|
|
}
|
|
# fix all motors
|
|
if {0} {
|
|
foreach m [sicslist type motor] {
|
|
if {$m == "motor" || $m == "dummy_motor"} {
|
|
# skipit
|
|
} else {
|
|
clientput fix $m position
|
|
$m fixed 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You can add extra-configuration code in ../extraconfig.tcl
|