interfaces mvtec

Dokumentation

Image Acquisition Interface for Matrox Morphis, Radient, Solios, and Vio Boards

Interface: MILLite
Revision: 13.0.1
Date: 2016-10-28
HALCON Version: 13.0

General

This page provides the documentation of the HALCON MILLite interface for the Matrox Morphis, Radient, Solios, and Vio frame grabber boards. Registered customers can download the latest revision of this interface from the MVTec WWW server.

System Requirements

  • Intel compatible PC with Windows 7 (32-bit or 64-bit) or newer that is also supported by the vendor-specific SDK, also WoW64 (using 32-bit HALCON on 64-bit Windows).
  • Successfully installed Matrox board driver.
  • Matrox DLLs mil.dll, milmet2.dll, milsolios.dll.
    These DLLs must be within your search path %PATH% (typically, they reside in the directory C:\Windows\system32). If you do not have these DLLs, please contact Matrox or the vendor from which you bought the frame grabber board. Note that this interface requires the Matrox DLLs version 10.0, i.e., MIL-Lite 10.0..
  • HALCON image acquisition interface hAcqMILLite.dll or hAcqMILLitexl.dll, respectively.
    If you have properly installed the interface, both DLLs should reside in bin\%HALCONARCH% within the HALCON base directory %HALCONROOT% you have chosen during the installation of HALCON.

Features

  • Support of Morphis, Radient eV-CL, Radient eV-CLHS, Radient eV-CXP Solios eA/XA, Solios eCL/XCL, Solios eCL/XCL-B, Solios eV-CL, and Vio frame grabber boards.
  • Synchronous and asynchronous grabbing.
  • External trigger (with software override of the camera configuration file).
  • Support of multiple analog and digital cameras based on camera configuration files.
  • Support of user-specific callback functions.

Limitations

  • No support of Solios GigE boards.
  • No support of onboard image preprocessing capabilities.
  • No support of JPEG and JPEG2000 video compression.
  • No support of GenICam user callbacks.
  • No support of setting special register GenICam parameters.

Parameters for info_framegrabber

Parameter Value List Type Kind Description
'bits_per_channel' [] Ignored.
'camera_type' ['CAMFILE:', 'dcf', <camera_path> 'M_CCIR', 'M_CCIR_VIA_RGB', 'M_DEFAULT', 'M_NTSC', 'M_NTSC_RGB', 'M_NTSC_YC', 'M_PAL', 'M_PAL_RGB', 'M_PAL_YC', 'M_RS170', 'M_RS170_VIA_RGB'] string pre-defined Syntax for camera configuration file and possible values for camera type.
'color_space' ['gray', 'rgb'] string pre-defined Values for color space.
'defaults' [1, 1, 0, 0, 0, 0, 'interlaced', 8, 'gray', -1.0, 'false', 'M_DEFAULT', '0', -1, 0] mixed pre-defined Default values for open_framegrabber.
'device' ['<BoardType>:<nr>[:DIG:<nr>]'] string pre-defined Type ( 'MORPHIS', 'RADIENT', 'SOLIOS', or 'VIO') and number ('0', '1', '2' ...) of the frame grabber board, optionally plus ':DIG:' and the number ('0', '1', '2' ...) of the independent digitizer (passed as one string!), e.g., 'SOLIOS:0'. If no digitizer is specified, the first digitizer (i.e., number '0') is chosen. The installed boards can be inquired calling info_framegrabber(..., 'info_boards', ...).
'external_trigger' ['false', 'true'] string pre-defined Values for the external trigger.
'field' [] Unused.
'general' [] string pre-defined Information about the HALCON MILLite interface.
'generic' ['', 'num_buffers=<num>'] string pre-defined Value list for the Generic parameter.
'horizontal_resolution' 1 integer pre-defined Value list for horizontal resolution.
'image_height' [] Unsupported query.
'image_width' [] Unsupported query.
'info_boards' ['<BoardType>:<nr>[:DIG:<nr>]'] string dynamic A list of the available devices.
'parameters' [] string pre-defined Ignored
'parameters_readonly' [] string pre-defined Ignored
'parameters_writeonly' [] string pre-defined Ignored
'port' [] pre-defined Unused.
'revision' '<revision>' string pre-defined Revision number of the MILLite interface.
'start_column' [] Unsupported query.
'start_row' [] Unsupported query.
'vertical_resolution' 1 integer pre-defined Value list for vertical resolution.

