MVTec Software GmbH
  Building Vision For Business
Halcon

HALCON 6.1 Frame Grabber Interface for Allied Vision Technologies/Intek FirePackage Driver

This page provides the documentation of the HALCON FirePackage interface for the Allied Vision Technologies/Intek FirePackage driver. With this interface you can acquire images from IEEE 1394 cameras via any IEEE 1394 adapter cards (PCILynx or OHCI). Registered customers can download the latest revision of this interface from the MVTec WWW server.

Revision: 2.4

System Requirements

  • Intel compatible PC with Windows NT 4.0 (Service Pack 5), Windows 2000 or Windows XP and IEEE 1394 adapter card (PCILynx or OHCI).
  • HALCON frame grabber interface HFGFirePackage.dll or parHFGFirePackage.dll, respectively.
    If you have properly installed the interface, both DLLs should reside in bin\i586-nt4 within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.
  • Successfully installed FireDrv.sys driver (version 1.0.2.1 or higher). If you do not have this file, you can download the FirePackage driver from http://www.alliedvisiontec.com.
  • Wrapper DLL FireCtrl.dll (version 1.8.0.9 or higher). This DLL together with an appropriate license file License.txt must be located together in one directory within the system path %PATH%, e.g., C:\Windows\System32. In order to access IEEE 1394 cameras from Allied Vision Technologies properly, the file License.txt must contain the key 1EEAF9B450220075!
    Note that after the installation of the FirePackage driver the files FireCtrl.dll and License.txt files can be found in the directory [Legacy\]FireCtrl\Lib within the FirePackage directory.

Features

  • Supports IEEE 1394-based digital camera compliant to the IIDC 1.30, such as the Dolphin, Marlin, and Oscar camera series from Allied Vision Technologies.
  • Synchronous and asynchronous grabbing.
  • External camera triggering.
  • Provides color space transformation.
  • Subsampling (by specifying the corresponding video mode).
  • Support of video format 7 (partial scan).
  • Software control of a variety of camera parameters.
  • Simultanuous acquisition triggered by a software-driven broadcast command to all cameras.
  • Listen-only functionality to use the deferred transport capability of AVT cameras.

Limitations

  • Supports up to three cameras per board and up to four boards.
  • Hot plugging is not supported. Be aware that due to a bus reset the same camera can appear with another number respectively at another port in the frame grabber interface!
  • grab_region and grab_region_async not supported.
  • No LUTs.

Description

Parameters for open_framegrabber():

Name 'FirePackage' The name of the HALCON frame grabber interface.
HorizontalResolution --- Ignored.
VerticalResolution --- Ignored.
ImageWidth -1, 0, min ... max Sets the width of the desired image part if Format_7 is specified in the parameter CameraType. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). min equals the step width whereas max equals the maximum image width. -1 means to adopt the camera setting, 0 means to specify the maximum image width. Default: -1.
ImageHeight -1, 0, min ... max Sets the height of the desired image part if Format_7 is specified in the parameter CameraType. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). min equals the step width whereas max equals the maximum image height. -1 means to adopt the camera setting, 0 means to specify the maximum image height. Default: -1.
StartRow -1, 0 ... max The row coordinate of the upper left pixel of the desired image part if Format_7 is set. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). max equals the maximum image height minus the step width; -1 means to adopt the camera setting. Default: -1.
StartColumn -1, 0 ... max The column coordinate of the upper left pixel of the desired image part if Format_7 is set. The passed value gets rounded to fit the step width restriction of this parameter (which depends on the camera). max equals the maximum image width minus the step width; -1 means to adopt the camera setting. Default: -1. Ignored.
Field --- Ignored.
BitsPerChannel --- Ignored.
ColorSpace 'gray', 'rgb', 'yuv', 'default' Color space of the resulting HALCON image. 'default' means to adopt the supplied camera color space. Default: 'default'.
Gain --- Ignored.
ExternalTrigger 'true', 'false' Activate/deactivate external triggering. Default: 'false'.
CameraType 'format:mode:fps[:iso_control]',
'7:mode:busload_percentage[:iso_control]', 'default'
Specify the desired video settings as a string consisting of the video format (0,1,2 or 7), the video mode (0,1,2,3,4,5,6,7), and the frame rate (0,1,2,3,4,5 or 1.875,3.75,7.5,15.0,30.0,60.0, respectively), separated by colons. If video format is set to 7, the third parameter specifies not the frame rate, but the busload in percent (of 4096 bytes per packet). 'default' means to adopt the supplied video settings of the camera and the ISO transfer will be enabled. Default: 'default'.
Optionally, a fourth parameter can be appended specifythe type of image acquisition (one_shot, multi_shot, continuous_shot or listen_only).
Device 'card_number[:speed]' The number of the used IEEE 1394 adapter card (passed as a string!). Default: '0'.
An optional parameter separated by colons can be used to adjust the speed (100, 200 or 400) of the IEEE 1394 interface for the device opening (e.g., '0:200'). This speed can differ between cameras on the same card depending on the physical interface which is used.
Port 0, 1, ... The number of the camera found on the IEEE 1394 bus. Default: 0 (searches for the first camera).
LineIn -1, 0, 1, ... Number of ISO channel used for transmission. -1 means the ISO channel number equals the port number. Default: -1.

