Page 3 - ii; ABLE OF
ii T ABLE OF C ONTENTS IS4910 S YSTEM H ARDWARE A RCHITECTURE ................................................................................................... 1 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS IS4910 Device Driver and Its Configuration Parameters .......................................
Page 4 - iii
iii T ABLE OF C ONTENTS Window of Interest .............................................................................................................................. 11 camSetCenteredWOI.................................................................................................................
Page 5 - iv
iv T ABLE OF C ONTENTS Aiming APIs ............................................................................................................................................. 22 camTurnAimingOn............................................................................................................
Page 7 - In
1 IS4910 S YSTEM H ARDWARE A RCHITECTURE Figure 1 : IS4910 System Hardware Architecture Communication with the image sensor is done over two buses – the control bus ( I 2 C ) and the data bus. The control bus is used to send commands to the image sensor, and the data bus is used to transfer images f...
Page 8 - Camera Support Library CamLib
2 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS The IS4910 camera engine cannot operate on its own and must be supported by the underlying hardware and software systems. The IS4910 user system software architecture is shown on Figure 2. Figure 2 : IS4910 User System Architecture Metrologic is curren...
Page 9 - IS4910 Device Driver and Its Configuration Parameters; Device
3 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS IS4910 Device Driver and Its Configuration Parameters IS4910 Device Driver is a software component that does all the physical communications with IS4910 camera device. It is pre-compiled as a DLL (vuqdrv.dll) for Windows CE OS and a particular processi...
Page 10 - lg; AbsGain; VERVIEW OF THE; Minimum and Maximum Illumination Times; Flash; Image Sensor Gain; GaindB; Pixel Clock
4 10 lg 20 1000 1000 20 GaindB AbsGain AbsGain GaindB ⋅ = ⋅ = O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS Minimum and Maximum Illumination Times These values, specified in microseconds, control the IS4910 illumination system in the snapshot mode. The minimum illumination time specifies the minimum...
Page 11 - Data Readout Order; Camera Support Library CamLib
5 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS Data Readout Order ReverseRows and ReverseCols entries in the VuQuest2D.ini file provide information on whether the pixel read-out order for the image sensor rows and columns respectively should be reversed. The specified value can be either 0 (FALSE) ...
Page 12 - device; Downloading Software to the Target Device
6 I NSTALLING IS4910 S OFTWARE Installation of the IS4910 software is a two-stage process. In the first stage, the IS4910 software development kit (SDK) must be installed on a Windows PC. To perform the first-stage installation, insert the IS4910 CD into the CD drive of the Windows PC and follow the...
Page 13 - Connect the USB cable from the target device to your Windows PC.
7 I NSTALLING IS4910 S OFTWARE Easy Downloading Using Device Setup Tool and MS ActiveSync Connection The easiest way to download software to the target device is to use the installation program "Device Setup Tool", which is installed on the host Windows PC during the first-stage installation...
Page 14 - Manual Downloading Using MS ActiveSync Connection
8 I NSTALLING IS4910 S OFTWARE Manual Downloading Using MS ActiveSync Connection Alternatively to using the Device Setup Tool, the IS4910 target device-specific software components can be manually transferred to the target device by following the procedure described below. 1. Make sure that Microsof...
Page 15 - Camera Initialization APIs; camInit
9 C AMERA S UPPORT L IBRARY C AM L IB The IS4910 Camera Support Library CamLib provides convenient interface between an application and the IS4910 Device Driver. The library is available in two versions: static library (camlib.dll) and dynamic-link library (camdll.dll). Both versions provide exactly...
Page 16 - camOpen; library to open the device driver properly.; camClose; [in] handle to the camera device returned by the camOpen function.; Camera Properties APIs
10 C AMERA S UPPORT L IBRARY C AM L IB camOpen This function establishes communication with the specified camera device. Note: The target OS must support the MultiByteToWideChar function in order for the camera support library to open the device driver properly. Prototype: int camOpen (char * device...
Page 17 - Clocks; camSetClocks; Window of Interest
11 C AMERA S UPPORT L IBRARY C AM L IB Clocks The IS4910 camera has the master and pixel clocks. The master clock provides the image sensor with the input clock. The pixel clock used by the host system to sample the sensor data. The master clock is provided by the onboard oscillator and its frequenc...
Page 18 - camSetCenteredWOI; int camSetCenteredWOI (int; camSetWOI
12 C AMERA S UPPORT L IBRARY C AM L IB camSetCenteredWOI This function sets the window of interest (WOI) of the given size centered horizontally and vertically in the field of view of the camera. Prototype: int camSetCenteredWOI (int cam_handle, int img_width, int img_height ); Parameters: cam_handl...
Page 19 - camGetImageSize; int camGetImageSize (int; Gain; float
13 C AMERA S UPPORT L IBRARY C AM L IB camGetImageSize This function returns the size of the window of interest (WOI). Prototype: int camGetImageSize (int cam_handle, int *img_width, int *img_height, int *num_bytes_per_row ); Parameters: cam_handle - [in] handle to the camera device returned by the ...
Page 20 - gain; camSetAutoGainRange_db; camGetAutoGainRange_db
14 C AMERA S UPPORT L IBRARY C AM L IB Parameters: cam_handle - [in] handle to the camera device returned by the camOpen function. gain - [out] the gain value, in dB. Can be in the range from 0 to 24 dB. Return Value: 0: Success; -1: Failure camSetAutoGainRange_db This function sets the minimum and ...
Page 21 - camSetIntegrationDuration
15 C AMERA S UPPORT L IBRARY C AM L IB For the purposes of automatic brightness adjustments, an application can specify the minimum and maximum boundaries for the image integration time. By default, the minimum image integration time is set to 10 µs and the maximum is set to 8000 µs. If the camera i...
Page 22 - camGetAutoExpoRange; int camGetAutoExpoRange (int; Readout Order; camSetReadoutOrder; int camSetReadoutOrder (int; camGetReadoutOrder; int camGetReadoutOrder (int
16 C AMERA S UPPORT L IBRARY C AM L IB camGetAutoExpoRange This function returns the minimum and maximum boundaries for the image integration time during an execution of the automatic brightness adjustment, see the function camAdjustBrightness() for more details. Prototype: int camGetAutoExpoRange (...
Page 23 - Illumination; camSetIllumControl; int camSetIllumControl(int; camGetIllumControl; flags; camSetMinFlashTime
17 C AMERA S UPPORT L IBRARY C AM L IB Parameters: cam_handle - [in] handle to the camera device returned by the camOpen function. reverse_left_right - [out] 0 if normal readout from left to right, or 1 if inverted. reverse_top_bottom - [out] 0 if normal readout from top to bottom, or 1 if inverted....
Page 24 - int camSetMinFlashTime(int; camGetMinFlashTime; int camGetMinFlashTime(int; Image Acquisition APIs
18 C AMERA S UPPORT L IBRARY C AM L IB Prototype: int camSetMinFlashTime(int cam_handle , long min_time_µs ); Parameters: cam_handle - [in] handle to the camera device returned by the camOpen function. min_time_µs - [in] minimum illumination time, in microseconds. Return Value: 0: Success; -1: Failu...
Page 25 - camAcquireImage; int camAcquireImage (int; camAcquireImageEx; int camAcquireImageEx (int
19 C AMERA S UPPORT L IBRARY C AM L IB camAcquireImage This function performs an image acquisition and delivers the image data to the application. If called when the camera is running in the video mode, the function delivers the image of the most recent video frame. The image buffer of the size suff...
Page 26 - camStartVideo; int camStartVideo (int
20 C AMERA S UPPORT L IBRARY C AM L IB Parameters: cam_handle - [in] handle to the camera device returned by the camOpen function. image_buf - [out] image data buffer (optional in the video mode). image_buf_size - [in] image data buffer’s size, in bytes (optional in the video mode). frame_offset - [...
Page 27 - camStopVideo; int camStopVideo (int; camPauseVideo; int camPauseVideo (int; camResumeVideo; int camResumeVideo (int
21 C AMERA S UPPORT L IBRARY C AM L IB camStopVideo This function stops video mode and turns the camera back into snapshot mode. Prototype: int camStopVideo (int cam_handle ); Parameters: cam_handle - [in] handle to the camera device returned by the camOpen function. Return Value: 0: Success; -1: Fa...
Page 28 - Aiming APIs; camTurnAimingOn; int camTurnAimingOn (int; camTurnAimingOff; int camTurnAimingOff (int; camGetAimingStatus; int camGetAimingStatus (int
22 C AMERA S UPPORT L IBRARY C AM L IB Aiming APIs The camera’s aiming system can be turned on or off by calling camTurnAimingOn() or camTurnAimingOff() respectively. Note, however, that even if the aiming is turned on, the function camStartVideo() turns the aiming off until the video is stopped. ca...
Page 29 - Automatic Brightness Adjustment APIs; camAdjustBrightness; camSetAutoBrightnessControl
23 C AMERA S UPPORT L IBRARY C AM L IB Automatic Brightness Adjustment APIs The set of automatic brightness adjustment APIs allows an application to automatically adjust the camera’s gain and image integration time based on the quality of the previous images. camAdjustBrightness This function adjust...
Page 30 - camGetAutoBrightnessControl
24 C AMERA S UPPORT L IBRARY C AM L IB The flags parameter indicates whether the gain and/or image integration time (exposure) are allowed to be adjusted, and whether the new values should be applied to the camera immediately after taking the current image or postponed until and applied upon the nex...
Page 31 - Installation Procedure; Installing Driver in the Running OS; See the Platform Builder supplied documentation for details.
25 IS4910 D EVICE D RIVER The device driver is a software component that provides the low-level interface between operating system and the IS4910 camera module. It is strongly recommended that the applications use CamLib APIs to communicate with the IS4910 camera instead of calling the IS4910 Device...
Page 32 - Registry Settings
26 IS4910 D EVICE D RIVER Registry Settings The registry settings allow to load and to configure the driver. The driver must be properly configured on the target device in order to work properly. For that purpose the driver reads the configuration parameters from the registry during loading. The dri...
Page 33 - Value
27 IS4910 D EVICE D RIVER Value Type Description GPIO_CIF_FV DWORD Specifies the GPIO pin connected to the “VSYNC” signal. If it’s not specified the driver fails to load. GPIO_CIF_LV DWORD Specifies the GPIO pin connected to the “HSYNC” signal. If it’s not specified the driver fails to load. GPIO_CI...
Page 35 - Power Management
29 IS4910 D EVICE D RIVER Power Management The driver supports the standard power management interface PMCLASS_GENERIC_DEVICE used by the Power Manager under Windows CE to query the power capabilities of the device and to control its state. The supported power states are as follows: • D0 – device is...
Page 37 - Subkey; VuQuest
31 A PPENDIX B: IS4910 D RIVER I NITIALIZATION F ILE The IS4910 Driver initialization file VuQuest2D.ini contains the driver configuration settings. The file uses the following format: [Device] SubKey= Index= DLL= Path= [Pins] GPIO_CIF_FV= GPIO_CIF_LV= GPIO_CIF_PCLK= GPIO_CIF_DD0= GPIO_CIF_DD1= GPIO...
Page 38 - Index
32 A PPENDIX B: IS4910 D RIVER I NITIALIZATION F ILE Index (optional) defines the instance number of the device and can be a single decimal digit starting from 1 (first instance) to 9 (ninth instance) and 0 (tenth instance). The Index number is appended to the VUQ prefix to construct the device name...
Page 39 - PixelClock
33 A PPENDIX B: IS4910 D RIVER I NITIALIZATION F ILE Gain1000 (optional) defines the image sensor absolute gain multiplied by 1000. It ranges from 1000 (Gain = 1 or 0 dB) to 1600 (Gain = 16 or 24.08 dB). Default is 1000 (Gain = 1 or 0 dB). PixelClock (optional) defines the image sensor pixel clock f...
Page 40 - Push me; include files in the project settings.
34 A PPENDIX C: D EMO A PPLICATION The demo application CamTest is simple and easy to use. Just follow the on-screen instructions. The Push me button starts/stops or continues image acquisition and real-time displaying. The currently displayed image can be stored in BMP file (\My Documents\My Pictur...