Parameters for open_framegrabber

Parameter Values Default Type Description
Name 'MILLite' string Name of the HALCON interface.
HorizontalResolution --- 1 Ignored.
VerticalResolution --- 1 Ignored.
ImageWidth 0, <width> 0 The width of the desired image part ('0' stands for the complete image). Default: 0.
ImageHeight 0, <height> 0 The height of the desired image part ('0' stands for the complete image). Default: 0.
StartRow 0, <row> 0 The row coordinate of the upper left pixel within the desired image part ('0' obviously results in delivering the complete image). Default: 0.
StartColumn 0, <column> 0 The column coordinate of the upper left pixel within the desired 0 image part ('0' obviously results in delivering the complete image). Default: 0.
Field --- Ignored.
BitsPerChannel --- Ignored.
ColorSpace 'gray', 'rgb' 'gray' string Desired color space and thus the number of image channels of the resulting HALCON image.
Generic '', 'num_buffers=<num>', -1 -1 mixed With the Generic parameter 'num_buffers' the current number of image buffers used in the HALCON acquisition interface can be set before the camera is initialized. Note that the parameter must be specified as a string, e.g., 'num_buffers=5'. The specified value for num_buffers has to be a positive integer (Default: 2). Note that depending on the image size of the used camera a high number of buffers can exceed the available memory size of your computer, see also the non-paged memory size settings with the Matrox MILConfig configuration tool.
ExternalTrigger 'false', 'true' 'false' string Enable/disable external trigger.
CameraType '<configuration>' 'M_DEFAULT' string Specify the name (including the full path name) of the desired camera configuration file (e.g., 'c:\\MyFolder\\rs170.dcf') or a predefined configuration (e.g., 'M_DEFAULT', 'M_RS170'). For possible values, please see the documentation of your board.
Device '<BoardType>:<nr>[:DIG:<nr>]' '0' string Type ( 'MORPHIS', 'RADIENT', 'SOLIOS', or 'VIO') and number ('0', '1', '2' ...) of the frame grabber board, optionally plus ':DIG:' and the number ('0', '1', '2' ...) of the independent digitizer (passed as one string!), e.g., 'SOLIOS:0'. If no digitizer is specified, the first digitizer (i.e., number '0') is chosen. The installed boards can be inquired calling info_framegrabber(..., 'info_boards', ...).
Port <port> -1 integer Unused.
LineIn --- Ignored.

Parameters for set_framegrabber_param