Parameters for set_framegrabber_param():

Note that most of the following parameters (and also the valid parameter values!) depend on the capabilities of the used camera.

Many parameters (like 'exposure' and 'brightness') can be set by either a valid integer value or by specifying one of the following strings:

  • 'auto' means that the camera controls the value automatically by itself
  • 'manual' disables the automatic control mode
  • 'one_push' means that the camera controls the value automatically by itself only once and returns to manual control mode
  • 'off' fixes the specified value
  • 'on' enables the changing of the specified value
You can request the valid minimal and maximal integer values as well as valid optional string values by calling get_framegrabber_param(...,'parameter_name_range',...) Note that the default values of most of the following parameters depend on the current camera settings!

'acquisition_mode' 'continuous_shot', 'one_shot', 'multi_shot', 'listen_only' Defines the way the camera is requested to acquire images:
  • 'continuous_shot': For each image the ISO transmission is enabled and disabled by camera control register 0x614h.
  • 'one_shot': The image is requested via the one shot feature if available (refer to camera control register 0x61Ch).
  • 'multi_shot': The image sequence is requested via the multi shot feature if available (refer to camera control register 0x61Ch). The number of images is given via the 'num_multi_shot' parameter.
  • 'listen_only': Requests the frame grabber interface to listen at the ISO channel selected at open_framegrabber.
