source $cfPath(commands)/commands_common.tcl namespace eval motor { # is_homing_list = comma separated list of motors which are safe to send "home" variable is_homing_list "" } namespace eval sample { command select {int=0:8 sampid} { SampleNum $sampid } } namespace eval optics { VarMake ::optics::select::section text user VarMake ::optics::polarizer::in text user VarMake ::optics::lens::selection text user command rotary_attenuator {int=0,15,45,90,180 angle} { AttRotDeg $angle } command entrance_aperture { int=0,45,90,135,180,270 angle text=circ,squ,open,rect shape } { RotApDeg $angle RotApShape $shape } command sample_aperture { int=25,50 size text=circ,squ,open,rect shape } { SApXmm $size SApZmm $size SApShape $shape } ############################## ## # @brief set_guide uses a lookup table to setup the collimation system # @param row, selects a row from the guide configuration table # # eg\n # set_guide HIRES command guide " text=[join [array names ::optics::guide_configuration] , ] configuration " { variable guide_configuration variable guide_configuration_columns if [ catch { array set c1_map {G 1 MT 2 P 3} array set c2_map {MT 1 G 2 A 3} array set c3_map {MT 1 G 2 A 3} array set c4_map {MT 1 G 2 A 3} array set c5_map {MT 1 G 2 A 3} array set c6_map {MT 1 G 2 A 3} array set c7_map {MT 1 G 2 A 3} array set c8_map {MT 1 G 2 A 3} array set c9_map {LP 1 MT 2 G 3 A 4 L 5} foreach el $guide_configuration($configuration) guide $guide_configuration_columns { lappend to_config $guide lappend to_config [set ${guide}_map($el)] } ::optics::guide -set feedback status BUSY eval "drive $to_config" } message ] { ::optics::guide -set feedback status IDLE if {$::errorCode=="NONE"} {return $message} return -code error $message } ::optics::guide -set feedback status IDLE } ::optics::guide -addfb text status ::optics::guide -set feedback status IDLE } proc ::commands::isc_initialize {} { ::commands::ic_initialize }