#%TITLE% SC_dummy.mac
#%NAME% %B%SC_dummy.mac%B% macros to control the sample changer with MD2
#%DESCRIPTION%
# macros to handle the compliency between the minidiff and the microdiff
# in the context of the datacollection.
#%END%
global SC_MD_FLAGS
global MICRODIFF_AUTOCHK_BACKGROUND
global ENABLE_AUTO_LOOP_CENTRING
global ENABLE_AUTO_CRYSTAL_CENTRING
global ENABLE_PLAYBACK_CENTRING
global AUTO_CENTRING_FLAG
global KAPPA_IN_USE
SC_MD_FLAGS=7
def SCMoveToLoadingPosition(holder_length) '{
printf ("moving to loading position\n")
if (MICRODIFF_AUTOCHK_BACKGROUND) {
printf("calling Microdiff device \'Check Background\'\n")
tango_io(MICRODIFF_DEVICE, "CheckBackground")
while (tango_io(MICRODIFF_DEVICE, "State") != 12) {
sleep(1)
}
}
helical_resetpos()
#tango_io(MICRODIFF_DEVICE, "State")
}'
def SCMoveToUnloadingPosition(holder_length) '{
printf ("moving to unloading position\n")
helical_resetpos()
#tango_io( MICRODIFF_DEVICE, "State")
}'
def SCMinidiffGetControl '{
}'
def SCMinidiffCanMove() '{
return 1
}'
def _microdiff_split(s) '{
local tmp[] tmp2[] tmp3[]
split(s, tmp, ";")
for (i in tmp) {
split(tmp[i], tmp2, " ")
tmp3[tmp2[0]]=tmp2[1]
}
return tmp3
}'
def minidiff_prepare_centring '{
local tmp2[] motrole attr
if (($# > 0)&&(length("$1")>0)) {
tmp2 = _microdiff_split("$1")
for (motrole in tmp2) {
if (motrole=="blsampleid") {
sample_id=tmp2[motrole]
attr=sprintf("%s/SampleUID", MICRODIFF_DEVICE)
esrf_io(attr, "DevWrite", int(sample_id))
}
}
}
wait_ready()
AUTO_CENTRING_FLAG=AUTO_CENTRING_FLAG+1
}'
def minidiff_prepare_autocentring '{
mv zoom 1
microdiff_phase(1)
wait_ready()
mv flight 0
microdiff_light_factor(1)
AUTO_CENTRING_FLAG=0
}'
def SCMoveToLoadingPos() '{
SCMoveToLoadingPosition()
}'
def SCMoveToUnloadingPos() '{
SCMoveToUnloadingPosition()
}'
def SCKappaOn '{
global KAPPA_IN_USE
KAPPA_IN_USE = 1
if (microdiff_kappaena(KAPPA_IN_USE) < 0)
KAPPA_IN_USE = 0
}'
def SCKappaOff '{
global KAPPA_IN_USE
KAPPA_IN_USE = 0
microdiff_kappaena(KAPPA_IN_USE)
}'
#%MACROS%
#%IMACROS%
#%TOC%
#%AUTHOR% BLISS%BR%
#$Revision: 1.13 $ $Date: 2012/11/22 17:53:23 $%BR%
#%END%
#%LOG%
#$Log: SC_dummy.mac,v $
#Revision 1.13 2012/11/22 17:53:23 beteva
#Added microdiff_light_factor
#
#Revision 1.12 2010/09/09 09:08:42 beteva
#made KAPPA_IN_USE global (used by mxCuBE)
#
#Revision 1.11 2010/06/29 16:51:38 beteva
#added helical_resetpos() when loading/unloading sample
#
#Revision 1.10 2010/06/02 14:35:25 guijarro
#added new variables for automatic centring
#
#Revision 1.9 2010/01/28 13:54:13 guijarro
#added waitReady for minidiff_prepare_centring
#added minidiff_prepare_autocentring and global variables
#
#Revision 1.8 2009/04/08 14:01:04 beteva
#added microdiff_kappaena() to enable/disable minikappa
#
#Revision 1.7 2009/02/09 16:00:23 beteva
#changed esrf_io to tango_io, added SCKappaOn/Off
|