# Author: Jing Chen (jgn@ansto.gov.au) # Ferdi Franceschini: April 2013 # Added run and drive wrappers which set the target speed to an allowed speed # for fermi motors. # Required by server_config.tcl VarMake Instrument Text Internal Instrument pelican Instrument lock #START SERVER CONFIGURATION SECTION source util/dmc2280/dmc2280_util.tcl source sics_ports.tcl source server_config.tcl MakeDrive sicsdrive sicsrun #END SERVER CONFIGURATION SECTION ######################################## # INSTRUMENT SPECIFIC CONFIGURATION source $cfPath(hipadaba)/hipadaba_configuration.tcl fileeval $cfPath(source)/source.tcl fileeval $cfPath(motors)/motor_configuration.tcl fileeval $cfPath(motors)/positmotor_configuration.tcl #fileeval $cfPath(motors)/extraconfig.tcl fileeval $cfPath(plc)/plc.tcl fileeval $cfPath(counter)/counter.tcl #fileeval $cfPath(beamline)/sct_power.tcl fileeval $cfPath(environment)/sct_agilent_33220A.tcl fileeval $cfPath(environment)/sct_hiden_xcs.tcl fileeval $cfPath(environment)/sct_huber_pilot.tcl fileeval $cfPath(environment)/sct_isotech_ps.tcl fileeval $cfPath(environment)/temperature/sct_eurotherm_2000.tcl fileeval $cfPath(environment)/temperature/sct_eurotherm_m2000.tcl fileeval $cfPath(environment)/sct_keithley_2700.tcl fileeval $cfPath(environment)/sct_keithley_m2700.tcl fileeval $cfPath(environment)/temperature/sct_lakeshore_218.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_lakeshore_m370.tcl fileeval $cfPath(environment)/temperature/sct_mercury_base.tcl fileeval $cfPath(environment)/temperature/sct_mercury_level.tcl fileeval $cfPath(environment)/temperature/sct_mercury_pres.tcl fileeval $cfPath(environment)/temperature/sct_mercury_scpi.tcl fileeval $cfPath(environment)/temperature/sct_mercury_temp.tcl fileeval $cfPath(environment)/temperature/sct_mercury_valve.tcl fileeval $cfPath(environment)/sct_protek_common.tcl fileeval $cfPath(environment)/sct_protekmm.tcl fileeval $cfPath(environment)/temperature/sct_julabo_lh45_gen.tcl fileeval $cfPath(environment)/temperature/sct_qlink.tcl fileeval $cfPath(environment)/temperature/west400.tcl fileeval $cfPath(environment)/temperature/sct_west4100.tcl fileeval $cfPath(environment)/magneticField/sct_oxford_labview.tcl fileeval $cfPath(environment)/magneticField/sct_oxford12tlv.tcl fileeval $cfPath(environment)/he3/sct_he3.tcl fileeval $cfPath(environment)/magneticField/sct_green_magnet.tcl fileeval $cfPath(hmm)/hmm_configuration.tcl fileeval $cfPath(hmm)/sct_hv.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 fileeval $cfPath(commands)/monodrive.tcl fileeval $cfPath(anticollider)/anticollider.tcl fileeval $cfPath(chopper)/sct_fermichopper.tcl fileeval $cfPath(chopper)/fermimot.tcl proc mkrunargs {args} { foreach {mot speed} $args { lappend runargs $mot if {$mot == "mchs" || $mot == "schs"} { set refspeed [SplitReply [$mot refspeed]] set sprat [expr {abs($speed)/$refspeed}] set mult [::chopper::findSpeedMult $sprat] set target [expr $mult * $refspeed] if {$speed < 0} { set target -$target } lappend runargs [expr round($target)] } else { lappend runargs $speed } } return "$runargs" } proc run {args} { set runargs [eval "mkrunargs $args"] anstocapture sicsrun {*}$runargs #NOTE The return prevents seeing the message twice. See SICS-764 and SICS-765 return; } proc drive {args} { set runargs [eval "mkrunargs $args"] anstocapture sicsdrive {*}$runargs #NOTE The return prevents seeing the message twice. See SICS-764 and SICS-765 return; } publish run user publish drive user source gumxml.tcl ::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false ::anticollider::protect_detector "true" server_init ########################################### # WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly. # You can add extra-configuration code in ../extraconfig.tcl