BFLinux
Data Structures | Macros | Typedefs | Enumerations
Library data types

Data Structures

struct  tCISGentry
 
struct  tCItypedData
 

Macros

#define kBFenvVar   "BITFLOW_INSTALL_DIRS"
 
#define kBFbinDir   "bin"
 kernel module and test tools More...
 
#define kBFcameraDir   "camf"
 camera files More...
 
#define kBFfirmwareDir   "fshf"
 firmware More...
 
#define kBFconfigDir   "config"
 board configuration More...
 
#define kBFusrCustomFlags   "BITFLOW_CUSTOM_USER_FLAGS"
 
#define kBFformatPPC   "BITFLOW_FORMAT_PPC"
 
#define kBFenvPerIoctlDelay   "BITFLOW_PER_IOCTL_DELAY"
 
#define kBFenvOverrideCamFN   "BITFLOW_OVERRIDE_CAMFN"
 
#define kBFdefaultCXPretry   0
 
#define kBFenvCXPretry   "BITFLOW_CXP_RETRY"
 
#define kBFenvCXPioDelay   "BITFLOW_CXP_IO_DELAY"
 
#define kBFdefaultCXPioDelay   0
 

Typedefs

typedef struct tCIinterface * tCIp
 anonymous access token More...
 
typedef int tCIRC
 function result code More...
 
typedef unsigned char tCIU8
 data pointer More...
 
typedef unsigned short tCIU16
 CTABs mostly. More...
 
typedef unsigned int tCIU32
 everything but CTABs More...
 
typedef unsigned long long tCIU64
 really big sizes More...
 
typedef char * tCISTRZ
 null-terminated string More...
 
typedef double tCIDOUBLE
 floating point More...
 
typedef void * tCIVOIDP
 pointer to something More...
 
typedef struct tCISGentrytCISGP
 
typedef struct tCItypedDatatCITDP
 

Enumerations

enum  tCIdataTypeEnums {
  kBF_invalidData = 0, kBF_tCIU32, kBF_tCIDOUBLE, kBF_tCISTRZ,
  kBF_tCIU32_pair, kBF_tCIU32_list_pair, kBF_tCIU32_tCISTRZ_pair
}
 
enum  tCIerrorCode {
  kCIEnoErr = 0, kCIEfirstEC = -30000, kCIEnoAccessibleVideo =kCIEfirstEC, kCIErangeErr,
  kCIEmemoryErr, kCIEbadToken, kCIEnullArg, kCIEinvalidArg,
  kCIEnotInitialized, kCIEnotConfigured, kCIEexclusiveFail, kCIEexclusiveAlready,
  kCIEuserDMAnoWrite, kCIEnoWrPermission, kCIEfileError, kCIEfailureErr,
  kCIEbadFileFormat, kCIEbadCRC, kCIEparseErr, kCIEfileNotFound,
  kCIEnoEnvVar, kCIEversionErr, kCIEbadInstallErr, kCIEnotSupported,
  kCIEinvalidStateErr, kCIEnoDataErr, kCIEdmaOverrunErr, kCIEdataErr,
  kCIEdmaErr, kCIEuserDMAerr, kCIEnoNewData, kCIEbufferUnderrunErr,
  kCIEinfoAgedOut, kCIEwrongMode, kCIEbadID, kCIEtimeoutErr,
  kCIEaqAbortedErr, kCIEresourceBusy, kCIEnotOpen, kCIEnotMaster,
  kCIEnotCompatibleWithMaster, kCIEdeviceRevisionErr, kCIEdataHWerr, kCIEdataOVSTEPerr,
  kCIEplatformFail, kCIEcfgNotLoaded, kCIEcfgNotApplied, kCIEcanceledErr,
  kCIEnotImplemented, kCIEerrCodeLast
}
 
enum  tCIusrCustomFlagsEnum { kBFnoTouchAllPages = 1, kBFCXPnoLinkOK = 1<<1, kBFallPagesZero = 1<<2 }
 

Detailed Description

Macro Definition Documentation

◆ kBFbinDir

#define kBFbinDir   "bin"

kernel module and test tools

◆ kBFcameraDir

#define kBFcameraDir   "camf"

camera files

◆ kBFconfigDir

#define kBFconfigDir   "config"

board configuration

◆ kBFdefaultCXPioDelay

#define kBFdefaultCXPioDelay   0

◆ kBFdefaultCXPretry

#define kBFdefaultCXPretry   0

The BITFLOW_CXP_RETRY env var can override the library default value

◆ kBFenvCXPioDelay

#define kBFenvCXPioDelay   "BITFLOW_CXP_IO_DELAY"

The BITFLOW_CXP_DELAY env var can insert a delay (mSec units) between CXP register writes during camera init.

◆ kBFenvCXPretry

#define kBFenvCXPretry   "BITFLOW_CXP_RETRY"

◆ kBFenvOverrideCamFN

#define kBFenvOverrideCamFN   "BITFLOW_OVERRIDE_CAMFN"

The BITFLOW_OVERRIDE_CAMFN env var can override camera file content

◆ kBFenvPerIoctlDelay