'async_speed' 100, 200, 400 Speed for asynchronous communication of the IEEE 1394 interface.
'brightness' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the brightness value of the camera. If the used camera does not support brightness adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'camera_type' 'format:mode:fps' Specify the desired video settings as a string consisting of the video format (0,1,2), the video mode (0,1,2,3,4,5,6,7), and the frame rate (0,1,2,3,4,5 or 1.875,3.75,7.5,15.0,30.0,60.0, respectively), separated by colons.
'ccr_offset' offset Offset to the base address of the camera register space 0xFFFF F0000000. Note that while setting this parameter the value can also be specified as a string parameter.
'ccr_quadlet' 0x000000000 ... 0x7FFFFFFFF Quadlet which will be sent or received to/from the address given by the 'ccr_offset' parameter. Note that while setting this parameter the value can also be specified as a string parameter, thus, enabling values greater than 0x7FFFFFFF.
'color_space' 'gray', 'rgb', 'yuv', 'default' Color space of the resulting HALCON image. 'default' means to adopt the supplied video settings of the camera. Default: 'default'.
'continuous_grabbing' 'enable', 'disable' Start/stop of the isochronous transmission of video data: 'enable' starts the camera to yield a continuous video stream whereas 'disable' stops it. In contrast to single frame transmission, the isochronous transmission channel is initialized only once before the camera is set to run mode. This mode yields rate benefits while transmitting frame sequences. Notice that grab_image_start and grab_image_async take advantage of the isochronous transmission mode and start the camera by default, whereas grab_image stops it and transfers frames in single transmission mode.
Default: 'disable'.
'exposure' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the auto exposure value of the camera. If the used camera does not support exposure adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'external_trigger' 'true', 'false' Enables/disables the trigger mode. Be aware of the settings your camera supplies.
'focus' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the focus value of the camera. If the used camera does not support focus adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'frame_rate' 0, 1, 2, 3, 4, 5
1.875, 3.75, 7.5, 15.0, 30.0, 60.0
Sets the desired frame rate either as integer as determined in the IEEE 1394-based digital camera specification or as float in frames per second. Be aware of the settings your camera supplies. Note that you have to call set_framegrabber_param(...,'do_set_video_settings',...) before the new settings take effect.
'gamma' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the gamma value of the camera. If the used camera does not support gamma adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'grab_timeout' msec Specify the desired timeout (milliseconds passed as a long) for aborting a pending grab. -1 means to abort never. Default: 5000.
'hue' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the hue value of the camera. If the used camera does not support hue adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'image_height' -1, height Sets the height of the image when operating in Format_7. -1 specifies the maximal image height.
'image_width' -1, width Sets the width of the image when operating in Format_7. -1 specifies the maximal image width.
'iris' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the iris value of the camera. If the used camera does not support iris adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'num_buffers' 1 ... 32767 Number of buffers used for image acquisition. Default: 5.
'num_multi_shot' 1 ... 65535 Number of images that will be acquired by multi shot acquisition.
'saturation' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the saturation value of the camera. If the used camera does not support saturation adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'sharpness' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the sharpness value of the camera. If the used camera does not support sharpness adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'shutter' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the shutter value of the camera. If the used camera does not support shutter adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'start_column' column Sets the column coordinate of the upper left corner of the image part when operating in Format_7.
'start_row' row Sets the row coordinate of the upper left corner of the image part when operating in Format_7.
'trigger_mode' 0, 1, 2, 3
'shutter', 'pulse_width', 'n_pulses', 'shutter_n_frames'
Sets the trigger mode either as integer as defined in the IEEE 1394-based digital camera specification or as corresponding string:
  • 0, 'shutter': Integration time is described by shutter parameter.
  • 1, 'pulse_width': Integration time is equal to the pulse width of the external trigger input.
  • 2, 'n_pulses': Integration stops after n external trigger events, see also 'trigger_parameter'.
  • 3, 'shutter_n_frames': Camera will issue trigger internally and cycle time is a multiple of the cycle time of the fastest frame rate (n>0!), see also 'trigger_parameter'; integration time is described by shutter parameter.
