Metrologic Instruments IS4910 Series manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

Go to page of

A good user manual

The rules should oblige the seller to give the purchaser an operating instrucion of Metrologic Instruments IS4910 Series, along with an item. The lack of an instruction or false information given to customer shall constitute grounds to apply for a complaint because of nonconformity of goods with the contract. In accordance with the law, a customer can receive an instruction in non-paper form; lately graphic and electronic forms of the manuals, as well as instructional videos have been majorly used. A necessary precondition for this is the unmistakable, legible character of an instruction.

What is an instruction?

The term originates from the Latin word „instructio”, which means organizing. Therefore, in an instruction of Metrologic Instruments IS4910 Series one could find a process description. An instruction's purpose is to teach, to ease the start-up and an item's use or performance of certain activities. An instruction is a compilation of information about an item/a service, it is a clue.

Unfortunately, only a few customers devote their time to read an instruction of Metrologic Instruments IS4910 Series. A good user manual introduces us to a number of additional functionalities of the purchased item, and also helps us to avoid the formation of most of the defects.

What should a perfect user manual contain?

First and foremost, an user manual of Metrologic Instruments IS4910 Series should contain:
- informations concerning technical data of Metrologic Instruments IS4910 Series
- name of the manufacturer and a year of construction of the Metrologic Instruments IS4910 Series item
- rules of operation, control and maintenance of the Metrologic Instruments IS4910 Series item
- safety signs and mark certificates which confirm compatibility with appropriate standards

Why don't we read the manuals?

Usually it results from the lack of time and certainty about functionalities of purchased items. Unfortunately, networking and start-up of Metrologic Instruments IS4910 Series alone are not enough. An instruction contains a number of clues concerning respective functionalities, safety rules, maintenance methods (what means should be used), eventual defects of Metrologic Instruments IS4910 Series, and methods of problem resolution. Eventually, when one still can't find the answer to his problems, he will be directed to the Metrologic Instruments service. Lately animated manuals and instructional videos are quite popular among customers. These kinds of user manuals are effective; they assure that a customer will familiarize himself with the whole material, and won't skip complicated, technical information of Metrologic Instruments IS4910 Series.

Why one should read the manuals?

It is mostly in the manuals where we will find the details concerning construction and possibility of the Metrologic Instruments IS4910 Series item, and its use of respective accessory, as well as information concerning all the functions and facilities.

After a successful purchase of an item one should find a moment and get to know with every part of an instruction. Currently the manuals are carefully prearranged and translated, so they could be fully understood by its users. The manuals will serve as an informational aid.

