8.8.1. Introduction¶
Imaging library is a collection of sample algorithms and image sensor drivers packaged with PSDKRA to enable camera based applications.It includes sensor driver framework which is a modular and extensible framework to
- Add new sensor drivers easily.
- Provide a consistent interface to applications and algorithms.
Welcome to New Image Anti-Aging & Cosmetic Laser Center. At New Image, we aspire above and beyond client anticipation. That flawless skin of your dreams can now be a virtual reality thanks to our state-of-the-art equipment. No longer must you worry about applying pounds of cover-up or endless days of shaving.
The goal of this framework is to add new sensors with zero code modifications to the applications.Any application using an image sensor is expected to be agnostic to the underlying HW. The application is expected to communicate with thedriver framework using RPC commands. The details of supported sensors and the sensor capabilities are queried at runtime.
Similarly algorithms communicating with image sensor (e.g. AutoExposure) are required to send RPC commands at runtimewithout knowing which sensor is operational.Driver framework is responsible for mapping the camera ID to the associated physical image sensor.
- Because device drivers can parse the CCS Static Data format, vendors and system integrators can add support for new image sensors and update MSRs for existing ones without making driver changes. Now MIPI Alliance is introducing CCS Tools, a set of tools and libraries that will help component vendors and system integrators take advantage of CCS.
- Step 1: Check if the driver update is needed. Step 2: If needed, update the camera driver. Step 1: Check if the driver update is needed. Open the current version (e.g., version 4 or 5) of the MetaXpress software on the ImageXpress Micro computer and select an image recently acquired with the ImageXpress Micro system using one of the following methods.
This mechanism allows algorithm and application code to remain unchanged as new sensors are added to the framework.
8.8.2. Documentation References¶
Capture high-resolution planetary, lunar and solar images with almost any telescope with the NexImage 5 Solar System Imager. Combined with the included software package, NexImage 5 brings out tremendous detail and produces images rivaling those taken with astronomical cameras costing hundreds more. A Webcam Driver is a program which allows communication between your webcam (in-built or external camera on your computer) and your PC. Webcam drivers should be updated in order to keep the devices running well. If you have updated your operating system or other related hardware or software, then you may need to also update your webcam drivers.
SDK Component | Documentation | Description | Section |
---|---|---|---|
vision apps | LINK | Single Camera VPAC Demo | Application / Demos > Basic Demos > Single Camera VPAC Application |
vision apps | LINK | Multi Camera VPAC Demo | Application / Demos > Basic Demos > Multi Camera VPAC Application |
imaging | LINK | Imaging drivers and algos | Imaging / Modules > Imaging Sensor Driver Modules |
8.8.3. Source Code References¶
SDK Component | File / Folder | Description |
---|---|---|
Imaging | imaging/sensor_drv | Sensor driver source code |
vision apps | vision_apps/utils/iss | Common ISS Utilities to be used by all camera based applications |
vision apps | vision_apps/apps/basic_demos/app_single_cam | Demo Application using a single camera instance |
vision apps | vision_apps/apps/basic_demos/app_multi_cam | Demo Application using a multiple (upto 8) camera instances |
8.8.4. Key Data Structures¶
8.8.4.1. IssSensor_CreateParams¶
Create time parameters like width, height, dataformat, I2C address for the image sensor.For more details, please refer to imaging/sensor_drv/include/iss_sensor.h
8.8.4.2. IssSensorFxns¶
Set of callbacks of all routines to be implemented by the sensor driver.For more details, please refer to imaging/sensor_drv/include/iss_sensor.h
8.8.4.3. IssSensorIntfParams¶
Interface parameters e.g. number of CSI-2 date lanes, position, polarity etc.For more details, please refer to imaging/sensor_drv/include/iss_sensor.h
8.8.4.4. I2cParams¶
Struct containing register address, value and delay (milli seconds).For more details, please refer to imaging/sensor_drv/include/iss_sensor.h
8.8.4.5. IssSensorConfig¶
Struct containing pointers to sensor and SerDes configuration structures.
Note
- Last entry in Serializer and Deserializer config scripts must be {0xFFFF, 0x00, 0x0}
8.8.4.6. IssSensors_Handle¶
Handle to the image sensor driver including all the information about the sensorFor more details, please refer to imaging/sensor_drv/include/iss_sensor.h
8.8.5. Application - Driver Interface¶
8.8.5.1. RPC Commands¶
Application communicates with the sensor driver using RPC (Remote Procedure Call) commandsThe commands defined currently are listed below.
Command | Description |
---|---|
IM_SENSOR_CMD_ENUMERATE | Called by the application to get a list of names of all the sensors supported. |
IM_SENSOR_CMD_QUERY | Called by the application to query the capabilities of an image sensor by name. |
IM_SENSOR_CMD_PWRON | Called by the application to power ON the sensor. Sensor f/w invokes powerOn callback of the selected sensor.Exact implementation of this function is left to the specific sensor driver. |
IM_SENSOR_CMD_PWROFF | Called by the application to power OFF the sensor. Sensor f/w invokes powerOff callback of the selected sensor.Exact implementation of this function is left to the specific sensor driver. |
IM_SENSOR_CMD_STREAM_ON | Called by the application to start streaming. Sensor f/w invokes streamOn callback of the selected sensor.Exact implementation of this function is left to the specific sensor driver. |
IM_SENSOR_CMD_STREAM_OFF | Called by the application to stop streaming. Sensor f/w invokes streamOff callback of the selected sensor.Exact implementation of this function is left to the specific sensor driver. |
IM_SENSOR_CMD_CTL | Called by the application to send runtime control commands.Next section describes the runtime controls currently supported. |
8.8.5.2. Control Commands¶
IM_SENSOR_CMD_STREAM_CTL command can have an argument for control command.Control commands defined currently are listed below.
Command | Description |
---|---|
IMAGE_SENSOR_CTRLCMD_GETEXPPRG | Typically called by the AutoExposure algorithm to know sensor’s exposure constraints, which can then be used forinitializing AutoExposure algorithm. |
IMAGE_SENSOR_CTRLCMD_SETEXPGAIN | Typically called by the AutoExposure algorithm to set exposure time and analog/digital gain.Sensor f/w invokes setAeParams callback of the selected sensor.Exact implementation of this function is left to the specific sensor driver. |
IMAGE_SENSOR_CTRLCMD_GETEXPGAIN | Reserved for future use. |
IMAGE_SENSOR_CTRLCMD_SETWBGAIN | Reserved for future use. |
IMAGE_SENSOR_CTRLCMD_GETWBGAIN | Reserved for future use. |
IMAGE_SENSOR_CTRLCMD_DEBUG | Reserved for future use. |
8.8.6. Steps to create a new sensor driver¶
8.8.6.1. Create a folder¶
Create a new folder inside imaging/sensor_drv/src/ e.g. <newsensor123>
8.8.6.2. Create sensor driver file¶
Create a new source file implementing all the structures and callbacks mentioned in Key Data Structures.
8.8.6.2.1. createParams¶
Parameter | Usage |
---|---|
name | Pick any unique string no longer than 32 characters |
i2cInstId | Specify I2C channel on which the sensor is connected. For Jacinto 7 EVM, default is 0x6 |
i2cAddrSensor | Array of sensor address aliases. Upto 8 instances supported. Must match alias values specified in UB960 config. Note If the sensor is connected directly i.e. without SerDes, provide sensor’s physical I2C address (7-bit) here |
i2cAddrSer | Array of serializer address aliases. Upto 8 instances supported. Must match alias values specified in UB960 config. |
width | Number of pixels per line in sensor output, not including H blanking. |
height | Number of lines per frame in sensor output, not including V blanking or metadata. |
num_exposures | Number of exposure channels per frame. |
line_interleaved | Reserved for future use. |
pixel_container | width of container element. |
msb | MSB of valid data. Must be set to bpp -1. E.g. MSB = 11 for 12b RAW. |
features | Binary mask specifying sensor capabilities. |
fps | Frame rate per second. Not used currently. |
numDataLanes | Number of CSI-2 data lanes. Must match sensor & deserializer settings. |
dataLanesMap | Mapping of sensor CSI2 lanes to CSI2 Rx. Must match sensor & deserializer settings. |
dataLanesPolarity | Reserved for future use. |
csi_ddr_clock | Reserved for future use. |
num_channels | Number of camera instances supported. Valid values : 1-8. |
dccId | Unique numerical identfier. Used for ISP tuning. |
8.8.6.2.2. IssSensorFxns¶
API Name | Description |
---|---|
probe | Detects if sensor is accessible, usually by reading sensor chip ID. |
config | Configures serializer and sensor.Argument sensor_features_requested maybe used to load different configuration based on application request.For e.g 30fps mode vs 60fps mode. |
streamOn | Enables streaming on sensor and deserializer. |
streamOff | Disables streaming on sensor and deserializer. |
powerOn | HW dependent. Pull up/down any GPIOs, if needed.Configures the deserializer so that sensor is accessible over FPD Link backchannel. |
powerOff | HW dependent. Pull up/down any GPIOs, if needed. |
getExpParams | Reserved for future use. Must be implemented as a dummy function returning 0. |
setAeParams | Translates AE computed exposure time and analog gain to sensor specific settings.Updates sensor registers with new values. |
getDccParams | Reserved for future use. Must be implemented as a dummy function returning 0. |
initAewbConfig | Reserved for future use. Must be implemented as a dummy function returning void. |
getIspConfig | Reserved for future use. Must be implemented as a dummy function returning void. |
readWriteReg | Reserved for future use. Must be implemented as a dummy function returning 0. |
getExpPrg | Called by AE algorithm to get the sensor exposure constraints. |
deinit | Reserved for future use. Must be implemented as a dummy function returning void. |
Drivers New Image Cameras Wireless
Note
For more details, please refer to an existing sensor driver
8.8.6.3. Update makefile¶
Drivers New Image Cameras Best Buy
Modify sensor_drv/src/concerto.mak to add the newly added sensor file. For e.g.
8.8.6.4. Register the new sensor with framework¶
Modify the function IssSensor_Init in the file sensor_drv/src/iss_sensors.c to call init function of the new sensor. For e.g.
8.8.6.5. Build and Run¶
Drivers New Image Cameras App
- Do a clean build of imaging, followed by sdk build.
- Upon execution, new sensor should be populated in the enumerated sensor list.
- Select the sensor and run. If the sensor and SerDes settings are correct, a preview should be displayed on the connected display.
- At this stage, sensor driver is functional. However, image quality may not be perfect.
- Please refer to DCC Tuning Tool documentation for the steps to achieve good image quality using TI ISP.
Drivers New Image Cameras Software
- August 22, 2019 2.9.8
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.9.8
Released
August 22, 2019
Type
ZIP
Filesize
3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 controller
- Graphics card with 24 or 32 bit
- Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Added several internal interfaces for particular sensors (J003).
- January 25, 2019 2.9.6
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.9.6
Released
January 25, 2019
Type
ZIP
Filesize
3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 controller
- Graphics card with 24 or 32 bit
- Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Added missing Tonemapping Auto property.
- May 4, 2018 2.9.5
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.9.5
Released
May 4, 2018
Type
ZIP
Filesize
3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 controller
- Graphics card with 24 or 32 bit
- Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Enabled tonemapping for 8bit video formats, e.g. Y800, RGB24 and RGB32.
- November 21, 2017 2.9.4
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.9.4
Released
November 21, 2017
Type
ZIP
Filesize
3.2MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Repaired not working J003 mono sensor pattern fix on particular video formats.
- This driver version is the last that works in Windows XP.
- January 9, 2017 2.9.3
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.9.3
Released
January 9, 2017
Type
ZIP
Filesize
3.2MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Added a pattern fix for J003 mono sensors.
- January 9, 2017 2.9.1
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.9.1
Released
January 9, 2017
Type
ZIP
Filesize
3.2MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Fixed the driver signature Code 52 error on new Windows 10 v1607 systems.
- January 15, 2016 2.8.9
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.8.9
Released
January 15, 2016
Type
ZIP
Filesize
2.3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Changed certificates so that the driver can also be installed in Vista.
- November 9, 2015 2.8.7
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.8.7
Released
November 9, 2015
Type
ZIP
Filesize
2.3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Fixed an error which can appear when using sharpness on older CPUs.
- October 20, 2015 2.8.5
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.8.5
Released
October 20, 2015
Type
ZIP
Filesize
2.3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Fixed a bug which can appear on LivePause call.
- July 15, 2015 2.8.0
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.8.0
Released
July 15, 2015
Type
ZIP
Filesize
2.4MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Support of DFK ECU010-L34 with serial number property.
- Added tone mapping.
- February 17, 2015 2.7.33
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.7.33
Released
February 17, 2015
Type
ZIP
Filesize
2.4MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- The Auto Focus Onepush Running flag now resets correctly after the auto focus has finished.
- February 5, 2015 2.7.32
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.7.32
Released
February 5, 2015
Type
ZIP
Filesize
2.4MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Video format MJPG (2592x1944) of DFK AFU050-L34 camera can now be used.
- January 14, 2015 2.7.31
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.7.31
Released
January 14, 2015
Type
ZIP
Filesize
2.3MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Support for IMX236 based cameras.
- Support for RGB64 color formats.
- Several performance improvements.
- June 6, 2014 2.7.9.1152
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.7.9.1152
Released
June 6, 2014
Type
ZIP
Filesize
2.1MB
Requirements
- Intel Core i3 or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit), Windows 10 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Added new properties: Brightness, sharpness, de-noise, saturation, hue and contrast.
- Added new property: Highlight reduction.
- Added new property: White balance temperature controls.
- Pixelfix for Y16 cameras now works as expected.
- VideoControl_ExternalTrigger (DirectShow property) can now be set as expected.
- January 1, 2014 2.6.5.1014
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.6.5.1014
Released
January 1, 2014
Type
ZIP
Filesize
1.9MB
Requirements
- Intel Pentium IV or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- Fixed missing auto-gain for DFK AFU130.
- Fixed focus when start value is out of auto_focus_range.
- Fixed problem with AUTOFOCUS_ROI_RIGHT: minimum possibly wrong.
- Fixed auto focus ROI not working for 21*UC cameras.
- Fixed crash on load/connect with certain cameras 22/72xUC.
- Fixed previous exposure settings not being loaded on reconnect.
- Complete reworking of internal property system.
- Fixed Windows XP driver load crash.
- Fixed drop counter to be accessible from DirectShow.
- Fixed Windows 8 problem with certain video formats needing converters with standard DirectShow filters (e.g. Y800, capturing to an Y800 avi file was not possible).
- Fixed a problem with Windows 8 usbxhci driver not allowing transfers larger then 4 MB.
- February 26, 2013 2.4.14.851
Device driver for all The Imaging Source USB cameras except the 33U, 37U, 38U and AFU auto focus series.
Version
2.4.14.851
Released
February 26, 2013
Type
ZIP
Filesize
1.9MB
Requirements
- Intel Pentium IV or similar, 2 GB RAM
- USB 3.0 or USB 2.0 controller (depends upon camera model)
- Graphics card with 24 or 32 bit
- Windows XP, Windows Vista, Windows 7 (32 & 64 bit), Windows 8 (32 & 64 bit)
- DirectX 9.0c or higher
Changelog
- WHQL certification.