Sparrow; a new IEEE 1394 camera product line of ICP DAS--designed for industrial machine vision applications. Sparrow IMS camera are designed within high sensitivity industrial CCD sensor and be able to acquire color image or monochrome image. The IMS-130 offers 1288 x 964 resolutions and acquisition speed up to 31 frames per second.
Page 6
32-bit OS only: If using Windows XP SP2 or above version, please rollback to Service Pack 1. The 1394b full spec. driver may only supported in Windows XP SP1, therefore ICPDAS has offer ‘fixSP2g’ program to help customer to roll-back the 1394b driver into Windows XP SP2/SP3 or above system (Please refer Chapter 3.2.3 Windows XP SP1 rollback).
The AOI (Area of Interest) function allows users to select an area of interest, for the camera‟s CCD array to specifically read, display, and transmit. Sparrow IMS camera offers include Mono 8-bit, Mono 16-bit and RGB 24-bit in total 3 color formats and each color format will generate difference data structure.
Sharpness and range from 0 ~ 4095. Default value of Sharpness is 2048. 1.4.4 White Balance Sparrow IMS CCD camera camera are using the Bayer tiling in the CCD for the color pixel data. White Balance function is able to work well on color correction to deal with differing lighting conditions.
White Balance is 600, while blue is 840. 1.4.5 Hue All color image space can be changed by adjusting Hue function. Sparrow IMS camera offers adjustable function of Hue and absolute value range from -180.0 ~ 179.912, and default value is 1.4.6 Saturation...
Gain function will be changes over all image data, and its adjustable level of amplification of the camera signal. Sparrow IMS camera offers adjustable function of Gain and absolute value range from -6.26386 ~ 24.0001. However when gain is increased in an image, one must also take into consideration the addition of significant noise.
Shutter Mode. The trigger control resource could be come from hardware or software. Sparrow IMS camera designs the pin 1 of GPIO interface which dedicated for physical external hardware trigger resource. It is opto-isolated open collector circuit designed (For detail schematic, please refer 1.4.11) and input voltage range from +3.3VDC to +30VDC in maximum...
1.4.11 GPIO (General Purpose Digital Input and Output) The Sparrow IMS camera offers the GPIO interface and pin define as below. 8-Pin Hirose GPIO interface Pin No. Define Description GPIO0 Opto-isolated input, Default for Trigger Input (+3.3V to +30V), Input delay time:4us...
Page 14
1.1.1.2 GPIO1 (Opto-Isolated Output) Circuit The figure below shows the schematic for the opto-isolated output circuit. The maximum current allowed the opto-isolated output circuit is 25mA (limit by PTC resistor), and the output impedance is 140 Ohm. Response Time The following table lists the switching times for the opto-isolator in the output pin, assuming an output VCC of 5V and 1K Ohm resistor.
Page 15
1.1.1.1 GPIO2 and GPIO3 (Bi-Direction) Input / Output Circuit The figure below shows the schematic for the GPIO2 and GPIO3 bi-directional input or output circuit. Input Side Logic 0 input voltage: 0VDC TO +0.5VDC (voltage at GPIO2/GPIO3) Logic 1 input voltage: +1.5VDC to +30VDC (voltage at GPIO2/GPIO3) ...
1.4.14 Data Flash Control Sparrow IMS camera offers 64K bytes Data Flash memory for customer to save or restore camera settings and AES project encryption register code. The address of data flash can be read and write, range from 0x0 ~ 0xFFFF. Keep the camera power sustained when written data into the Data Flash;...
1.4.15 Software AES Project Encryption Sparrow IMS camera offer an software AES project encryption function. The system designer can use this function to generated unique security key to protected the copy right of their system. The IMS_Get_CameraInform function can get the unique hardware information of the camera, and call AES_GET_REG function to set 16bytes AES key then will get 16bytes AES project encryption register code.
1.5 Spectral Response Below is the spectral response curve of Sparrow IMS camera CCD sensor and excludes the Lens and lighting source characteristics. IMS-130 Monochrome Mode Spectral Sensitivity IMS-130 Color mode Spectral Sensitivity - 18 -...
1.6 Benchmarks Sparrow IMS camera is able to connect to IEEE 1394a (400Mbps) or IEEE 1394b (800Mbps) IEEE interface port. The bandwidth of IEEE interface port may decide the frame rate of camera acquisition, and also the sharing connected structure may reduce camera acquisition speed.
30MB/s, and IEEE 1394b host chipset can reach bandwidth around 60MB/s. By using more Sparrow cameras in the system, user must consider if here is enough bandwidth of IEEE 1394, or choose multiple host chipsets interface card for it.
Hardware Reference 2.1 Sparrow IMS-130 Camera Specification 2.1.1 Model No. IMS-130 Sensor Size 1/3” Sony CCD Pixel Size 3.75um x 3.75um Resolution 1288 x 964 Max. Frame Rate Mono mode up to 31fps at 1394b S800 Color mode up to 16fps...
2.1.2 Camera Interface 2.1.3 Standard Package Contents Camera with Lens-cap Driver CD & Installation Guide Tripod Adapter with screws GPIO Wiring Connector - 22 -...
2.2.2 1394 Interface Cards Sparrow camera support to with both 1394a / 1394b interface card. 2.2.2.1 Dual-port Card: IOI-4601-21 The IOI-4601-21 is dual IEEE 1394 host controller PCI interface card. It supported simultaneous dual ports data transmission at rates of 400Mbps.
Page 25
2.2.3.2 CA-1394B-45: 4.5 meters high flex 1394b cable 1394 connector 9-pin male connector with screw nickel plated, PVC molding UL-20279 cable, (26AWG x 1pair + 2 x DRAIN + AM) x 2pcs, Cable wiring gauge 22AWG x 2 conductors. Double shielded. Length 450mm - 25 -...
2.2.4 1394 Repeater: 1394R3B 1394R3B repeater offers 1port to 2 ports IEEE 1394a signal repeat and cable extension need. The 1394R3B allow convert 1394-1995 to 1394a. Top Side View Left Side View Right Side Vide Chip PHY: TI. TSB41AB3 1394 Bus Transfer Rate 100 / 200 / 400 Mbps Device Interface A 400-Mbps, 2-port, 3.3V PHY...
Installation Guide Sparrow IMS-130 IEEE 1394b cameras support operation in VISION BOX, IPC, PC and Notebook system. The installation guide shows how user should use this camera correctly and safely by steps. Please read through this installation guide carefully and follow the installation steps of your specified system platform.
Page 28
(6) Anchor the board by replacing the screw. (7) Using 1394 cable (1394b interface card uses 1394b cable; 1394 interface card uses 1394a to 1394b bilingual cable) to connect Sparrow IMS 1394b camera to 1394 card and GPIO cable wiring if necessary. For image acquisition test please refer to the “EZView Pro Utility”.
6-pin connector to 1394 repeater. (3) When 6-pin connection to 1394 repeater, then please plug in DC power adaptor and another 6-pin to 6-pin 1394 cable. (4) 9-pin to 6-pin 1394 connected to Sparrow IMS Camera IEEE 1394 port GPIO wiring connection necessary.
Page 30
GPIO cable and DC power supply unit. (2) Plug IEEE 1394b PCMCIA card to Notebook PCMCIA socket as below. (3) Use 1394b cable connected to IEEE 1394b PCMCIA card and Sparrow IMS Camera IEEE 1394b port directly. (4) Use GPIO connector and wiring out with DC power supply unit. The GPIO pin-7 for external DC power and the GPIO pin-5 for the power GND.
3.2 XP Driver Installation Do not plug in any Sparrow cameras before driver is installed completely. Please refer to the following installation for different programming environment installations. Visual Studio (VC/VB/BCB/VC.NET) Users 3.2.1 (1) Insert the Sparrow Driver CD to CD-ROM/DVD-ROM drive.
Page 32
(4) The Sparrow IMS camera default path located at C:\ICPDAS\Sparrow\, and you can click “Change..” button to change driver installation path, otherwise please click “Next” button for continue driver installation. (5) Please click the “Install” button - 32 -...
Page 33
(6) Driver installing (7) When driver install is completed, please click the “Finish” button and restart your system. - 33 -...
Page 34
(8) After system re-boot, please plug in the Sparrow IMS cameras and go to “Device Manager” and make sure you see the “ICPDAS IEEE-1394 digital camera Device” in the list of “ICPDAS Sparrow”. (9) If here is another vendor‟s 1394 camera driver in system, it may need to remove the other‟s driver and install Sparrow driver by manually.
If you prefer to use LabVIEW from NI (National Instruments) for your system development, then we‟ll suggest you to use NI-IMAQ directly. Sparrow IMS camera are fully compatible with NI-IMAQ-1394. Please just select “NI-IMAQ IEEE 1394 IIDC Digital Camera” driver for your installation and DO NOT install the Sparrow driver.
BF4BD3130B9&displaylang=en (2) Or after Sparrow driver install completed then user will find a „FixSP2g‟ utility under the list menu of Sparrow, then user can just click it and follow the steps until get the rollback to SP1 successfully information. After you install this update, if you add a host controller for a new 1394 device to your computer, you must add or modify the SidSpeed entry in the Windows registry for the new 1394 host controller.
Device Manager before running the EZView Pro utility. This chapter outlines how to establish a vision system and how to manually control the Sparrow camera to verify correct operation. EZView Pro provides an easy way on setting, configuring, testing, and debugging the vision system.
4.2 Menu The most functionalities control of Sparrow camera is under EZView Pro utility menu which defines as, Camera, Configure, Function and About selections. 4.2.1 Camera The Camera function menu will show up function control included: Scan Camera, Select Camera, Video Mode, Camera Info, Check Bus Rate and Exit.
Page 39
The AOI Setting only workable when user select the Video Mode in AOI. User can set the AOI size and start position for the area of interest field. Also, Sparrow camera will be calculated for maximum possible AOI frame rate for difference AOI size and color mode combination.
4.2.2 Configure The Configure function is able to save current camera operation parameters setting into Sparrow camera configure memory or into a specific file location. Also, user can use this function to get the camera configuration information from Sparrow camera configures memory or specific file location.
Page 41
Click Enable Test Image and click Snapshot or Live Capture function icon. Sparrow camera will generate internal testing pattern and transmits out the image data as below. Sparrow camera will not be able to acquire any live image before user to disable the test image function.
User is able to download or upload the camera look up table information via LUT function. The LUT information present by txt file format and user can modify the LUT information then upload to Sparrow camera for modifying the image data analog to digital convert structure.
4.3 Tool Icons Camera Scan Click the Camera Scan icon to list the Sparrow 1394 cameras available at the local computer. Snap Shot Click the Snapshot icon. A single image will appear in the Full Image and Partial Image display window.
4.5 Display Window The EzView_Pro utility supports two display windows for real-time image display. The full image data will be reduction show in the bottom right display window, and there have a ROI (Regional of Interest) box to allow user to move the position to see the ROI raw data image show in the partial image display window.
4.7 Color Parameter The Color Parameter function is only work on camera Video Mode RGB selected. User can adjust the color parameter during the image acquisition. Each parameter range and functionality description please refers Chapter 1.4 for detail information. - 45 -...
Users can use these functions to develop application programs under Visual C++ 6.0, Visual Basic 6.0, Boland C++ Builder 6.0, and VC.NET 2005. The Sparrow DLL file (IMSCamera.dll) is in common use on Visual C++, Visual Basic, and Boland C++ Builder and VC.NET 2005 development language.
5.2 Programming Flowchart Camera scan & initial IMS_ScanCamera IMS_InitCamera Camera close IMS_CloseCamera Check 1394 Bus Rate IMS_ScanCamera IMS_InitCamera IMS_Check_BusRate Camera feature setting IMS_ScanCamera IMS_InitCamera IMS_Set_Feature Check camera feature setting IMS_ScanCamera IMS_InitCamera IMS_Get_Feature Camera video mode setting IMS_ScanCamera IMS_InitCamera IMS_Set_VideoMode...
Page 49
Check camera video resolution IMS_ScanCamera IMS_InitCamera IMS_Get_VideoResolution Check camera color format IMS_ScanCamera IMS_InitCamera IMS_Get_ColorFormat Camera Acquisition IMS_ScanCamera IMS_InitCamera IMS_Register_Callback IMS_Start_Acquire IMS_Stop_Acquire Camera AOI setting and acquisition IMS_ScanCamera IMS_InitCamera IMS_Set_AOI_Parameter IMS_Start_Acquire IMS_Stop_Acquire IMS_Register_Callback Check Camera AOI setting IMS_ScanCamera IMS_InitCamera IMS_Get_AOI_Parameter...
Page 50
External trigger setting for camera acquisition IMS_ScanCamera IMS_InitCamera IMS_Set_Trigger IMS_Register_Callback IMS_Start_Acquire IMS_Stop_Acquire Camera acquisition by software trigger IMS_ScanCamera IMS_InitCamera IMS_Register_Callback IMS_Set_Trigger IMS_Start_Acquire IMS_Do_SWTrigger IMS_Stop_Acquire Enable camera test image IMS_ScanCamera IMS_InitCamera IMS_Enable_TestImage Camera digital input/output setting IMS_ScanCamera IMS_InitCamera IMS_Set_GPIOMode - 50 -...
Page 51
Check Camera digital input/output setting IMS_ScanCamera IMS_InitCamera IMS_Get_GPIOMode Write digital input/output control into camera IMS_ScanCamera IMS_InitCamera IMS_GPIO_Write Read digital input/output control status from camera IMS_ScanCamera IMS_InitCamera IMS_GPIO_Read Set strobe control IMS_ScanCamera IMS_InitCamera IMS_Set_Strobe Get strobe control IMS_ScanCamera IMS_InitCamera IMS_Get_Strobe...
Page 52
Set LUT (Lookup Table) into camera IMS_ScanCamera IMS_InitCamera IMS_Set_LUT Get LUT(Lookup Table) from camera IMS_ScanCamera IMS_InitCamera IMS_Get_LUT Write data into camera data flash (ex. Camera Configure file) IMS_ScanCamera IMS_InitCamera IMS_Write_DataFlash Read data from camera data flash IMS_ScanCamera IMS_InitCamera IMS_Read_DataFlash...
Page 53
Get the last error of camera IMS_ScanCamera IMS_InitCamera IMS_GetLastError AES project encrypted code write into the camera IMS_ScanCamera IMS_InitCamera IMS_Get_CameraInform AES_GET_REG IMS_Write_DataFlash - 53 -...
5.3 Camera Management IMS_ScanCamera Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_ScanCamera(U16* numCam) Visual Basic 6.0 IMS_ScanCamera (ByRef numCam As Integer) As Integer VC.NET 2005 short IMS_ScanCamera(IntPtr numCam) Description: This function scans all ICP DAS cameras in system. After scanning, the total number of numCam camera will be stored in Parameters:...
Page 55
IMS_InitCamera Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_InitCamera(I16 CamID) Visual Basic 6.0 IMS_InitCamera (ByVal CamID As Integer) As Integer VC.NET 2005 short IMS_InitCamera_SC(Int16 CamID) Description: This is Camera initialization function. It is required before configuration setting and image acquiring. Before calling this, You should call IMS_ScanCamera( ) first, to determine how many available cameras.
Page 56
IMS_InitCamera_SC Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: I16 __stdcall IMS_InitCamera_SC(I16 CamID) Visual Basic 6.0 IMS_InitCamera (ByVal CamID As Integer) As Integer VC.NET 2005 short IMS_InitCamera(Int16 CamID) Description: This is Camera initial function and after successfully initialized the camera, the configurations stored inside the data flash will be set into the Camera.
Page 57
CAM_State_0_NOT_SCANNED Camera not scanned. CAM_State_1_NOT_INIT Camera was scanned, but not initialized yet. CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 57 -...
Page 58
GetLastError Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_GetLastError(I16 CamID) Visual Basic 6.0 IMS_GetLastError (ByVal CamID As Integer) As Integer VC.NET 2005 short IMS_GetLastError(Int16 CamID) Description: When ever you get a RETURN_CHECK_LASTERROR in previous function call, use this to retrieve detail error information! Parameters: CamID...
Page 59
CAM_ERROR_PARAM_OUT_OF_RANGE Many parameters have been bounds, one of them has been exceeded. CAM_ERROR_FRAME_TIMEOUT This error indicated that the timeout has expired and no frame is ready. CAM_ERROR_FEATURE_UNAVAILABLE This error indicated that feature is not available. CAM_ERROR_SW_TRIGGER_NOT_SET This error indicated that the software trigger function is not correctly set.
Page 60
IMS_CloseCamera Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_CloseCamera(I16 CamID) Visual Basic 6.0 IMS_CloseCamera (ByVal CamID As Integer) As Integer VC.NET 2005 short IMS_CloseCamera(Int16 CamID) Description: This is Camera closing function. Before calling this function, you must stop the image acquiring first. After calling this, you may remove the CamID specified camera from 1394 bus.
Page 61
IMS_Check_BusRate Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Check_BusRate(I16 CamID, U16* BusRate) Visual Basic 6.0 IMS_Check_BusRate (ByVal CamID As Integer, ByRef BusRate As Integer) As Integer VC.NET 2005 short IMS_Check_BusRate(Int16 CamID, IntPtr BusRate) Description: This function is used to check current IEEE 1394 bus rate. Parameters: The ID of Camera to be initialized.
5.4 Callback Event IMS_Register_Callback Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Register_CallBack(I16 CamID, void* UserData, void (__stdcall *CallBackRoutine)(I16 CamID, U8* pBuffer, U32 size, void* UserData, U8 TimeOutFlag)) Visual Basic 6.0 IMS_Register_CallBack (ByVal CamID As Integer, ByVal UserData As Long, ByVal CallBackRoutine As Long) As Integer VC.NET 2005 short IMS_Register_CallBack(Int16 CamID, IntPtr UserData, Callback CallBackRoutine)
Page 63
CAM_State_1_NOT_INIT Camera was scanned, but not initialized yet. CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 63 -...
Page 64
CallbackRoutine Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall CallBackRoutine(I16 CamID, U8* pBuffer, U32 size, void* UserData, U8 TimeOutFlag) Visual Basic 6.0 (Callback.bas) CallBackRoutine(ByVal CamID As Integer, ByVal pFrameBuffer As Long, ByVal size As Long, ByVal UserData As Long, ByVal TimeOutFlag As Byte) VC.NET 2005 *Please refer to C# sample Description:...
5.5 Camera Acquisition IMS_Start_Acquire Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Start_Acquire(I16 CamID, U32 NumFrames, U32 TimeOut_ms) Visual Basic 6.0 IMS_Start_Acquire (ByVal CamID As Integer, ByVal NumFrames As Long, ByVal TimeOut_ms As Long) As Integer VC.NET 2005 short IMS_Start_Acquire(Int16 CamID, UInt32 NumFrames, UInt32 TimeOut_ms) Description: This function starts image acquiring process.
Page 66
Current Camera State: Camera State Description CAM_State_0_NOT_SCANNED Camera not scanned. CAM_State_1_NOT_INIT Camera was scanned, but not initialized yet. CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 66 -...
Page 67
IMS_Stop_Acquire Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Stop_Acquire(I16 CamID) Visual Basic 6.0 IMS_Stop_Acquire (ByVal CamID As Integer) As Integer VC.NET 2005 short IMS_Stop_Acquire(Int16 CamID) Description: This function will stop image acquiring process. After successfully stop Acquisition, the CallBackRoutine( ) won't be triggered any more. Parameters: CamID The ID of Camera to be initialized.
5.6 Camera Configuration IMS_Set_VideoMode Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_VideoMode(I16 CamID, U32 VideoMode) Visual Basic 6.0 IMS_Set_VideoMode (ByVal CamID As Integer, ByVal VideoMode As Long) As Integer VC.NET 2005 short IMS_Set_VideoMode(Int16 CamID, UInt32 VideoMode) Description: This function is used to set the video mode.
Page 69
Parameters: CamID The ID of Camera to be initialized. If IMS_ScanCamera( ) reports 3 available cameras, then valid camera ID are 0,1, and 2 VideoMode The target video mode to set Return: RETURN_SUCCESSFUL Successfully RETURN_UNAVAILABLE The CamID is invalid or this function is not available in Current Camera State.
Page 70
IMS_Get_VideoResolution Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_VideoResolution(I16 CamID, U32 *Width, U32 *Height) Visual Basic 6.0 IMS_Get_VideoResolution (ByVal CamID As Integer, ByRef Width As Long, ByRef Height As Long) As Integer VC.NET 2005 short IMS_Get_VideoResolution(Int16 CamID, IntPtr Width, IntPtr Height) Description: This function is used to get the video dimension, width and height Parameters:...
Page 71
IMS_Get_ColorFormat Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_ColorFormat(I16 CamID, U32 *Color) Visual Basic 6.0 IMS_Get_ColorFormat (ByVal CamID As Integer, ByRef Color As Long) As Integer VC.NET 2005 short IMS_Get_ColorFormat(Int16 CamID, IntPtr Color) Description: This function is used to get the video color format If successfully returned, the Color will be filled the color format information.
Page 72
IMS_Set_AOI_Parameter Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_AOI_Parameter(I16 CamID, U32 Color, F32 FrameRate, U16 Left, U16 Top, U16 Width, U16 Height) Visual Basic 6.0 IMS_Set_AOI_Parameter (ByVal CamID As Integer, ByVal Color As Long, ByVal FrameRate As Single, ByVal Left As Integer, ByVal Top As Integer, ByVal Width As Integer, ByVal Height As Integer) As Integer VC.NET 2005 short IMS_Set_AOI_Parameter(Int16 CamID, UInt32 Color, Single FrameRate, UInt16 Left, UInt16...
Page 73
Parameters: CamID The ID of Camera to be initialized. If IMS_ScanCamera( ) reports 3 available cameras, then valid camera ID are 0,1, and 2 The video Color format: VM_MONO8, VM_MONO16 or VM_RGB. Color Target Frame rate in FPS, for example: 15.0 FrameRate Left AOI starting X position...
Page 74
IMS_Get_AOI_Parameter Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_AOI_Parameter(I16 CamID, U32 *Color, F32 *FrameRate, U16 *Left, U16 *Top, U16 *Width, U16 *Height) Visual Basic 6.0 IMS_Get_AOI_Parameter (ByVal CamID As Integer, ByRef Color As Long, ByRef FrameRate As Single, ByRef Left As Integer, ByRef Top As Integer, ByRef Width As Integer, ByRef Height As Integer) As Integer VC.NET 2005 short IMS_Get_AOI_Parameter(Int16 CamID, IntPtr Color, IntPtr FrameRate, IntPtr Left, IntPtr Top,...
Page 75
CAM_State_1_NOT_INIT Camera was scanned, but not initialized yet. CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 75 -...
Page 76
IMS_Set_Feature Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_Feature(I16 CamID, U32 FeatureID, F32 FeatureValue, bool FeatureOnOff) Visual Basic 6.0 IMS_Set_Feature (ByVal CamID As Integer, ByVal FeatureID As Long, ByVal FeatureValue As Single, ByVal FeatureOnOff As Boolean) As Integer VC.NET 2005 short IMS_Set_Feature(Int16 CamID, UInt32 FeatureID, Single FeatureValue, bool FeatureOnOff) Description:...
Page 77
Parameters: CamID The ID of Camera to be initialized. If IMS_ScanCamera( ) reports 3 available cameras, then valid camera ID are 0,1, and 2 The camera features FeatureID The value of feature to be set FeatureValue True: turn on this feature FeatureOnOff False: turn off this feature Return:...
Page 78
IMS_Get_Feature Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_Feature(I16 CamID, U32 FeatureID, F32 *FeatureValue, bool *FeatureOnOff) Visual Basic 6.0 IMS_Get_Feature (ByVal CamID As Integer, ByVal FeatureID As Long, ByRef FeatureValue As Single, ByRef FeatureOnOff As Boolean) As Integer VC.NET 2005 short IMS_Get_Feature(Int16 CamID, UInt32 FeatureID, IntPtr FeatureValue, IntPtr FeatureOnOff) Description:...
Page 79
RETURN_CHECK_LASTERROR Some error occurs, please call IMS_GetLastError( ) retrieve the error code Current Camera State: Camera State Description CAM_State_0_NOT_SCANNED Camera not scanned. CAM_State_1_NOT_INIT Camera was scanned, but not initialized yet. CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 79 -...
5.7 Trigger Setting IMS_Set_Trigger Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_Trigger(I16 CamID, bool On_Off, U16 TriggerSource, U16 TriggerMode) Visual Basic 6.0 IMS_Set_Trigger (ByVal CamID As Integer, ByVal on_off As Boolean, ByVal TriggerSource As Integer, ByVal TriggerMode As Integer) As Integer VC.NET 2005 short IMS_Set_Trigger(Int16 CamID, bool On_Off, UInt16 TriggerSource, UInt16 TriggerMode) Description:...
Page 81
Specify the trigger mode. 0 for Standard External Trigger Mode, 1 for Bulb Shutter TriggerMode mode. Return: RETURN_SUCCESSFUL Successfully RETURN_UNAVAILABLE The CamID is invalid or this function is not available in Current Camera State. RETURN_CHECK_LASTERROR Some error occurs, please call IMS_GetLastError( ) retrieve the error code Current Camera State:...
Page 82
IMS_Get_Trigger Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_Trigger(I16 CamID, bool *On_Off, U16 *TriggerSource, U16 *TriggerMode) Visual Basic 6.0 IMS_Get_Trigger (ByVal CamID As Integer, ByRef on_off As Boolean, ByRef TriggerSource As Integer, ByRef TriggerMode As Integer) As Integer VC.NET 2005 short IMS_Get_Trigger(Int16 CamID, IntPtr On_Off, IntPtr TriggerSource, IntPtr TriggerMode) Description:...
Page 83
IMS_Do_SWTrigger Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Do_SWTrigger(I16 CamID) Visual Basic 6.0 IMS_Do_SWTrigger (ByVal CamID As Integer) As Integer VC.NET 2005 short IMS_Do_SWTrigger(Int16 CamID) Description: This function is used to generate a software asynchronous trigger. Please refer to IMS_Set_Trigger( ). This call only works when TriggerSource is set to 15. You still need to successfully call IMS_Start_Acquire( ) before IMS_Do_SWTrigger( ).
5.8 GPIO Control IMS_Set_GPIOMode Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_GPIOMode(I16 CamID, U16 Channel, U16 Mode) Visual Basic 6.0 IMS_Set_GPIOMode (ByVal CamID As Integer, ByVal Channel As Integer, ByVal Mode As Integer) As Integer VC.NET 2005 short IMS_Set_GPIOMode(Int16 CamID, UInt16 Channel, UInt16 Mode) Description: This function is used to set the GPIO mode.
Page 85
CAM_State_1_NOT_INIT Camera was scanned, but not initialized yet. CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 85 -...
Page 86
IMS_Get_GPIOMode Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_GPIOMode(I16 CamID, U16 Channel, U16 *Mode) Visual Basic 6.0 IMS_Get_GPIOMode (ByVal CamID As Integer, ByVal Channel As Integer, ByRef Mode As Integer) As Integer VC.NET 2005 short IMS_Get_GPIOMode(Int16 CamID, UInt16 Channel, IntPtr Mode) Description: This function is used to get current GPIO mode setting for specified Channel.
Page 87
IMS_GPIO_Read Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_GPIO_Read(I16 CamID, U16 Channel, bool *Value) Visual Basic 6.0 IMS_GPIO_Read (ByVal CamID As Integer, ByVal Channel As Integer, ByRef value As Boolean) As Integer VC.NET 2005 short IMS_GPIO_Read(Int16 CamID, UInt16 Channel, IntPtr Value) Description: When GPIO 1~3 is set as general purposed input or output mode, you can use this function to read its value.
Page 88
IMS_GPIO_Write Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_GPIO_Write(I16 CamID, U16 Channel, bool Value) Visual Basic 6.0 IMS_GPIO_Write (ByVal CamID As Integer, ByVal Channel As Integer, ByVal value As Boolean) As Integer VC.NET 2005 short IMS_GPIO_Write(Int16 CamID, UInt16 Channel, bool Value) Description: When GPIO 1~3 is set as general purposed output mode, you can use this function to set its value.
5.9 Strobe Control IMS_Set_Strobe Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_Strobe(I16 CamID, F32 Delay_ms, F32 Duration_ms) Visual Basic 6.0 IMS_Set_Strobe (ByVal CamID As Integer, ByVal Delay_ms As Single, ByVal Duration_ms As Single) As Integer VC.NET 2005 short IMS_Set_Strobe(Int16 CamID, Single Delay_ms, Single Duration_ms) Description: This function is used to set the Strobe parameter.
Page 90
CAM_State_2_INIT_NOT_ACQUIRING Camera was initialized, but not in acquiring CAM_State_3_ACQUIRING_IMAGE Camera is acquiring image - 90 -...
Page 91
IMS_Get_Strobe Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_Strobe(I16 CamID, F32 *Delay_ms, F32 *Duration_ms) Visual Basic 6.0 IMS_Get_Strobe (ByVal CamID As Integer, ByRef Delay_ms As Single, ByRef Duration_ms As Single) As Integer VC.NET 2005 short IMS_Get_Strobe(Int16 CamID, IntPtr Delay_ms, IntPtr Duration_ms) Description: This function is used to get current Strobe parameter.
5.10 Lookup Table Control IMS_Set_LUT Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Set_LUT(I16 CamID, char* LUT_FileName) Visual Basic 6.0 IMS_Set_LUT (ByVal CamID As Integer, ByVal LUT_FileName As String) As Integer VC.NET 2005 short IMS_Set_LUT(Int16 CamID, string LUT_FileName) Description: This function is used to set LUT (Look up Table).
Page 93
IMS_Get_LUT Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_LUT(I16 CamID, char* LUT_FileName) Visual Basic 6.0 IMS_Get_LUT (ByVal CamID As Integer, ByVal LUT_FileName As String) As Integer VC.NET 2005 short IMS_Get_LUT(Int16 CamID, string LUT_FileName) Description: This function is used to get current contents of LUT (Look up Table). The LUT_FileName specify the LUT file name, including path.
IMS_Read_DataFlash(Int16 CamID, UInt32 Address, IntPtr Data) Description: This function is used to read data flash value of Sparrow IMS camera. The Address specify the byte address of data flash to be read, range from 0x0 ~ 0xFFFF (total 64K)
Page 95
IMS_Write_DataFlash(Int16 CamID, UInt32 Address, Byte Data) Description: This function is used to write a byte value to data flash of Sparrow IMS camera. The Address specify the byte address of data flash to write, range from 0x0 ~ 0xFFFF (total 64K)
5.12 AES Project Encryption IMS_Get_CameraInform Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Get_CameraInform(I16 CamID, PCAM_INFO CamInfo) Visual Basic 6.0 IMS_Get_CameraInform (ByVal CamID As Integer, CamInfo As CAM_INFO) As Integer VC.NET 2005 short IMS_Get_CameraInform(Int16 CamID, ref CAM_INFO CamInfo) Description: This function is used to get camera model name and unique serial number.
Page 97
AES_GET_REG Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall AES_GET_REG(char raw[16],char AES_Key[16],char Encrypted[16]) Visual Basic 6.0 AES_GET_REG (ByVal raw As Variant, ByVal AES_Key As Variant, ByVal Encrypted As Variant) As Long VC.NET 2005 long AES_GET_REG(Byte[] raw, Byte[] AES_Key, IntPtr Encrypted) Description: This function is used compute AES encryption SN code.
5.13 Test Pattern IMS_Enable_TestImage Syntax: Visual C++ 6.0 / Boland C++ Builder 6.0: stdcall IMS_Enable_TestImage(I16 CamID, bool On_Off) Visual Basic 6.0 IMS_Enable_TestImage (ByVal CamID As Integer, ByVal on_off As Boolean) As Integer VC.NET 2005 short IMS_Enable_TestImage(Int16 CamID, bool On_Off) Description: This function is to enable or disable the test pattern output Parameters: CamID...
Appendix 7.1 Standards Compliance For customers in the U.S.A. This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment.
7.2 Glossary AOI is means the area of interest. A user-defined, rectangular area (a square is common) on a CCD that is exposed and processed as an image. For image processing field, the AOI also means a user-defined area for inspection or measurement application for saving system images processing time.
Page 103
Gain is the level of amplification of a signal. The Gain affects image sharpness sensed by the naked eye. When gain is increased in an image, one must also take into consideration the addition of significant “noise”. Pixel Size - Most CCD and CMOS imagers consist of picture elements dubbed "pixels".
7.3 Revision History Revision Revision Date Change Description 2010/7/15 Add default values of camera features. Add an additional remark for EzView_Pro. - 104 -...
Warranty Policy ICP DAS supplies a one year warranty period for the Sparrow IMS IEEE 1394 camera, however there certain instances of limited of warranty situations, whereby ICP DAS will not take any responsibility in the following cases: When user open camera housing then warranty will void immediately.
ICP DAS Worldwide Headquarters USA Branch Office ICP DAS CO., LTD. ICP DAS USA, Inc. No.111, Kuangfu N. Rd., Hukou Shiang, 2531 West 237th Street, Suite 121 Hsinchu Hsien, Taiwan 303, R.O.C Torrance, CA 90505, USA TEL: +886-3-597-3366 TEL: 1-310-517-9888 FAX: +886-3-597-3733 FAX: 1-310-517-0998 service@icpdas.com...
Need help?
Do you have a question about the IMS-130 and is the answer not in the manual?
Questions and answers