The GenICam parameters are based on GenApi, so they can be different for each camera. A call of get_framegrabber_param(..., 'available_param_names', ...) returns a tuple containing all available parameters of the connected camera. To read e.g. the current gain of the camera AcqHandle refers to (after calling open_framegrabber), the user can call get_framegrabber_param(..., 'GainRaw', ...).
Additionally to the GenApi parameters of the camera, the following HALCON and GTL (GigE Vision Transport Layer) parameters are supported:
Parameter Values Default Type Description
'cc1_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string Assign a particular signal to Camera Link cc1 line.
'cc2_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string Assign a particular signal to Camera Link cc2 line.
'cc3_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string Assign a particular signal to Camera Link cc3 line.
'cc4_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string Assign a particular signal to Camera Link cc4 line.
'continuous_grabbing' 'disable', 'enable' 'disable' string Enables/disables the continuous grabbing mode. If the continuous grabbing mode is enabled, the camera grabs all the time. Note that in this mode the grab_image and grab_image_async calls will always deliver the most recent image! The continuous grabbing mode is not supported in combination with software trigger.
Note that in combination with the continuous grabbing mode you can exploit the specific Trigger Arm Characteristics settings which can be configured in the used DCF file, see also below for more information.
'current_buffer_index' 0 ... <num_buffers>-1 integer Index of the current image buffer.
'do_abort_grab' --- Cancel current grab.
'do_force_trigger' --- Forces an event trigger from the application, when using the external trigger. This might be useful for testing purposes. Note, that 'do_force_trigger' requires an already pending asynchronous grab. Please, see also the 'trigger_mode' parameter, to see how this action can be controlled.
'do_gpio_write:XX' 0, 1 integer Functional state of a specific GPIO line (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
'do_reset_rotary_counter' --- Resets the rotary counter to zero.
'exposure_time' <nanoseconds> integer Time (in nanoseconds) for the active portion of the exposure signal (that is, the exposure time). By specifying 0, exposure is disabled and the grab is performed immediately. Note, that an error is returned if the specified exposure time cannot be generated.
'exposure_time_delay' <nanoseconds> integer Delay (in nanoseconds) between the trigger and the start of exposure. Note, that an error is returned if the specified delay cannot be generated.
'external_trigger' 'false', 'true' string Enable/disable external trigger.
'gpio_format:XX' 'default', 'disable', 'enable', 'lvds', 'opto', 'tri-state', 'ttl' string Format of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
'gpio_mode:XX' 'default', 'input', 'output' string Controls the direction of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
'grab_timeout' <milliseconds> 5000 integer Desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to INFINITE.
'image_height' <height> integer Dynamically change the current image height of the grabbed image. Note that by changing this value, all active image grabs are cancelled.
'image_width' <width> integer Dynamically change the current image width of the grabbed image. Note that by changing this value, all active image grabs are cancelled.
'rotary_counter' 'false', 'true' 'false' string Activate/deactivate the rotary counter.
'rotary_counter_direction' 'backward', 'forward' 'forward' string Direction of the rotary counter, i.e. the rotary counter gets incremented for a value of 'forward', or decremented for a value of 'backward', respectively.
'rotary_counter_trigger_position' 0, ..., 65535 integer Rotary counter value upon which a trigger is generated.
'start_async_after_grab_async' 'disable', 'enable' 'enable' string By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. If the parameter 'start_async_after_grab_async' is set to 'disable', this new grab command is omitted.
'start_column' 0, <max_column> integer Sets the column coordinate of the upper left corner of the resulting HALCON image part.
'start_field' 'default', 'even', 'next', 'odd' 'default' string Specifies the field that the grabbing of a frame starts with.
  • 'even': the grabbing starts with the even field
  • 'odd': the grabbing starts with the odd field
  • 'next': the grabbing starts with the next field
  • 'default': the grabbing starts with the board-specific default.
For the actual default start field, please see the documentation of your Matrox frame grabber board.
'start_row' 0, <max_row> integer Sets the row coordinate of the upper left corner of the resulting HALCON image part.
'trigger_mode' 'software', 'exposure' string, integer The parameter 'trigger_mode' specifies the mode of the trigger signal released by the parameter 'do_force_trigger'. If the option 'software' is selected, a signal to trigger the grab of an image will be released. With the option 'exposure' an exposure trigger signal for the specified exposure timer will be released when calling parameter 'do_force_trigger'. It's also possible to pass an integer value in case that a special trigger mode should be used. For the supported integer values (defines), please have a look at the chapter 'MdigControl' in the MIL Help documentaion. Any mode that has to be enabled with 'M_ACTIVE' is supported.
'trigger_signal' 'default', 'falling', 'high', 'low', 'rising' string Defines the expected type of input trigger.
  • 'rising' ('falling'): requires the external trigger to go low (high) and high (low) again before the next image can be acquired
  • 'high' ('low'): an image can be acquired during the whole time the trigger is high (low).
  • 'default': specifies the trigger mode in the DCF file or, if none, 'rising'.
'trigger_source' 'default', 'hw_port_camera', 'hw_port0', ..., 'hw_port11', 'none', 'rotary_counter', 'software', 'timer1', 'timer2' string Defines the source of the input trigger. For details, please see the documentation of your frame grabber board.

Parameters for get_framegrabber_param

There may exist additional read-only parameters with the following postfixes:
  • '_access': These parameters provide the access permissions of the corresponding parameter as a string. Possible values are 'ro' (read-only), 'wo' (write-only), and 'rw' (read/write).
  • '_category': These parameters provide the category of the corresponding parameter as a string.
  • '_description': These parameters provide the tool-tip of the corresponding parameter as a string.
  • '_displayname': These parameters provide the displayname of the corresponding parameter as a string.
  • '_longdescription': These parameters provide the description of the corresponding parameter as a string.
  • '_range': These parameters provide the minimum, maximum, step width, and current values for the corresponding integer or float parameter as a tuple with 4 elements, e.g., get_framegrabber_param(.., 'Shutter_range', ..) will return the output tuple [min, max, step, current].
  • '_type': These parameters provide the type of the corresponding parameter as string.
  • '_values': These parameters provide the valid value list for the corresponding parameter as a tuple, e.g., get_framegrabber_param(.., 'volatile_values', ..) will return the output tuple ['enable', 'disable'].
  • '_visibility': These parameters provide the visibility of the corresponding parameter as a string. Possible values are 'beginner', 'expert', and 'guru'.

All these postfixed parameter names are not returned when calling info_framegrabber(.., 'parameters', ..) and are used to enable the easy parameterization via a generic graphical user interface, particularly the HDevelop Image Acquisition Assistant.

Parameter Values Default Type Kind Description
'available_param_descriptions' ['<parameters>'] string dynamic A list containing additional information about all parameters. The order of the entries is equal to the order of the parameter names returned by 'available_param_names'.
'available_param_names' ['<parameters>'] string dynamic The list contains the names of all available parameters.
'bits_per_channel' <default> 8 integer pre-defined The value is not used, so a default value is returned.
'board_type' <board_type> integer dynamic Current board type.
'camera_type' '<configuration>' 'M_DEFAULT' string pre-defined Current camera type.
'cc1_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string dynamic Assign a particular signal to Camera Link cc1 line.
'cc2_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string dynamic Assign a particular signal to Camera Link cc2 line.
'cc3_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string dynamic Assign a particular signal to Camera Link cc3 line.
'cc4_select' 'default', 'grab_exposure', 'pixclk', 'user_bit_cc_a', 'user_bit_cc_b', 'hsync', 'vsync' string dynamic Assign a particular signal to Camera Link cc4 line.
'color_space' 'gray', 'rgb' 'gray' string pre-defined Desired color space and thus the number of image channels of the resulting HALCON image.
'continuous_grabbing' 'disable', 'enable' 'disable' string pre-defined Continuous grabbing mode.
'current_buffer_index' 0 ... <num_buffers>-1 integer dynamic Index of the current image buffer.
'device' '<BoardType>:<nr>[:DIG:<nr>]' '0' string pre-defined Current type of the frame grabber board.
'exposure_time' <nanoseconds> integer dynamic Time (in nanoseconds) for the active portion of the exposure signal (that is, the exposure time).
'exposure_time_delay' <nanoseconds> integer dynamic Delay (in nanoseconds) between the trigger and the start of exposure. Note, that an error is returned if the specified delay cannot be generated.
'external_trigger' 'false', 'true' 'false' string pre-defined Status of the external trigger.
'field' '<default>' 'interlaced' string pre-defined The value is not used, so a default value is returned.
'generic' '', 'num_buffers=<num>', -1 -1 mixed pre-defined Values of the Generic parameter.
'gpio_format:XX' 'default', 'disable', 'enable', 'lvds', 'opto', 'tri-state', 'ttl' string dynamic Format of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
'gpio_mode:XX' 'default', 'input', 'output' string dynamic Controls the direction of the specified GPIO signal (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
'gpio_read:XX' 0, 1 integer dynamic Current state of the specified GPIO input (with XX = 0, 1, ..., 15 as unique index of the desired GPIO line).
'grab_timeout' <milliseconds> 5000 integer pre-defined Current grab timeout in milliseconds.
'horizontal_resolution' <resolution> integer pre-defined Current value of horizontal resolution.
'image_height' <height> integer pre-defined Dynamically change the current image height of the grabbed image. Note that by changing this value, all active image grabs are cancelled.
'image_width' <width> integer pre-defined Dynamically change the current image width of the grabbed image. Note that by changing this value, all active image grabs are cancelled.
'line_in' <default> 0 integer pre-defined The value is not used, so a default value is returned.
'name' 'MILLite' string pre-defined Name of the HALCON interface.
'port' <port> -1 integer pre-defined Current port number.
'revision' '<revision>' string pre-defined Revision number of the MILLite interface.
'rotary_counter' 'false', 'true' 'false' string pre-defined Activate/deactivate the rotary counter.
'rotary_counter_direction' 'backward', 'forward' 'forward' string pre-defined Direction of the rotary counter, i.e. the rotary counter gets incremented for a value of 'forward', or decremented for a value of 'backward', respectively.
'rotary_counter_position' <position> integer dynamic Current value of the rotary counter.
'rotary_counter_trigger_position' 0, ..., 65535 integer dynamic Rotary counter value upon which a trigger is generated.
'start_async_after_grab_async' 'disable', 'enable' 'enable' string pre-defined Status of 'start_async_after_grab_async'.
'start_column' 0, <max_column> integer pre-defined Returns the current start column of the HALCON image.
'start_field' 'default', 'even', 'next', 'odd' 'default' string pre-defined Field that the grabbing of a frame starts with.
'start_row' 0, <max_row> integer pre-defined Returns the current start row of the HALCON image.
'trigger_mode' 'software', 'exposure' string, integer dynamic The parameter 'trigger_mode' specifies the mode of the trigger signal released by the parameter 'do_force_trigger'. If the option 'software' is selected, a signal to trigger the grab of an image will be released. With the option 'exposure' an exposure trigger signal for the specified exposure timer will be released when calling parameter 'do_force_trigger'. It's also possible to pass an integer value in case that a special trigger mode should be used. For the supported integer values (defines), please have a look at the chapter 'MdigControl' in the MIL Help documentaion. Any mode that has to be enabled with 'M_ACTIVE' is supported.
'trigger_signal' 'default', 'falling', 'high', 'low', 'rising' string dynamic Type of input trigger.
'trigger_source' 'default', 'hw_port_camera', 'hw_port0', ..., 'hw_port11', 'none', 'rotary_counter', 'software', 'timer1', 'timer2' string dynamic Defines the source of the input trigger. For details, please see the documentation of your frame grabber board.
'vertical_resolution' <resolution> integer pre-defined Current value of vertical resolution.

Operator set_framegrabber_lut

Not supported by this interface.

Operator get_framegrabber_lut

Not supported by this interface.

Operator set_framegrabber_callback

All actually supported callback types of a specific image acquisition device can be queried by calling get_framegrabber_param with the parameter 'available_callback_types'. Once the callback is registered, on every occurrence of the underlying event (e.g., the notification that the exposure has finished) the specified callback function will be called. If the callback function is set to NULL, the corresponding callback will be unregistered.

The signature of the callback function is Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context, void *UserContext) and uses the following parameters:
  • AcqHandle Acquisition handle of the corresponding image acquisition instance.
  • Context Optional context data of the specific callback. In the MILLite interface, this parameter is not used, i.e., Context is set to NULL.
  • UserContext User context as set via set_framegrabber_callback.

Using user-callback functions
Note that the execution time of a user-specific callback function should always be as short as possible since during the execution of a callback function the handling of further internal callbacks might be blocked. This can be achieved by removing the current processing from the user-specific callback function to a separate thread that is controlled via signals or events.

Type Description
'frame_end' Corresponds to the M_GRAB_FRAME_END hook function inside MIL-Lite.
'frame_start' Corresponds to the M_GRAB_FRAME_START hook function inside MIL-Lite.
'transfer_end' Corresponds to the M_GRAB_END hook function inside MIL-Lite.

Operator get_framegrabber_callback

This interface supports device specific events via the operators set_framegrabber_callback and get_framegrabber_callback. For more information see set_framegrabber_callback.

Operator grab_image_start

Starts a new asynchronous grab. See also grab_image_start.

Operator grab_image

grab_image starts a new synchronous grab. See also grab_image. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_image_async

grab_image_async returns an image and starts the next asynchronous grab. See also grab_image_async. Note that the interface converts the image from the device to the desired image format specified by the parameters 'image_width', 'image_height', 'start_row', 'start_column', 'bits_per_channel', and 'color_space'.

Operator grab_data

Not supported by this interface.

Operator grab_data_async

Not supported by this interface.

Operator close_framegrabber

This operator closes the device. See also close_framegrabber.

Trigger Arm Characteristics

The so-called Trigger Arm Characteristics (like Frame Retrigger, Software Ignore Frame Retrigger, Hardware Ignore Frame Retrigger, and Frame Retrigger Latched) is specified inside the Matrox DCF files. To use this functionality within the HALCON MILLite interface, both the continuous grabbing mode and external triggering has to be enabled, see the parameters 'continuous_grabbing' and 'external_trigger'. Please make sure that your MIL-Lite version already supports this feature!

HDevelop Examples

For this interface there are the following examples available:
  • millite.hdev - Benchmark.
  • millite_parameters.hdev - Lists all parameters of a device.
  • millite_simple.hdev - A simple example to show the usage of the interface.
  • millite_trigger.hdev - Shows the usage of a Matrox frame grabber board with external triggering.

C++ Examples

For this interface there is also a further C++ Visual Studio Project to demonstrate the usage of the operators get_framegrabber_callback and set_framegrabber_callback. Please check the directory %HALCONEXAMPLES%\cpp\console\vs2005\. If you prefer building the example via the console, please check the following folder %HALCONEXAMPLES%\cpp\console\. With a Linux OS please use $HALCONEXAMPLES/cpp/console/.

C# Examples

For this interface there is also a further C# Visual Studio Project to demonstrate the usage of the operators get_framegrabber_callback and set_framegrabber_callback. Please check the directory %HALCONEXAMPLES%\cpp\console\vs2005\.

Release Notes

  • Revision 13.0.1 (Oct 28, 2016):
    • HALCON 13 version of the interface.
  • Revision 6.1 (Jul 14, 2016):
    • Adapted to Matrox MIL-Lite 10.0.
    • Support of Radient framegrabber series.
    • Support of GenICam parameter handling. The interface supports access to a GenICam compatible device via get_framegrabber_param and set_framegrabber_param. Further, the following atribute are supported, '_access', '_category', '_tooltip', '_description', '_long_description', '_displayname', '_range', '_type', '_values', and '_visibility'.
    • Added attributes for non GenICam parameters '_access', '_description', '_values' and '_range'.
    • Added parameters 'available_param_names' and 'available_param_descriptions'.
    • set_framegrabber_param crashed when setting 'do_reset_rotary_counter', 'do_force_trigger', 'do_gpio_write' or 'do_abort_grab' with an empty tuple. This problem has been fixed.
    • The framgrabber boards 'METEOR_II', 'METEOR_II_1394', 'METEOR_II_CL', 'METEOR_II_DIG', 'HELIOS', 'ODYSSEY' and 'MORPHIS_EVO' are no longer supported by this interface.
    • Remove the query 'parameters', 'parameters_readonly' and 'parameters_writeonly' from info_framegrabber.
  • Revision 6.0 (Oct 31, 2014):
    • HALCON 12 version of the interface.
  • Revision 5.2 (Jul 26, 2013):
    • Added parameter 'trigger_mode' to improve the software trigger functionality.
    • Fixed bug in case of an unsupported parameter setting during open_framegrabber. Allocated memory needed by the digitizer was not released in case of an error.
    • Fixed bug in open_framegrabber in case of 'Generic' parameter with empty string values.
  • Revision 5.1 (Jan 8, 2013):
    • Improved error handling in open_framegrabber. If an already used digitizer was specified via the Device parameter with a value greater than 0, no HALCON error was returned.
  • Revision 5.0 (May 15, 2012):
    • HALCON 11 version of the interface (included in HALCON 11 DVD).
    • Fixed thread safety problem in grab_image and grab_image_async that could occur if a pending grab was aborted via the 'do_abort_grab' parameter of set_framegrabber_param.
    • Fixed bug in open_framegrabber: Prevent to open an already used digitizer a second time.
  • Revision 4.9 (Jan 24, 2012):
    • Added support of parameters ImageWidth, ImageHeight, StartRow, and StartColumn in open_framegrabber to allow specifying a certain image part.
    • Added parameters 'image_width', 'image_height', 'start_row', and 'start_column' to dynamically change the current image size during runtime.
  • Revision 4.8 (May 30, 2011):
    • Support also of Morphis boards.
  • Revision 4.7 (Dec 13, 2010):
    • Added parameters 'gpio_read:XX', 'do_gpio_write:XX', 'gpio_mode:XX', 'gpio_format:XX', 'cc1_select', 'cc2_select', 'cc3_select' and 'cc4_select' to control the GPIO lines of the Helios, Odyssey and Solios frame grabber boards.
  • Revision 4.6 (Aug 25, 2010):
    • Removed obsolete internal parameter queries in open_framegrabber.
    • Fixed bug regarding error handling in continuous grabbing mode.
    • HALCON 10 version of the interface (included in HALCON 10 DVD).
  • Revision 4.5 Erratum (May 19, 2010):
    • Re-added the support of Meteor-II boards in the documentation. This information was deleted in the original release of revision 4.5 by mistake.
  • Revision 4.5 (Mar 16, 2010):
    • Adapted to Matrox MIL-Lite 9.0.
    • Support also of Windows XP/Vista x64 Editions.
    • Added Generic parameter 'num_buffers' in open_framegrabber to allow to set the number of internally used buffers.
    • New read-only parameter 'num_buffers' to query the number of internally used buffers.
    • Added implementation of info_framegrabber(.., 'generic', ...) to query all supported values for the Generic parameter in open_framegrabber.
    • Decreased the default number of allocated images buffers for each initialized camera from 5 to 2.
    • New expert parameter 'current_buffer_index' to manually control the buffer ordering.
  • Revision 4.4 (Jan 22, 2010):
    • New parameter 'continuous_grabbing' to enable the use of the continuous grabbing mode.
    • Increased the number of allocated images buffers for each initialized camera from 2 to 5.
    • Added section "Trigger Arm Characteristics" in this documentation.
  • Revision 4.3 (Nov 11, 2009):
    • Support also of Solios eCL/XCL-B boards.
    • Adapted open_framegrabber to enable the use of boards with multiple input channels in general.
  • Revision 4.2 (Sep 18, 2009):
    • Bug fix in set_framegrabber_param(..'do_abort_grab'..) to ensure the proper behavior also in case that no corresponding grab operator is called concurrently.
    • Bug fix regarding the order of the parameters when calling the user-specific callback functions: Erroneously, the parameters UserContext and Context were swapped, i.e., the parameter UserContext now is used as third parameter.
    • Bug fix regarding the AcqHandle parameter when calling the user-specific callback functions: In case of multiple instances, the wrong acquisition handle was returned.
    • Added note in documentation that Solios GigE boards are not supported.
  • Revision 4.1 (Aug 31, 2009):
  • Revision 4.0 (Dec 1, 2008):
    • HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
    • Bug fix in grab_image_async to reach the full frame rate in case of free-running analog cameras.
    • Bug fix in grab_image_async for software triggering.
    • Support also of Vio boards.
    • Add functionality to handle 'frame_start', 'frame_end', and 'transfer_end' callbacks.
  • Revision 3.3 (Apr 22, 2008):
    • Added read-only parameters with postfix '_description', '_range', and '_values' to enable the easy parameterization via a generic graphical user interface.
  • Revision 3.2 (Sep 5, 2007):
    • Bug fix in buffer handling.
    • New parameter 'board_type'.
  • Revision 3.1 (Jul 27, 2007):
  • Revision 3.0 (May 15, 2007):
    • HALCON 8.0 version of the interface (included in HALCON 8.0 DVD).
  • Revision 2.3 (Mar 20, 2007):
    • Bug fix in grab_image and grab_image_async (grab_timeout).
    • Bug fix in buffer handling (M_GRAB_FRAME_END no longer used for buffer switching).
  • Revision 2.2 (Aug 14, 2006):
    • Improved use of double buffering.
    • New parameter 'start_field'.
    • Improved error messages.
    • M_GRAB_END event used for image transfer.
  • Revision 2.1 (Apr 19, 2006):
    • Change of semantics of parameters Device and Port in open_framegrabber.
    • Bug fix to enable setting of the grab timeout.
  • Revision 2.0 (Dec 06, 2005):
    • First official release.