Table of contents for the manual

  • Page 1

    METROLOGIC INSTRUMENTS, INC. IS4910 Series Area Imaging Engine Programmer’s Manual[...]

  • Page 2

    Copyright © 2008 by Metrologic Instruments, In c. All rights reserved. No part of this work may be rep roduced, transmitted, or stored in any form or by any means wi thout prior written consent, except by reviewer, who may quote brief passages in a review, or pr ovided for in the Copyright Act of 1976. Trademarks Metrologic is a registered tradema[...]

  • Page 3

    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 Param eters .......................................................................... 3 Minimum [...]

  • Page 4

    iii T ABLE OF C ONTENTS Window of Interest ............................................................................................................. ................. 11 camSetCent eredWOI .............................................................................................................. ....................... 12 camSetWOI .........[...]

  • Page 5

    iv T ABLE OF C ONTENTS Aiming APIs .................................................................................................................... ......................... 22 camTurnAim ingOn ................................................................................................................ .............. 22 camTurnAim ingOff ...[...]

  • Page 6

    [...]

  • Page 7

    1 IS4910 S YSTEM H ARDWARE A RCHITECTURE Figure 1 : IS4910 System Hardware Architec ture Communication with the i mage sensor is done over two bu ses – the control bus ( I 2 C ) and the data bus. The control bus is used to send com mands to the image sensor, and the data bus is used to transfer images from the image sen sor to the host system. Th[...]

  • Page 8

    2 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS The IS4910 camera engine cannot opera te on its own and must be supported by the unde rlying hardware and software systems. The IS4910 us er system software architec tu re is shown on Figure 2. Figure 2 : IS4910 User System Architecture Metrologic is currently targeting user systems that ru n Microsof[...]

  • Page 9

    3 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS IS4910 Device Driver and Its Configuration Parameters IS4910 Device Driver is a software comp onent that does all the physical communications with IS4910 camera device. It is pre-compiled as a DLL (vuqd rv.dll) for Windo ws CE OS and a particular processing platform and must be properly installed on t[...]

  • Page 10

    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 micros econds, control the IS4910 illumination sy stem in the snapshot mode. The minimum illumination time spec ifies the minimum time the illumi nation flash shoul d last [...]

  • Page 11

    5 O VERVIEW OF THE IS4910 S OFTWARE C OMPONENTS Data Readout Order ReverseRows and ReverseCol s entries in the VuQuest2D. ini file provide information on wheth er the pixel read-out order for the image sen sor rows and colum ns respectively should be re versed. The specified value can be either 0 (FALSE) or 1 (TRUE). By def ault, both values are se[...]

  • Page 12

    6 I NSTALLING IS4910 S OFTWARE Installation of the IS4910 software is a two-stage pr o cess. In the first stage, the IS4910 software development kit (SDK) must be installe d on a Wind ows PC. To perform t he first-stage installation, insert the IS4910 CD into the CD drive of the Windows PC and follow the on-screen i nst ructions. (If the auto- run [...]

  • Page 13

    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 prog ram "Device Setup Tool", which is installed on the host Wind ows P C during the first-stage installation of the IS4910 SDK. To download IS4910 softwa[...]

  • Page 14

    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 compo nents can be manually transferred to the target dev ic e by following the procedure described below. 1. Make sure that Microsoft ActiveSync so ftware is installed on your Win[...]

  • Page 15

    9 C AMERA S UPPORT L IBRARY C AM L IB The IS4910 Camera Support Library CamLib provid es convenient interface betwee n 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 vers ions provide exactly the same set of high-level APIs to acquire im[...]

  • Page 16

    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 MultiByteToW ideChar function in order for the camera support library to open the device driver properl y. Prototype: int camOpen (char * devi ce_name , char * ctl_bus_nam e , int * p_dev_type[...]

  • Page 17

    11 C AMERA S UPPORT L IBRARY C AM L IB Clocks The IS4910 camera has the master and pixel clo cks. The master clock provides the image se nsor with the input clock. The pixel clock used by the host system to sample the sensor data. The master clock is p rovided by the onboard oscillator and its freq uency is 48 MHz. Allowed pixel clock frequencies o[...]

  • Page 18

    12 C AMERA S UPPORT L IBRARY C AM L IB camSetCenteredWOI This function sets the window of interest (WOI) of t he given size centered h orizont ally and vertically in the field of view of the camera. Prototype: int camSetCenteredWOI (int cam_handle, int img_width, int im g_height ); Parameters: cam_handle - [in] handle to the camera device returned [...]

  • Page 19

    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 camOpen fun ction. img_width - [out] image width, [...]

  • Page 20

    14 C AMERA S UPPORT L IBRARY C AM L IB Parameters: cam_handle - [in] handle to the camera device returned by the camOpen fun ction. 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 maximum boun daries for the gain value during an [...]

  • Page 21

    15 C AMERA S UPPORT L IBRARY C AM L IB For the purposes of automatic brightne ss adjus tments, an application can specif y the minimum and maximum boundaries for the image integration time. By default, the minimum image integrat ion time is set to 10 µs and the maximum is set to 8000 µs. If the camera is running in the video mode, it must be stop[...]

  • Page 22

    16 C AMERA S UPPORT L IBRARY C AM L IB camGetAutoExpoRange This function returns the minimum and maximum bou ndaries for the image integrat ion time during an execution of the automatic bright ness adjustment, see the functi on camAdjustBri ghtness() for more details. Prototype: int camGetAutoExpoRange (int cam_handle, long * m in_time_ µs, long *[...]

  • Page 23

    17 C AMERA S UPPORT L IBRARY C AM L IB Parameters: cam_handle - [in] handle to the camera device returned by the camOpen fun ction. 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. Return Value: 0: Success; -1: Failure Illuminati[...]

  • Page 24

    18 C AMERA S UPPORT L IBRARY C AM L IB Prototype: int camSetMinFlashTime(int cam_handl e , long min_time_µs ); Parameters: cam_handle - [in] handle to the camera device returned by the camOpen fun ction. min_time_µs - [in] minimum illuminatio n time, in mi croseconds. Return Value: 0: Success; -1: Failure camGetMinFlashTime This function returns [...]

  • Page 25

    19 C AMERA S UPPORT L IBRARY C AM L IB camAcquireImage This function performs an image a cquisition and delivers the image data to the application. If called when the camera is running in the video mode, the functi on delivers the image of the most recent video fram e. The image buffer of the size sufficient to hold at l east one frame of the entir[...]

  • Page 26

    20 C AMERA S UPPORT L IBRARY C AM L IB Parameters: cam_handle - [in] handle to the camera device returned by the camOpen fun c tion. 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 - [out] if not NULL, the frame offs et, in bytes,[...]

  • Page 27

    21 C AMERA S UPPORT L IBRARY C AM L IB camStopVideo This function stops video mode and turns the came ra back into snapshot mode. Prototype: int camStopVideo (int cam_handle ); Parameters: cam_handle - [in] handle to the camera device returned by the camOpen fun c tion. Return Value: 0: Success; -1: Failure camPauseVideo This function pauses the vi[...]

  • Page 28

    22 C AMERA S UPPORT L IBRARY C AM L IB Aiming APIs The camera’s aiming system can be turned on or off b y calling camTurnAimingOn() o r camTurnAimingOff() respectively. Note, however, t hat even if the aiming is turned on, the function camStartVideo() turns the aimi ng off until the video is stopp ed. camTurnAimingOn This function turns the IS491[...]

  • Page 29

    23 C AMERA S UPPORT L IBRARY C AM L IB Automatic Brightness Adjustment APIs The set of automatic brightness adj ustment APIs a llows an application to automatically adjust the camera’s gain and image integratio n time bas ed on the quality of the previous images. camAdjustBrightness This function adjusts the IS4910 camera’ s gain and/or image i[...]

  • Page 30

    24 C AMERA S UPPORT L IBRARY C AM L IB The flags parameter indicates whether t he gain and/or image integration time (exposure) are allowed to be adjusted, and whether the new values sh ould be app lied to the camera imm ediately after taking the current image or postponed until and applied upon the nex t image acquisition. Note that in the snapsho[...]

  • Page 31

    25 IS4910 D EVICE D RIVER The device driver is a software component that prov ides the low-level interface b e tween 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 Driver directly. The CamLib APIs provide an ea[...]

  • Page 32

    26 IS4910 D EVICE D RIVER Registry Settings The registry settings allow to load and to config ure the driver. The driver must be properly confi gured on the target device in order to work properly. For that purpose the d river reads the configuration parameters from the registry during loading. The driver’s registry value s must be stored under t[...]

  • Page 33

    27 IS4910 D EVICE D RIVER Value Type Description GPIO_CIF_FV DWORD Specifies the GPIO pin connec ted 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” sig nal. If it’s not specified the driver fails to load. GPIO_CIF_PCLK DWORD Specifies the GPIO pin [...]

  • Page 34

    28 IS4910 D EVICE D RIVER Value Type Description POLARITY_TRIGGE R DWORD (Optional) Defines the pola rity (a ctive “high” or “low”) of the “Trigger” signal. Allowed value s are 1 (normal polarity, active “high”) and 0 (inverted pola rity, ac tive “low”). Default is 1 (normal polarity, active “high”). POLARITY_ILLUM DWORD (Op[...]

  • Page 35

    29 IS4910 D EVICE D RIVER Power Management The driver supports the standar d power management interface PM CLASS_GENERIC_DEVICE used by the Power Manager under Windo ws CE to query the pow er capabilities of the device and to control its state. The supported power state s are as follows: • D0 – device is fully powered • D2 – device is in lo[...]

  • Page 36

    30 A PPENDIX A: D RIVER R EGISTRATION A PPLICATION The driver registration application allows to inst all or to uninstall the IS4900 device driver into the operating system running on the target d evi ce. It is a simple console application. The installed device name is co nstructed from the VUQ prefix appended the index numbe r. On success the appl[...]

  • Page 37

    31 A PPENDIX B: IS4910 D RIVER I NITIALIZATION F ILE The IS4910 Driver initialization file VuQuest2D.ini contains the driver config uration 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_CIF_DD2= GPIO_CIF_DD3= GPIO_CIF_DD4= GPIO_CIF_DD[...]

  • Page 38

    32 A PPENDIX B: IS4910 D RIVER I NITIALIZATION F ILE Index (optional) defines the instance n umber of t he device and can be a single decimal digi t starting from 1 (first instance) to 9 (ninth instance) and 0 (tenth instan ce). The Index number is appended to the VUQ prefix to construct the device name. Default is 1. DLL specifies the name of the [...]

  • Page 39

    33 A PPENDIX B: IS4910 D RIVER I NITIALIZATION F ILE Gain1000 (optional) defines the image sensor absol ute gain multiplied by 1000. It ranges from 1000 (Gain = 1 or 0 dB) to 1600 (Gain = 16 o r 24.08 dB). Default is 1000 (Gain = 1 o r 0 dB). PixelClock (optional) defines the imag e sensor pixel clock frequency, in Hz. All owed values are 12000000 [...]

  • Page 40

    34 A PPENDIX C: D EMO A PPLICATION The demo application CamTest is simple and easy to use. Just follow the on-screen instructio ns. The Push me button starts/stops or continues imag e acquis ition and real-time displ a ying. The currently displayed image can be stored in BMP file (My Do cumentsMy Picturesvuq.bm p) by pressing the Save button. Th[...]

  • Page 41

    35[...]

  • Page 42

    January 2008 Revision 2.0 00 - 02291A[...]