BFLinux
|
Data Structures | |
struct | tCIvfgStateEntry |
Structure used for array of VFG state info. More... | |
Macros | |
#define | CiSysBrdEnum CiSysVFGenum |
#define | CiSysBrdInfo CiSysVFGinfo |
#define | CiSysBrdInfo2 CiSysVFGinfo2 |
#define | CiBrdOpen CiVFGopen |
#define | CiBrdIndex CiVFGindex |
#define | CiBrdFileDescriptor CiVFGfileDescriptor |
#define | CiBrdQueryInfo CiVFGqueryInfo |
#define | CiBrdQueryState CiVFGqueryState |
#define | kBFDEFAULTCFGFILE NULL |
#define | CiBrdInitialize CiVFGinitialize |
#define | CiBrdInquire CiVFGinquire |
#define | CiBrdInquire2 CiVFGinquire2 |
Typedefs | |
typedef struct tCIvfgStateEntry * | tCIVFGSEP |
Functions | |
void | CiSetMaxDevices (tCIU32 maxDev) |
Max /dev/video<n> to scan. More... | |
tCIRC | CiSysGetVersions (tCIU32 *libVers, tCIU32 *drvVers) |
Return library revision level. More... | |
tCIRC | CiSysVFGenum (tCIU32 *nFound) |
Count the BitFlow VFG. More... | |
tCIRC | CiSysVFGinfo (tCIU32 which, tCIU32 *ifaceType, tCIU32 *switches, tCIU32 *devNdx, tCISTRZ busName) |
Identify a single VFG. More... | |
tCIRC | CiSysVFGinfo2 (tCIU32 which, tCIU32 *ifaceType, tCIU32 *switches, tCIU32 *devNdx, tCISTRZ busName, tCIU32 *infoHi, tCIU32 *infoLo, tCISTRZ VFGname, tCIU32 *NUMAnode) |
More info on a single VFG. More... | |
tCIRC | CiSysFindLiveVFGs (tCIU32 recSize, tCIVFGSEP vfgAry) |
Query live status of VFGs and connected cameras. More... | |
tCIRC | CiVFGopen (tCIU32 devNdx, tCIU32 modeFlags, tCIp *cip) |
Open a VFG. More... | |
tCIU32 | CiVFGindex (tCIp cip) |
Returns devNdx of CiVFGopen() More... | |
tCIRC | CiVFGfileDescriptor (tCIp cip, int *fdp) |
Return file descriptor for VFG. More... | |
tCIRC | CiVFGqueryInfo (tCIp cip, tCIU32 *ifaceType, tCIU32 *switches, tCIU32 *devNdx, tCISTRZ busName, tCIU32 *infoHi, tCIU32 *infoLo, tCISTRZ VFGname, tCIU32 *NUMAnode) |
Return SysVFGinfo for open VFG. More... | |
tCIRC | CiGetOpenCount (tCIp cip, tCIU32 *nOpen) |
Get count of open file descriptors for this VFG. More... | |
tCIRC | CiVFGqueryState (tCIp cip, tCIU32 *state) |
? Is frame grabber initialized ? More... | |
tCIRC | CiVFGinitialize (tCIp cip, tCISTRZ cfgFN) |
Initialize board or VFG. More... | |
tCIRC | CiVFGapplyCameraFile (tCIp cip, tCISTRZ camFN) |
Initialize a VFG directly from a camera file. More... | |
tCIRC | CiVFGloadConfig (tCIp cip, tCISTRZ cfgFN) |
Load configuration data into the VFG driver data store. More... | |
tCIRC | CiVFGloadCameraFile (tCIp cip, tCISTRZ camFN) |
Load camera file data into the VFG driver data store. More... | |
tCIRC | CiVFGapplyCurrent (tCIp cip, tCIU32 initFlags) |
Initialize a VFG from its driver data store. More... | |
tCIRC | CiVFGinquire (tCIp cip, tCITDP *cfgFN, tCITDP *config, tCITDP *cameraFN, tCITDP *camera, tCITDP *firmFN, tCITDP *firmware, tCITDP *serial) |
Interrogate configuration. More... | |
tCIRC | CiVFGinquire2 (tCIp cip, tCITDP *cfgFN, tCITDP *config, tCITDP *cameraFN, tCITDP *camera, tCITDP *firmFN, tCITDP *firmware, tCITDP *serial, tCITDP *cxpLink, tCITDP *spare, char **fmtPtr) |
tCIU8 | CiVFGtest (tCIp cip, tCIU32 trait, tCIU32 opt) |
Test the VFG to determine whether or not it matches the trait. More... | |
tCIRC | CiCamFileInquire (tCIp cip, tCIU32 param, tCIU32 *value) |
Query camera file parameters initialized on the VFG. More... | |
tCIRC | CiVFGclose (tCIp cip) |
Close a VFG. More... | |
#define CiBrdFileDescriptor CiVFGfileDescriptor |
#define CiBrdIndex CiVFGindex |
#define CiBrdInitialize CiVFGinitialize |
#define CiBrdInquire CiVFGinquire |
#define CiBrdInquire2 CiVFGinquire2 |
#define CiBrdOpen CiVFGopen |
#define CiBrdQueryInfo CiVFGqueryInfo |
#define CiBrdQueryState CiVFGqueryState |
#define CiSysBrdEnum CiSysVFGenum |
#define CiSysBrdInfo CiSysVFGinfo |
#define CiSysBrdInfo2 CiSysVFGinfo2 |
#define kBFDEFAULTCFGFILE NULL |
typedef struct tCIvfgStateEntry * tCIVFGSEP |
enum tCIboardOpenEnums |
enum tCIboardQueryEnums |
enum tCIcamFileQueryEnums |
enum tCIcamTypeEnums |
enum tCIinitFlagsEnums |
enum tCImaxDevEnum |
enum tCIvfgTestTraitEnums |
Query camera file parameters initialized on the VFG.
cip | this frame grabber |
param | tCIcamFileQueryEnums parameter to query |
value | returns value of the inquiry parameter |
Get count of open file descriptors for this VFG.
cip | this frame grabber |
nOpen | number of open descriptors |
void CiSetMaxDevices | ( | tCIU32 | maxDev | ) |
Max /dev/video<n> to scan.
Each physical frame grabber will have from 1 to 4 virtual frame grabber (VFG) interfaces. Each VFG is a separate linux device (/dev/video<n>).
If for some reason there are more than kCIlibMaxDevScan /dev/videoNN devices then use this call to reset the library default scan limit.
This would imply more than 6 quad VFG framegrabbers installed in one PC...
Query live status of VFGs and connected cameras.
vfgAry should must be large enough to store one every for every installed VFG.
NOTE: VFGs loaded with synthetic camera files will be considered valid, even if no camera is connected. Camera file data is that loaded in the VFG driver store.
recSize | byte size of vfgAry |
vfgAry | VFG state array large enough to store all results |
Return library revision level.
libVers | CI library version info |
drvVers | BitFlow driver version info |
Count the BitFlow VFG.
nFound | returns number of interfaces |
tCIRC CiSysVFGinfo | ( | tCIU32 | which, |
tCIU32 * | ifaceType, | ||
tCIU32 * | switches, | ||
tCIU32 * | devNdx, | ||
tCISTRZ | busName | ||
) |
Identify a single VFG.
NOTE: DIP switch value only valid after firmware is loaded.
NOTE: CiSysVFGinfo2() supplies a superset of this information
This call is retained only for compatibility w/previous SDK releases.
which | 0..nFound |
ifaceType | Neon, Karbon, etc. |
switches | DIP switch value for board |
devNdx | /dev/video<Ndx> access |
busName | user-supplied storage (64 char) |
tCIRC CiSysVFGinfo2 | ( | tCIU32 | which, |
tCIU32 * | ifaceType, | ||
tCIU32 * | switches, | ||
tCIU32 * | devNdx, | ||
tCISTRZ | busName, | ||
tCIU32 * | infoHi, | ||
tCIU32 * | infoLo, | ||
tCISTRZ | VFGname, | ||
tCIU32 * | NUMAnode | ||
) |
More info on a single VFG.
ifaceType is one one tCIcamTypeEnums (see above)
NOTE: DIP switch value only valid after firmware is loaded.
which | 0..nFound |
ifaceType | Neon, Karbon, etc. |
switches | DIP switch value for board |
devNdx | /dev/video<Ndx> access |
busName | user-supplied storage (64 char) |
infoHi | VFG INFOHI value |
infoLo | VFG INFOLO value |
VFGname | user supplied storage (64 char) |
NUMAnode | node for this VFG |
Initialize a VFG directly from a camera file.
The environment variable BITFLOW_INSTALL_DIRS must be set if path does not contain a '/'. If path contains a '/' then the fileName is relative to the current directory. If path begins with '/' then it is absolute.
If the path contains a '/' then the file name is case sensitive.
cip | this VFG |
camFN | [path][mode@]fileName |
Initialize a VFG from its driver data store.
The environment variable BITFLOW_INSTALL_DIRS must be set
If kBFDEFAULTCFGFILE is used then the board DIP switches determine the appropriate config file.
NOTE: Only the master interface on a VFG board can download firmware.
NOTE: All slave VFG camera files must be compatible w/master VFG.
NOTE: This method requires that camera configuration data is first loaded using CiVFGloadConfig or CiVFGloadCameraFile. Data stored during a previous initialization with CiVFGinitialize or CiVFGapplyCameraFile may also be used, in which case the VFG is reinitialized.
cip | this frame grabber |
initFlags | bitmask combo of tCIinitFlagsEnums |
Close a VFG.
cip | from CiVFGopen() |
Return file descriptor for VFG.
cip | this frame grabber |
fdp | file descriptor for poll() |
Returns devNdx of CiVFGopen()
Initialize board or VFG.
The environment variable BITFLOW_INSTALL_DIRS must be set
If kBFDEFAULTCFGFILE is used then the board DIP switches determine the appropriate config file.
NOTE: Only the master interface on a VFG board can download firmware.
NOTE: All slave VFG camera files must be compatible w/master VFG.
cip | this frame grabber |
cfgFN | kBFDEFAULTCFGFILE -- or -- file within BITFLOW_INSTALL_DIRS -- or -- full path to config file |
tCIRC CiVFGinquire | ( | tCIp | cip, |
tCITDP * | cfgFN, | ||
tCITDP * | config, | ||
tCITDP * | cameraFN, | ||
tCITDP * | camera, | ||
tCITDP * | firmFN, | ||
tCITDP * | firmware, | ||
tCITDP * | serial | ||
) |
Interrogate configuration.
NOTE: Passing a NULL *tCITDP ptr is OK; information not returned.
NOTE: If the board is not initialized or not configured then some or all of the returned values will be NULL.
NOTE: The tCITDP content should not be modified in any way.
NOTE: CiSysVFGinquire2() supplies a superset of this information
This call is retained only for compatibility w/previous SDK releases.
cip | this frame grabber |
cfgFN | configuration file path |
config | configuration file content |
cameraFN | camera file path |
camera | camera file content |
firmFN | firmware file path |
firmware | firmware file content |
serial | serial port owner |
tCIRC CiVFGinquire2 | ( | tCIp | cip, |
tCITDP * | cfgFN, | ||
tCITDP * | config, | ||
tCITDP * | cameraFN, | ||
tCITDP * | camera, | ||
tCITDP * | firmFN, | ||
tCITDP * | firmware, | ||
tCITDP * | serial, | ||
tCITDP * | cxpLink, | ||
tCITDP * | spare, | ||
char ** | fmtPtr | ||
) |
cip | this frame grabber |
cfgFN | configuration file path |
config | configuration file content |
cameraFN | camera file path |
camera | camera file content |
firmFN | firmware file path |
firmware | firmware file content |
serial | serial port owner |
cxpLink | CXP link affinity |
spare | whatever |
fmtPtr | format str ptr |
Load camera file data into the VFG driver data store.
The environment variable BITFLOW_INSTALL_DIRS must be set if path does not contain a '/'. If path contains a '/' then the fileName is relative to the current directory. If path begins with '/' then it is absolute.
If the path contains a '/' then the file name is case sensitive.
NOTE: This method only loads the configuration file data. It does not apply that data to the VFG registry, nor send any commands to the camera. Loaded data may be applied at a later time using CiVFGapplyCurrent.
cip | this VFG |
camFN | [path][mode@]fileName |
Load configuration data into the VFG driver data store.
The environment variable BITFLOW_INSTALL_DIRS must be set
If kBFDEFAULTCFGFILE is used then the board DIP switches determine the appropriate config file.
NOTE: This method only loads the configuration file data. It does not apply that data to the VFG registry, nor send any commands to the camera. Loaded data may be applied at a later time using CiVFGapplyCurrent.
NOTE: Only the master interface on a VFG board can download firmware.
NOTE: All slave VFG camera files must be compatible w/master VFG.
cip | this frame grabber |
cfgFN | kBFDEFAULTCFGFILE -- or -- file within BITFLOW_INSTALL_DIRS -- or -- full path to config file |
Open a VFG.
devNdx | from CiSysVFGinfo() |
modeFlags | access mode flags |
cip | access token |
tCIRC CiVFGqueryInfo | ( | tCIp | cip, |
tCIU32 * | ifaceType, | ||
tCIU32 * | switches, | ||
tCIU32 * | devNdx, | ||
tCISTRZ | busName, | ||
tCIU32 * | infoHi, | ||
tCIU32 * | infoLo, | ||
tCISTRZ | VFGname, | ||
tCIU32 * | NUMAnode | ||
) |
Return SysVFGinfo for open VFG.
cip | this frame grabber |
ifaceType | Neon, Karbon, etc. |
switches | DIP switch value for board |
devNdx | /dev/video<Ndx> access |
busName | user-supplied storage (64 char) |
infoHi | VFG INFOHI value |
infoLo | VFG INFOLO value |
VFGname | user supplied storage (64 char) |
NUMAnode | node for this VFG |
? Is frame grabber initialized ?
NOTE: State usrDMAerr indicates that the frame grabber initialized user DMA frame buffers and that both a) the initializing process has released the buffers and b) another thread/process has an active mmap() of the buffers The frame grabber will remain in this error state until all of the mmap() to the user DMA frame buffers are released.
NOTE: State dmaIsAborted indicates software aborted DMA because, e.g., SIP processing did not finish previous frame's DMA in time.
cip | this frame grabber |
state | return state information |
Test the VFG to determine whether or not it matches the trait.
On error, returns FALSE (0)
opt parameter is optional, and unused unless otherwise noted. Pass value 0, when unused.
cip | this frame grabber |
trait | tCIvfgTestTraitEnums trait to test |
opt | optional parameter |