The NvMediaISCDeviceDriver object defines the device driver.
The core NvMediaISC calls the driver when the client calls the related public NvMediaICS function.
Before the client can create an NvMediaISCRootDevice object (a device), it must provide a device driver. When the client creates the driver, it specifies pointers to support functions, which are the functions that the device driver can call. The client defines the support functions with the NvMediaISCSupportFunctions struct.
The NvMediaISCDeviceDriver object contains data fields and function pointers.
- Data Fields
- deviceName The name of the device. This is a null-terminated string.
- Function Pointers
-
The NvMediaISCSupportFunctions structure holds the following functions:
- Read
Reads I2C data from the device.
- Write
Writes I2C data to the device.
- Wait
Waits for the specified interval, in microseconds.
Here is a sample device driver implementation that writes one register upon calling the NvMediaISCSetDefaults function.
- Header File
Source File
#include "isc_sample_device.h"
DriverCreate(
void *clientContext)
{
if(!handle || !supportFunctions)
s_supportFuncs = supportFunctions;
*handle = NULL;
}
SetDefaults(
{
uint32_t data[2];
data[0] = 0x12;
data[1] = 0x32;
status = s_supportFuncs->
Write(
transaction,
2,
data);
return status;
}
.DriverCreate = DriverCreate,
.SetDefaults = SetDefaults
};
GetSAMPLEDEVICEDriver(void)
{
return &deviceDriver;
}
|
enum | NvMediaISCSensorAttrType {
NVMEDIA_ISC_SENSOR_ATTR_FUSE_ID,
NVMEDIA_ISC_SENSOR_ATTR_GAIN_MIN,
NVMEDIA_ISC_SENSOR_ATTR_GAIN_MAX,
NVMEDIA_ISC_SENSOR_ATTR_ET_MIN,
NVMEDIA_ISC_SENSOR_ATTR_ET_MAX,
NVMEDIA_ISC_SENSOR_ATTR_ET_FINE,
NVMEDIA_ISC_SENSOR_ATTR_ET_STEP,
NVMEDIA_ISC_SENSOR_ATTR_HDR_MAX,
NVMEDIA_ISC_SENSOR_ATTR_GAIN_FACTOR,
NVMEDIA_ISC_SENSOR_ATTR_QE_PIXEL_RATIO,
NVMEDIA_ISC_SENSOR_ATTR_FRAME_RATE,
NVMEDIA_ISC_SENSOR_ATTR_NUM_EXPOSURES
} |
| ISC sensor attributes. More...
|
|
enum | NvMediaISCSensorCharAttr { NVMEDIA_ISC_CHAR_ATTR_SINGLE_EXP
} |
| ISC sensor characterization attributes. More...
|
|
ISC sensor attributes.
Enumerator |
---|
NVMEDIA_ISC_SENSOR_ATTR_FUSE_ID |
Unique ID per instance of camera module.
Data type: char[32]
|
NVMEDIA_ISC_SENSOR_ATTR_GAIN_MIN |
Mininum possible gain values.
Data type: float_t[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_GAIN_MAX |
Maximum possible gain values.
Data type: float_t[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_ET_MIN |
Minimum possible exposure time values in seconds.
Data type: float_t[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_ET_MAX |
Maximum possible exposure time values in seconds.
Data type: float_t[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_ET_FINE |
Fine integration time values in seconds.
Data type: float_t[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_ET_STEP |
Exposure time step values in seconds.
Data type: double[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_HDR_MAX |
Maximum possible HDR ratio value.
Data type: uint32_t
|
NVMEDIA_ISC_SENSOR_ATTR_GAIN_FACTOR |
Gain factor between the exposures.
If non zero, possible factors are 1, x, 1/x. Data type: float_t
|
NVMEDIA_ISC_SENSOR_ATTR_QE_PIXEL_RATIO |
Quantum efficiency ratio in split pixel HDR sensor technology.
Data type: float_t[NVMEDIA_ISC_EXPOSURE_MODE_MAX]
|
NVMEDIA_ISC_SENSOR_ATTR_FRAME_RATE |
Frames per second.
Data type: float_t
|
NVMEDIA_ISC_SENSOR_ATTR_NUM_EXPOSURES |
Active number of exposures.
Data type: uint32_t
|
Definition at line 449 of file nvmedia_isc.h.
ISC sensor characterization attributes.
Enumerator |
---|
NVMEDIA_ISC_CHAR_ATTR_SINGLE_EXP |
Single exposure enable flag.
Data type: NvMediaBool[NVMEDIA_ISC_EXPOSURE_MAX]
|
Definition at line 494 of file nvmedia_isc.h.