#define kBFenvPerIoctlDelay   "BITFLOW_PER_IOCTL_DELAY"

The BITFLOW_PER_IOCTL_DELAY env var can slow down i/o if needed.

◆ kBFenvVar

#define kBFenvVar   "BITFLOW_INSTALL_DIRS"

The kBFenvVar is set to the base directory of the BitFlow install. All other strings are subdirectories.

◆ kBFfirmwareDir

#define kBFfirmwareDir   "fshf"

firmware

◆ kBFformatPPC

#define kBFformatPPC   "BITFLOW_FORMAT_PPC"

The BITFLOW_FORMAT_PPC env var can supply pixPerClock if needed.

◆ kBFusrCustomFlags

#define kBFusrCustomFlags   "BITFLOW_CUSTOM_USER_FLAGS"

The BITFLOW_CUSTOM_USER_FLAGS env var controls some user library behavior.

It is recommended that this value not be set in the environment.

Typedef Documentation

◆ tCIDOUBLE

typedef double tCIDOUBLE

floating point

◆ tCIp

typedef struct tCIinterface* tCIp

anonymous access token

◆ tCIRC

typedef int tCIRC

function result code

◆ tCISGP

typedef struct tCISGentry* tCISGP

◆ tCISTRZ

typedef char* tCISTRZ

null-terminated string

◆ tCITDP

typedef struct tCItypedData * tCITDP

◆ tCIU16

typedef unsigned short tCIU16

CTABs mostly.

◆ tCIU32

typedef unsigned int tCIU32

everything but CTABs

◆ tCIU64

typedef unsigned long long tCIU64

really big sizes

◆ tCIU8

typedef unsigned char tCIU8

data pointer

◆ tCIVOIDP

typedef void* tCIVOIDP

pointer to something

Enumeration Type Documentation

◆ tCIdataTypeEnums

Data types returned with typed data descriptors

Enumerator
kBF_invalidData 

descriptor is invalid

kBF_tCIU32 

an unsigned integer

kBF_tCIDOUBLE 

a floating point value

kBF_tCISTRZ 

a '\0' terminated string

kBF_tCIU32_pair 

two 32b values

kBF_tCIU32_list_pair 

count then value pairs of 32b

kBF_tCIU32_tCISTRZ_pair 

number and a '\0' term string

◆ tCIerrorCode

Library error return codes.

Enumerator
kCIEnoErr 

no error

kCIEfirstEC 
kCIEnoAccessibleVideo 

no access to BitFlow /dev/video<n>

kCIErangeErr 

parameter out of range

kCIEmemoryErr 

could not allocate memory

kCIEbadToken 

invalid tCIp

kCIEnullArg 

unexpected NULL argument

kCIEinvalidArg 

arg not valid for frame grabber

kCIEnotInitialized 

camera not initialized

kCIEnotConfigured 

camera/DMA/poll()/mmap() not configured

kCIEexclusiveFail 

board not or already open w/exclusive wr

kCIEexclusiveAlready 

board already open w/write

kCIEuserDMAnoWrite 

no write access to DMA buffers

kCIEnoWrPermission 

do not have write permission

kCIEfileError 

error opening/reading file

kCIEfailureErr 

could not flash, mmap() etc.

kCIEbadFileFormat 

bad file format

kCIEbadCRC 

file has bad CRC

kCIEparseErr 

error parsing file

kCIEfileNotFound 

could not find file

kCIEnoEnvVar 

could not find kBFenvVar

kCIEversionErr 

driver/library do not match

kCIEbadInstallErr 

invalid install directory tree

kCIEnotSupported 

operation not supported on hw

kCIEinvalidStateErr 

operation invalid in this state

kCIEnoDataErr 

no such data

kCIEdmaOverrunErr 

possible DMA into undelivered frame

kCIEdataErr 

HW and OVSTEP detected.

kCIEdmaErr 

DMA aborted and did not terminate.

kCIEuserDMAerr 

user-allocated DMA buffer gone

kCIEnoNewData 

no undelivered frames

kCIEbufferUnderrunErr 

not enough released buffers

kCIEinfoAgedOut 

bufferID not on history list

kCIEwrongMode 

consume buffers not configured

kCIEbadID 

invalid bufferID or frameID

kCIEtimeoutErr 

timeout expired error

kCIEaqAbortedErr 

acquisition was aborted

kCIEresourceBusy 

resource in use

kCIEnotOpen 

resource not initilized

kCIEnotMaster 

only master VFG can do this

kCIEnotCompatibleWithMaster 

incompatible master VFG setting

kCIEdeviceRevisionErr 

device unsupported by this board

kCIEdataHWerr 

HW detected.

kCIEdataOVSTEPerr 

OVSTEP detected.

kCIEplatformFail 

no DirectGMA/GPUDirect support

kCIEcfgNotLoaded 

no config data in driver store

kCIEcfgNotApplied 

not initialized or config not applied

kCIEcanceledErr 

operation canceled

kCIEnotImplemented 

function not available

kCIEerrCodeLast 

– invalid error code –

◆ tCIusrCustomFlagsEnum

Enumerator
kBFnoTouchAllPages 
kBFCXPnoLinkOK 
kBFallPagesZero