#%TITLE% SPECFIT.MAC
#
#%NAME%
# SPECFIT.MAC - Macros for simplifying access to SpecfitServer
#
#%OVERVIEW%
# This macro ...
# %BR%
#
#
#%SETUP%
# The %B%xxx%B% macros requires ... and and inatallation of %B%SpecfitServer%B%
# in the default NETHOST
#%END%
#%HISTORY%
#$Log: specfit_ebpm.mac,v $
#Revision 1.1 2012/07/04 14:10:24 domingue
#Initial revision
#
#
#
#%END%
#%UU% <sleep_time> [<progress_mode> [<progress_string>]]
#%MDESC%
# to be moved to stlocal.mac %BR%
# Sleeps for <sleep_time> in seconds while showing a progress indicator
#
def sleep_progress(sleep_time, prgmode, prgstr) '{
local t0 dt
local prglength
local progress last
if (prgmode == "bar" || !prgmode || int(prgmode) > 0) {
prglength = (prgmode > 0)? prgmode : 25
prgstr = prgstr? substr(prgstr, 1, 1) : "."
prgmode = "bar"
} else if (prgmode == "wheel") {
if (length(prgstr) <= 1) prgstr = "-\|/"
prglength = int (2 * length(prgstr) * sleep_time)
printf("%s", substr(prgstr, 1, 1))
} else {
sleep(sleep_time)
return
}
for (t0 = time(), last = 0; (dt = (time() - t0)) < sleep_time; sleep(0.1)) {
progress = int((dt / sleep_time) * prglength + 0.5)
for (; last < progress; last++) {
if (prgmode == "bar")
printf("%s", prgstr)
else if (prgmode == "wheel")
printf("\b%s", substr(prgstr, 1 + last % length(prgstr), 1))
}
}
if (prgmode == "bar")
while (progress--) printf("\b")
else if (prgmode == "wheel")
printf("\b")
tty_cntl("ce")
}'
#%UU% <specfit_device>
#%MDESC%Defines the name of the SpecfitServer device used for FFT calc.
def specfit_define'{
global SPECFIT_EBPM
SPECFIT_EBPM = "$1"
}'
def specfit_find(verbose) '{
#return("//gwenn/id24/specfit/bpm")
return(SPECFIT_EBPM)
}'
def specfit_start(verbose) '{
local dev
dev = specfit_find(verbose)
if (!dev) {
unix("bliss_dserver start SpecfitServer")
if (verbose) print "Starting SpecfitServer "
unix("SpecfitServer&")
sleep_progress(3)
dev = specfit_find(0)
printf("%s\n", dev? "Done" : "Failed")
}
return(dev)
}'
def specfit_par(what) '{
if (what == "maxfftpts")
return(8192)
else
return("")
}'
#%MACROS%
#%AUTHOR% P.Fajardo, (Original 10/11).
# $Revision: 1.1 $ / $Date: 2012/07/04 14:10:24 $
#%TOC%
|