# 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/mercury_base_sct.tcl fileeval $cfPath(environment)/temperature/mercury_temp_sct.tcl fileeval $cfPath(environment)/temperature/mercury_pres_sct.tcl fileeval $cfPath(environment)/temperature/mercury_level_sct.tcl fileeval $cfPath(environment)/temperature/mercury_valve_sct.tcl fileeval $cfPath(environment)/temperature/west400.tcl fileeval $cfPath(environment)/he3/sct_he3.tcl fileeval $cfPath(environment)/magneticField/oxford_labview.tcl fileeval $cfPath(environment)/magneticField/sct_oxford12tlv.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