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. |
One instance of this class will control one firewire camera on the bus.
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.
[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. |
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.
pasynUser | ||
drvInfo | ||
pptypeName | ||
psize |
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.
[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.
[in] | pasynUser | asynUser structure that contains the function code in pasynUser->reason. |
[in] | value | The value for this parameter |
asynStatus FirewireWinDCAM::writeInt32 | ( | asynUser * | pasynUser, | |
epicsInt32 | value | |||
) | [virtual] |
Sets an int32 parameter.
[in] | pasynUser | asynUser structure that contains the function code in pasynUser->reason. |
[in] | value | The value for this parameter |
Reimplemented from ADDriver.