FirewireWinDCAM Class Reference

Main driver class inherited from areaDetectors ADDriver class. More...

Inheritance diagram for FirewireWinDCAM:

ADDriver asynNDArrayDriver

List of all members.

Public Member Functions

 FirewireWinDCAM (const char *portName, const char *camid, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 Constructor for the FirewireWinDCAM class Initialises the camera object by setting all the default parameters and initializing the camera hardware with it.
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Sets an int32 parameter.
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Sets an float64 parameter.
virtual asynStatus drvUserCreate (asynUser *pasynUser, const char *drvInfo, const char **pptypeName, size_t *psize)
 Create an asyn user for the driver.
void report (FILE *fp, int details)
 Print out a report; calls ADDriver::report to get base class report as well.
void imageGrabTask ()
 This should be private but is called from C callback function, must be public.


Detailed Description

Main driver class inherited from areaDetectors ADDriver class.

One instance of this class will control one firewire camera on the bus.


Constructor & Destructor Documentation

FirewireWinDCAM::FirewireWinDCAM ( const char *  portName,
const char *  camid,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)

Constructor for the FirewireWinDCAM class Initialises the camera object by setting all the default parameters and initializing the camera hardware with it.

This function also reads out the current settings of the camera and prints out a selection of parameters to the shell.

Parameters:
[in] portName Asyn port name to assign to the camera driver.
[in] camid The camera ID or serial number in a hexadecimal string. Lower case and upper case letters can be used. This is used to identify a specific camera on the bus. For instance: "0x00b09d01007139d0". If this parameter is empty ("") then the first camera found on the Firewire bus will be used.
[in] maxBuffers Maxiumum number of NDArray objects (image buffers) this driver is allowed to allocate. This driver requires 2 buffers, and each queue element in a plugin can require one buffer which will all need to be added up in this parameter. Use -1 for unlimited.
[in] maxMemory Maximum memory (in bytes) that this driver is allowed to allocate. So if max. size = 1024x768 (8bpp) and maxBuffers is, say 14. maxMemory = 1024x768x14 = 11010048 bytes (~11MB). Use -1 for unlimited.
[in] priority The EPICS thread priority for this asyn port driver. 0=use asyn default.
[in] stackSize The size of the stack for the asyn port thread. 0=use asyn default.


Member Function Documentation

asynStatus FirewireWinDCAM::drvUserCreate ( asynUser *  pasynUser,
const char *  drvInfo,
const char **  pptypeName,
size_t *  psize 
) [virtual]

Create an asyn user for the driver.

Maps the integer/enum asyn commands on to a string representation that can be used to indicate a certain command in in the INP/OUT field of a record.

Parameters:
pasynUser 
drvInfo 
pptypeName 
psize 
Returns:
asynStatus Either asynError or asynSuccess

Reimplemented from ADDriver.

void FirewireWinDCAM::imageGrabTask (  ) 

This should be private but is called from C callback function, must be public.

Task to grab images off the camera and send them up to areaDetector.

void FirewireWinDCAM::report ( FILE *  fp,
int  details 
) [virtual]

Print out a report; calls ADDriver::report to get base class report as well.

Parameters:
[in] fp File pointer to write output to
[in] details Level of detail desired. If >1 prints information about supported video formats and modes, etc.

Reimplemented from asynNDArrayDriver.

asynStatus FirewireWinDCAM::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
) [virtual]

Sets an float64 parameter.

Parameters:
[in] pasynUser asynUser structure that contains the function code in pasynUser->reason.
[in] value The value for this parameter
Takes action if the function code requires it. The FDC_feat_val_abs function code makes calls to the Firewire library from this function.

asynStatus FirewireWinDCAM::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
) [virtual]

Sets an int32 parameter.

Parameters:
[in] pasynUser asynUser structure that contains the function code in pasynUser->reason.
[in] value The value for this parameter
Takes action if the function code requires it. ADAcquire, ADSizeX, and many other function codes make calls to the Firewire library from this function.

Reimplemented from ADDriver.


The documentation for this class was generated from the following file:

Generated on Tue Aug 25 16:53:04 2009 for areaDetector by  doxygen 1.5.7.1