esrf

Beamline Instrument Software Support
SPEC Macro documentation: [ Macro Index | BCU Home ]

#%TITLE% savect.mac
#%DESCRIPTION%
# Save counters values in SPEC datafile after ct
#%END%

# Requires  "saveload.mac"

#%UU%
#%MDESC%
#    Save last ct values in spec datafile
def savect '{
    local _err

    if (DATAFILE!="/dev/null") {
        FPRNT   = ""
        HEADING = sprintf("ct %g", COUNT_TIME)
        SCAN_N  = savestdheader(DATAFILE, 0x03, SCAN_N)

        if (SCAN_N<0) {
            SCAN_N = -SCAN_N
            _err = -1
        }

        if (!_err){
            _err = savecntheader(DATAFILE)
        }

        if (!_err){
            _err = savecounters(DATAFILE)
        }

        if (_err == -1){
            print "Failed to save ct in", DATAFILE
        }
        else{
            print "\nSaved as scan", SCAN_N
        }
    }
}'

#%UU%
#%MDESC% Auto-save ct values in spec datafile after every ct
def savecton '{
    cdef("user_handlecounts", "\n savect;", "_sct_", 0x10)
}'

#%UU%
#%MDESC% Auto-save OFF
def savectoff '{
    cdef("", "", "_sct_", "delete")
}'

#%MACROS%
#%TOC%
#%AUTHOR% E.Papillon