'trigger_parameter' number Sets the trigger parameter needed by the trigger modes 2 and 3: In trigger mode 2 ('n_pulses') it specifies the number of trigger input events which define the integration time (n>1!). In trigger mode 3 ('shutter_n_frames') it defines the cycle time as multiple of the cycle time of the fastest frame rate (n>0!). See IEEE 1394-based digital camera specification for further information.
'trigger_signal' 'rising', 'falling' Sets the trigger polarity and distinguishes whereas the rising or falling edge triggers the camera. Be aware of the settings your camera supplies.
'ub' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the ub value of the camera. If the used camera does not support ub adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'video_format' 0 ... 2 Sets the desired video format determined in the IEEE 1394-based digital camera specification. Be aware of the settings your camera supplies. Note that you have to call set_framegrabber_param(...,'do_set_video_settings',...) before the new settings take effect.
'video_gain' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the gain value of the camera. If the used camera does not support gain adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'video_mode' 0 ... 7 Sets the desired video mode determined in the IEEE 1394-based digital camera specification. Be aware of the settings your camera supplies. Note that you have to call set_framegrabber_param(...,'do_set_video_settings',...) before the new settings take effect.
'vr' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the vr value of the camera. If the used camera does not support vr adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'zoom' min ... max,
'auto', 'manual', 'one_push', 'on', 'off'
Sets the zoom value of the camera. If the used camera does not support zoom adjustment, H_ERR_FGPARAM is returned (or an empty tuple in the corresponding call to get_framegrabber_param, respectively).
'do_load_from_memory_channel' 0 ... 15 Loads camera settings from the specified memory channel (1 - 15) or reloads factory settings (0). Be aware of the settings your camera supplies.
'do_multi_shot' 'this_camera', 'all_cameras' By specifying 'this_camera' the associated camera performs an acquisition using the multi shot capability. 'all_cameras' sends the multi shot command to all cameras on this bus.
'do_one_shot' 'this_camera', 'all_cameras' By specifying 'this_camera' the associated camera performs an acquisition using the one shot capability. 'all_cameras' sends the one shot command to all cameras on this bus.
'do_reset_camera' --- Resets the camera and puts its configurations to the manufacturer's default settings.
'do_save_to_memory_channel' 1 ... 15 Stores the current camera settings to the specified memory channel. Be aware of the settings your camera supplies.
'do_set_video_settings' --- Calculates payload and number of ISO packets, and reconfigures the FirePackage driver. Has to be called after changing 'video_format', 'video_mode' and 'frame_rate'.

Parameters for get_framegrabber_param():

Additional parameters supported by get_framegrabber_param only. Note that all parameters supported by set_framegrabber_param except the ones with prefix 'do_' can also be accessed by get_framegrabber_param.

'brightness_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for brightness. If the used camera supports optional values like automatic brightness adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support brightness adjustment, an empty tuple is returned.
'camera_capabilities' [format,mode,fps,width,height,colorformat, ...] Returns a tuple of numbers that contains information about the available standard settings of this camera. A section of six numbers holds the VideoFormat, VideoMode, FrameRate, Width, Height, and Camera color format.
'camera_model' model_name (string) Returns the name of the camera model.
'camera_type_values' ['format:mode:fps/busload_pecentage', ...] Returns a tuple that contains available strings for the CameraType parameter of open_framegrabber.
'camera_vendor' vendor_name (string) Returns the name of the camera vendor.
'exposure_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for exposure. If the used camera supports optional values like automatic exposure adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support exposure adjustment, an empty tuple is returned.
'focus_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for focus. If the used camera supports optional values like automatic focus adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support focus adjustment, an empty tuple is returned.
'gamma_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for gamma. If the used camera supports optional values like automatic gamma adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support gamma adjustment, an empty tuple is returned.
'hue_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for hue. If the used camera supports optional values like automatic hue adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support hue adjustment, an empty tuple is returned.
'image_height_range' [min (long), max (long), step (long), current_value (long)] Possible range for the 'image_height' parameter. The four elements contain the minimal and maximal settable image height, the step width, and the current image height value.
'image_width_range' [min (long), max (long), step (long), current_value (long)] Possible range for the 'image_width' parameter. The four elements contain the minimal and maximal settable image width, the step width, and the current image width value.
'iris_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for iris. If the used camera supports optional values like automatic iris adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support iris adjustment, an empty tuple is returned.
'revision' revision (string) The revision number of the HALCON FirePackage interface.
'saturation_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for saturation. If the used camera supports optional values like automatic saturation adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support saturation adjustment, an empty tuple is returned.
'sharpness_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for sharpness. If the used camera supports optional values like automatic sharpness adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support sharpness adjustment, an empty tuple is returned.
'shutter_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for shutter. If the used camera supports optional values like automatic shutter adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support shutter adjustment, an empty tuple is returned.
'ub_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for ub. If the used camera supports optional values like automatic ub adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support ub adjustment, an empty tuple is returned.
'video_gain_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for gain. If the used camera supports optional values like automatic gain adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support gain adjustment, an empty tuple is returned.
'vr_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for vr. If the used camera supports optional values like automatic vr adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support vr adjustment, an empty tuple is returned.
'zoom_range' [min (long), max (long), step (long), default (long), <'auto'>, <'manual'>, <'on_off'>, <'one_push'>] Possible range for zoom. If the used camera supports optional values like automatic zoom adjustment, these values are given in the return tuple starting with the fifth element; otherwise it contains only four elements. If the camera does not support zoom adjustment, an empty tuple is returned.

