112 lines
3.3 KiB
C
112 lines
3.3 KiB
C
|
|
/*--------------------------------------------------------------------------
|
|
S T A N D A R D S C A N
|
|
|
|
This is a library of scan functions for the SICS standard scan.
|
|
|
|
copyright: see copyright.h
|
|
|
|
Extracted from scan.c: Mark Koennecke, November 2004
|
|
----------------------------------------------------------------------------*/
|
|
#ifndef SICSSTDSCAN
|
|
#define SICSSTDSCAN
|
|
|
|
/**
|
|
* make a filename according to SICS rules for this scan
|
|
*/
|
|
char *ScanMakeFileName(SicsInterp * pSics, SConnection * pCon);
|
|
/*
|
|
* write the header bits from the template
|
|
*/
|
|
void WriteTemplate(FILE * fd, FILE * temp, char *filename, pScanData pScan,
|
|
SConnection * pCon, SicsInterp * pSics);
|
|
/**
|
|
* write the header of the scan file
|
|
*/
|
|
int WriteHeader(pScanData self);
|
|
/**
|
|
* WriteScanPoints is called for each point to write the scan data
|
|
* to screen and to file.
|
|
*/
|
|
int WriteScanPoints(pScanData self, int iPoint);
|
|
/**
|
|
* Called before the scan to prepare. The default implementation
|
|
* checks if all scan positions are available and configures the
|
|
* counter.
|
|
*/
|
|
int PrepareScan(pScanData self);
|
|
/**
|
|
* allocate a new data file
|
|
*/
|
|
int prepareDataFile(pScanData self);
|
|
/**
|
|
* second version of PrepareScan which does not check scan limits
|
|
*/
|
|
int NonCheckPrepare(pScanData self);
|
|
/**
|
|
* prepare for a scan without complaining...
|
|
*/
|
|
int SilentPrepare(pScanData self);
|
|
/**
|
|
* ScanDrive handles driving to the scan point iPoint.
|
|
*/
|
|
int ScanDrive(pScanData self, int iPoint);
|
|
/**
|
|
* ScanFastDrive starts driving to the scan point iPoint, but
|
|
* does not wait. Use this for implementing slightly faster
|
|
* scans.
|
|
*/
|
|
int ScanFastDrive(pScanData self, int iPoint);
|
|
/**
|
|
* ScanCount is called at each scan step to do the counting.
|
|
*/
|
|
int ScanCount(pScanData self, int iPoint);
|
|
/**
|
|
* CollectScanData stores the scans count results into
|
|
* the scan data structure and prints the information about the
|
|
* scan progress.
|
|
*/
|
|
int CollectScanData(pScanData self, int iPoint);
|
|
int CollectScanDataJochen(pScanData self, int iPoint);
|
|
int CollectSilent(pScanData self, int iPoint);
|
|
/*===================================================================*/
|
|
/**
|
|
* Script invocation for writing the scan header.
|
|
*/
|
|
int ScriptWriteHeader(pScanData self);
|
|
/**
|
|
* Script writing each scan point
|
|
*/
|
|
int ScriptWriteScanPoints(pScanData self, int iPoint);
|
|
/**
|
|
* Script preparation of the scan.
|
|
*/
|
|
int ScriptPrepareScan(pScanData self);
|
|
/**
|
|
* Script driving to a scan point
|
|
*/
|
|
int ScriptScanDrive(pScanData self, int iPoint);
|
|
/**
|
|
* Script counting a scan point
|
|
*/
|
|
int ScriptScanCount(pScanData self, int iPoint);
|
|
/**
|
|
* Script collecting scan data for each scan point
|
|
*/
|
|
int ScriptScanCollect(pScanData self, int iPoint);
|
|
/**
|
|
* ScriptScanFinish invokes a script after the scan has finished
|
|
*/
|
|
int ScriptScanFinish(pScanData self);
|
|
/**
|
|
* ConfigureScript assigns the script invocation functions for
|
|
* scan
|
|
*/
|
|
void ConfigureScript(pScanData self);
|
|
/*=====================================================================*/
|
|
int StandardScanWrapper(SConnection * pCon, SicsInterp * pSics,
|
|
void *pData, int argc, char *argv[]);
|
|
|
|
|
|
#endif
|