Release Notes

  • Revision 2.4 (Jul 10, 2005):
    • New parameters 'num_multi_shot' and 'do_multi_shot' for configuring and triggering of the multishot functionality. The existing parameter 'num_shots' has been renamed into 'num_buffers' to avoid confusion with the parameter 'num_multi_shot'. The documentation of 'num_buffers' has been clarified.
    • Allow setting of offset and register values in string notation.
    • New parameters 'image_height', 'image_width', 'start_column', and 'start_row' to change the image part in Format_7 dynamically.
    • Speed-up for acquisition of RGB images (avoiding cache alignment failures when converting the interleaved image data into HALCON image objects).
    • Bugfix in handling grab timeout parameter (when calling grab_image_start the value was reset to 5000).
  • Revision 2.3 (Apr 4, 2005):
    • Support of video format 7 (partial scan).
    • Support of pre-licensed AVT cameras (FirePackage 1.5.1 or higher).
    • Acquisition from basic parameter of configuration ROM is corrected for all (camera) implementations
    • Faulty packet count acquisition is fixed.
    • Device/camera enumeration corrected.
    • Check of DLL compatibility gives detailed low-level error message.
    • info_framegrabber with 'info_boards' now returns information about the actually found camera (device, port, camera vendor and model, SN).
    • An optional value within the CameraType parameter in open_framegrabber allows configuration of the camera acquisition setting (one_shot/multi_shot/continuous_shot) and in addition a 'listen_only' mode. This enables the frame grabber to listen asynchronously for images at a specified ISO channel.
    • New parameters 'acquisition_mode', 'num_shots', and 'do_one_shot'.
    • New parameters 'ccr_offset' and 'ccr_quadlet' to access the camera register space.
    • The speed of the IEEE 1394 interface can be specified either in the Device parameter of open_framegrabber or with the parameter 'async_speed'.
    • New parameters 'image_width_range', 'image_height_range', 'camera_type_values', and 'camera_capabilities'.
    • Support of 16 bit image formats.
    • The interface is now multi-host capable: More than one host computer on the same IEEE 1394 bus can access the cameras in a shared manner.
  • Revision 2.2 (Oct 7, 2002):
    • Parameter 'gain' renamed into 'video_gain' due to the naming conflict with the standard gain parameter of the HALCON frame grabber integration interface.
    • New parameters with suffix '_range' added for get_framegrabber_param. These parameters are especially helpful when working with ActivVisionTools 2.1. The corresponding old '_min_value' and '_max_value' parameters are still usable for backward compatibility reasons.
    • set_framegrabber_param returns now an error (H_ERR_FGPARAM) if the selected parameter is not supported by the used camera.
    • get_framegrabber_param returns now an empty tuple as value if the requested parameter is not supported by the used camera.
    • get_framegrabber_param('trigger_mode') returns now the current trigger mode as a string instead of an integer.
  • Revision 2.1 (Aug 19, 2002):
    • Support of OHCI IEEE-1394 adapter cards.
    • Support of up to 8 isochronous channels and 4 cameras per board.
  • Revision 2.0 (Feb 25, 2002):
    • HALCON 6.1 version of the interface (included in HALCON 6.1 CD).
    • First official release.

© Copyright 2012, MVTec Software GmbH, corporate/legal/privacy information