Matrix Vision mvHYPERION Technical Manual

mvHYPERION-Series
Technical Manual
CONTENTS i
Contents
1 About this manual 2
1.1 Composition of the manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 How to get started? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Image acquisition concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.5 Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Imprint 7
3 Revisions 8
4 Graphic Symbols 10
4.1 Notes, Warnings, Attentions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Webcasts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 Important information 11
5.1 European Union Declaration of Conformity statement . . . . . . . . . . . . . . . . . . . . . . . . 11
6 Introduction 14
6.1 What's inside and accessories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7 Quickstart 15
7.1 Hardware installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.2 Software installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.3.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.3.2 Installing the mvIMPACT Acquire driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.4 Connecting a camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.5 Settings behavior during startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
ii CONTENTS
8 Technical data 28
8.1 mvHYPERION-CLx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1.1 Block diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1.2 Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.1.4 Device Feature And Property Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.2 mvHYPERION-32R16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.2.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.2.2 Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.2.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.3 mvHYPERION-HD-SDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.3.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.3.2 Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.3.3 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9 Application Usage 48
9.1 wxPropView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.1.1 How to work with wxPropView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.1.2 How to configure a device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.1.3 Command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.2 mvDeviceConfigure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2.1 How to set the device ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2.2 How to update the firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.2.3 How to recover a broken firmware update . . . . . . . . . . . . . . . . . . . . . . . . . . 100
9.2.4 How to allocate image memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.2.5 How to disable CPU sleep states a.k.a. C states (< Windows 8) . . . . . . . . . . . . . . 102
9.2.6 Command-line options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10 HRTC - Hardware Real-Time Controller 106
10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.1.1 Operating codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.1.2 Program controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.2 How to use the HRTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
CONTENTS iii
11 C developers 108
12 C++ developers 109
13 .NET developers 110
14 Python developers 111
14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
14.2 Building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
14.2.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
14.2.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
14.3 Using . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
15 DirectShow Interface 115
15.1 Supported Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.1.1 IAMCameraControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.1.2 IAMDroppedFrames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.1.3 IAMStreamConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.1.4 IAMVideoProcAmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.1.5 IKsPropertySet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.1.6 ISpecifyPropertyPages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.2 Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
15.3 Registering and renaming devices for DirectShow usage . . . . . . . . . . . . . . . . . . . . . . . 116
15.3.1 Registering devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
15.3.2 Renaming devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
15.3.3 Make silent registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
16 Glossary 120
CONTENTS 1
17 Use cases 122
17.1 scanCameras Working with line scan cameras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
17.2 Pass-through of digital input signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
17.3 Working with pulse start events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
17.4 Working with an rotary encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
17.4.1 DigitalSignalA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
17.4.2 DigitalSignalB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
17.4.3 PulseMultiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
17.4.4 Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
17.4.5 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
17.4.6 int Reset() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
17.5 Working with a Basler Sprint line scan color camera . . . . . . . . . . . . . . . . . . . . . . . . . 127
17.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
17.5.2 RawLineAcquisition Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
17.5.3 EnhancedRawLineAcquisition Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
17.6 Working with trigger events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
17.6.1 FrameStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
17.6.2 FrameStart + FrameStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
17.6.3 AcquisitionStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
17.7 Synchronous acquisition with different camera settings . . . . . . . . . . . . . . . . . . . . . . . . 140
2 CONTENTS

1 About this manual

1.1 Composition of the manual

The mvIMPACT Acquire manual for the MATRIX VISION frame grabbers is based on a modular concept. That means like in many object-oriented programming languages you have for each functionality your own "class". In­stead of classes, you have books. For example, if you want to know how images are acquired with the frame grabbers, have a look in the respective programming language chapter.
Here is a short summary about all books of the frame grabber manual:
• The manual starts with technical data of the frame grabber as well as a quick start chapter.
Afterwards, you will find the different books:
Application Usage (p. 48)
– The frame grabbers can also be managed via user interface. The program is called wxPropView (p. 48).
DirectShow developers (p. 115)
– This is the documentation of the MATRIX VISION DirectShow_acquire interface.
Use cases (p. 122)
– This book offers solutions and explanations for standard use cases.
Note
For C, C++, .NET developers, there are separate mvIMPACT Acquire manuals
"mvIMPACT_Acquire_API_CPP_manual.chm",
"mvIMPACT_Acquire_API_C_manual.chm", and
"mvIMPACT_Acquire_API_NET_manual.chm"
available as downloads from our website http://www.matrix-vision.com. The manuals contain chapter about
• how to link and build applications using mvIMPACT Acquire,
• how the log output for "mvIMPACT Acquire" devices is configured and how it works in general,
• how to create your own installer packages for Windows and Linux, and
• the general mvIMPACT Acquire API documentation.

1.2 How to get started?

1.2.1 Introduction
This chapter gives you a short overview, how to get started with a MATRIX VISION frame grabber and where to find the necessary information in the manual. It will also explain or link to the concepts behind the driver and the image acquisition. Furthermore it shows you how to get start programming own applications.
1.2 How to get started? 3
1.2.2 Basics
1.2.2.1 Driver concept
The driver supplied with the MATRIX VISION product represents the port between the programmer and the hardware. The driver concept of MATRIX VISION provides a standardized programming interface to all image processing products (excluding mvBlueLYNX) made by MATRIX VISION GmbH. The advantage of this concept for the programmer is that a developed application runs without the need for any major modifications to the various image processing products made by MATRIX VISION GmbH. You can also incorporate new driver versions, which are available for download free of charge on our website.
The following diagram shows a schematic structure of the driver concept:
Figure 1: Driver concept
1 Part of any mvIMPACT Acquire driver installation package (Windows).
2 Separately available for 32 bit and 64 bit. Requires at least one installed driver package.
3 See 2, but requires an installed version of the mvBlueFOX driver.
4 Part of the NeuroCheck installer but requires at least one installed frame grabber driver.
5 Part of the mvIMPACT SDK installation. However, new designs should use the .NET libs that are now part
of mvIMPACT Acquire ("mv.impact.acquire.dll"). The namespace "mv.impact.acquire" of
"mv.impact.acquire.dll" provides a more natural and more efficient access to the same features
as contained in the namespace "mvIMPACT_NET.acquire" of "mvIMPACT_NET.dll", which is why the latter one should only be used for backward compatibility but NOT when developing a new application.
6 Part of Micro-Manager.
4 CONTENTS
1.2.2.2 NeuroCheck support
A couple of devices are supported by NeuroCheck. However between NeuroCheck 5.x and NeuroCheck 6.x there has been a breaking change in the internal interfaces. Therefore also the list of supported devices differs from one version to another and some additional libraries might be required.
For NeuroCheck 5.x the following devices are supported:
Device Additional software needed mvTITAN-G1 mvSDK driver for mvTITAN/mvGAMMA devices mvTITAN-CL mvSDK driver for mvTITAN/mvGAMMA devices mvGAMMA-CL mvSDK driver for mvTITAN/mvGAMMA devices mvBlueFOX mvIMPACT Acquire driver for mvBlueFOX devices, "NCUSBmvBF.dll"
For NeuroCheck 6.0 the following devices are supported:
Device Additional software needed mvTITAN-G1 mvIMPACT Acquire driver for mvTITAN/mvGAMMA de-
vices
mvTITAN-CL mvIMPACT Acquire driver for mvTITAN/mvGAMMA de-
vices
mvGAMMA-CL mvIMPACT Acquire driver for mvTITAN/mvGAMMA de-
vices
mvHYPERION-CLb mvIMPACT Acquire driver for mvHYPERION devices
Every other mvIMPACT Acquire compliant device mvIMPACT Acquire driver for the corresponding device
family, "mv.impact.acquire.NeuroCheck6.←-
dll" (comes with the driver package, but the driver
package must be installed AFTER installing NeuroCheck 6
For NeuroCheck 6.1 the following devices are supported:
Device Additional software needed mvTITAN-G1 mvIMPACT Acquire driver for mvTITAN/mvGAMMA de-
vices
mvTITAN-CL mvIMPACT Acquire driver for mvTITAN/mvGAMMA de-
vices
mvGAMMA-CL mvIMPACT Acquire driver for mvTITAN/mvGAMMA de-
vices
mvHYPERION-CLb mvIMPACT Acquire driver for mvHYPERION devices
Every other mvIMPACT Acquire compliant device mvIMPACT Acquire driver for the corresponding device
family, "mv.impact.acquire.NeuroCheck6_←-
1.dll" (comes with the driver package, but the driver
package must be installed AFTER installing NeuroCheck
6.1
1.2.2.3 VisionPro support
Every mvIMPACT Acquire driver package under Windows comes with an adapter to VisionPro from Cognex. The installation order does not matter. After the driver package and VisionPro has been installed, the next time VisionPro is started it will allow selecting the mvIMPACT Acquire device. No additional steps are needed.
MATRIX VISION devices that also comply with the GigE Vision or USB3 Vision standard don't need any software at all, but can also use VisionPro's built-in GigE Vision or USB3 Vision support.
1.2 How to get started? 5
1.2.2.4 HALCON support
HALCON comes with built-in support for mvIMPACT Acquire compliant devices, so once a device driver has been installed for the mvIMPACT Acquire device, it can also be operated from a HALCON environment using the corre­sponding acquisition interface. No additional steps are needed.
MATRIX VISION devices that also comply with the GigE Vision or USB3 Vision standard don't need any software at all, but can also use HALCON's built-in GigE Vision or USB3 Vision support.
As some mvIMPACT Acquire device driver packages also come with a GenTL compliant interface, these can also be operated through HALCON's built-in GenTL acquisition interface.
1.2.2.5 LabVIEW support
Every mvIMPACT Acquire compliant device can be operated under LabVIEW through an additional set of VIs which is shipped by MATRIX VISION as a separate installation ("mvLabVIEW Acquire").
MATRIX VISION devices that also comply with the GigE Vision or USB3 Vision standard don't need any additional software at all, but can also be operated through LabVIEW's GigE Vision or USB3 Vision driver packages.
1.2.2.6 DirectShow support
Every mvIMPACT Acquire compliant device driver package comes with an interface to DirectShow. In order to be usable from a DirectShow compliant application, devices must first be registered for DirectShow support. How to this is explained here (p.116).
1.2.2.7 Micro-Manager support
Every mvIMPACT Acquire compliant device can be operated under https://micro-manager.org when using mvIMPACT Acquire 2.18.0 or later and at least Micro-Manager 1.4.23 build AFTER 15.12.2016. The adapter needed is part of the Micro-Manager release. Additional information can be found here: https←-
://micro-manager.org/wiki/MatrixVision.
1.2.3 Image acquisition concept
The image acquisition is based on queues to avoid the loss of single images. With this concept you can acquire im­ages via single acquisition or triggered acquisition. For detailed description of the acquisition concept, please have a look at "How the capture process works" in the mvIMPACT_Acquire_API manual matching the programming language you are working with.
1.2.4 Installation
To install the frame grabber properly you have to follow these steps: (Please follow the links for detailed descriptions.)
Windows:
Please check the system requirements (p.15).
Please install the software and driver (p. 16).
Please install the hardware (p.15).
Linux:
Please check the system requirements (p.20).
Please install the software and driver (p. 21).
Please install the hardware (p.15).
6 CONTENTS
1.2.5 Programming
To control the camera and handle the images, you will have a good introduction by reading the main pages of the "mvIMPACT Acquire" interface references. Additionally, please have a look at the example programs. Several basic examples are available. The separate mvIMPACT Acquire manuals
"mvIMPACT_Acquire_API_CPP_manual.chm",
"mvIMPACT_Acquire_API_C_manual.chm", and
"mvIMPACT_Acquire_API_NET_manual.chm"
are available as downloads from our website http://www.matrix-vision.com.
2 Imprint 7

2 Imprint

MATRIX VISION GmbH Talstrasse 16 DE - 71570 Oppenweiler
Telephone: +49-7191-9432-0 Fax: +49-7191-9432-288 Website: http://www.matrix-vision.de E-Mail:
info@matrix-vision.de support@matrix-vision.de jobs@matrix-vision.de
Author
U. Lansche
Date
2016
This document assumes a general knowledge of PCs and programming.
Since the documentation is published electronically, an updated version may be available online. For this reason we recommend checking for updates on the MATRIX VISION website.
MATRIX VISION cannot guarantee that the data is free of errors or is accurate and complete and, therefore, as­sumes no liability for loss or damage of any kind incurred directly or indirectly through the use of the information of this document.
MATRIX VISION reserves the right to change technical data and design and specifications of the described products at any time without notice.
Copyright
MATRIX VISION GmbH. All rights reserved. The text, images and graphical content are protected by copyright and other laws which protect intellectual property. It is not permitted to copy or modify them for trade use or transfer. They may not be used on websites.
• Windows® XP, Windows® Vista, Windows® 7 are trademarks of Microsoft, Corp.
• Linux® is a trademark of Linus Torvalds.
All other product and company names in this document may be the trademarks and tradenames of their respective owners and are hereby acknowledged.
The manual has been generated with Doxygen (Website: http://www.doxygen.org).
Parts of the log file creation and the log file display make use of Sarissa (Website: http://dev.←-
abiss.gr/sarissa) which is distributed under the GNU GPL version 2 or higher, GNU LGPL version
2.1 or higher and Apache Software License 2.0 or higher. The Apache Software License 2.0 is part of this driver package.
8 CONTENTS

3 Revisions

Date Description
09. November 2018 Added "Hard Disk Recording" in wxPropView (p.48).
21. December 2016 Added Setting up multiple display support and/or work with several capture settings in parallel (p. 59).
15. December 2016 Added Micro-Manger in Driver concept (p. 3).
11. March 2015 Added chapter Accessing log files (p. 68).
21. October 2014 Added description about the record mode in How to see the first image (p.50).
28. July 2014 Updated supported image formats of mvHYPERION-HD-SDI-2 in Components (p. 44).
06. December 2013 Added information about Changing the view of the property grid to assist writing code that shall locate driver features (p. 67).
15. October 2013 Added Webcasts (p. 10) links. Added chapter Bit-shifting an image (p. 66).
20. September 2013 Updated ambient temperature of mvHYPERION-CLb: Components (p. 37).
24. January 2013 Added information about image error counts and disabling CPU sleep states: How to disable CPU sleep states a.k.a. C states (< Windows 8) (p. 102).
14. December 2012 New version of technical documentation.
20. September 2012 Added chapter "Porting existing code written with versions earlier than 3.0.0"
17. July 2012 Firmware Update (p. 100): Corrected "Switch 3" to "Switch 1".
20. April 2012 Added chapter HRTC - Hardware Real-Time Controller (p. 106) Added use case Working with a Basler Sprint line scan color camera (p. 127) Added use case Synchronous acquisition with different camera settings (p.140)
16. February 2012 Renewed chapter wxPropView (p.48).
09. November 2011 Added Settings behavior during startup (p. 25) in chapter Quickstart (p. 15).
26. July 2011 Removed chapter EventHandling. See "Porting existing code written with ver- sions earlier then 2.0.0".
11. July 2011 Added chapter "Callback demo".
06. Jun. 2011 Added chapter "Porting existing code written with versions earlier than 2.0.0".
28. March 2011 Added LED description for mvHYPERION-CLx frame grabbers (p.28).
18. January 2011 Added chapter Setting up multiple display support and/or work with several cap- ture settings in parallel (p. 59).
07. December 2010 Added chapter How to allocate image memory (p. 101).
19. October 2010 Added chapter "Chunk data format".
01. Oct. 2010 Updated Working with trigger events (p. 135) and Camera acquisition techniques (p. 89). Added chapter Working with an rotary encoder (p. 124).
01. Oct. 2010 Updated Components (p. 44) table of (mvHYPERION-HD-SDI-2) and added sup­ported signal formats.
17. Sep. 2010 Corrected image of connector J6 Connectors (p. 28) (mvHYPERION-Clx) and Con- nectors (p.42) (mvHYPERION-HD-SDI).
02. Aug. 2010 Added chapter Import and Export images (p. 58).
19. Apr. 2010 Added example ContinuousCaptureDirectX.
15. Mar. 2010 Updated chapter mvHYPERION-HD-SDI (p. 41).
17. Feb. 2010 Added chapter Camera acquisition techniques (p. 89).
28. Jan. 2010 Added chapter Copy grid data to the clipboard (p. 58).
13. Jan. 2010 Added chapter "Porting existing code written with versions earlier then 1.12.0".
16. Dec. 2009 Added frame grabber mvHYPERION-32R16 (p. 38).
15. Dec. 2009 Added frame grabber mvHYPERION-HD-SDI (p. 41).
10. Nov. 2009 Added Windows 7 as supported operating system.
3 Revisions 9
05. Nov. 2009 Added example CaptureToUserMemory_C.
04. Nov. 2009 Added chapter Connecting a camera (p. 25).
19. Oct. 2009 Updated wxPropView (p. 48) description about handling settings.
02. Jun. 2009 Please note the remark about connecting PoCL cameras to the mvHYPERION←- : Hardware installation (p.15).
05. May 2009 Updated wxPropView (p. 48) Added book Use cases (p. 122), which offers solutions and explanations for standard use cases.
09. Apr. 2009 Added chapter "Porting existing code written with versions earlier then 1.11.0".
30. Mar. 2009 Added information for - DirectShow developers (p.115). Added new examples
DigitalIOs,
ContinuousCaptureMultipleInputs and
ContinuousCaptureMultipleVideoSignals.
30. Jan. 2009 Changed Switch numbering of mvHYPERION-CLx (p. 28).
13. Jan. 2009 Added environmental information of mvHYPERION-CLx (p.28).
14. Nov. 2008 Added wxPropView example wxPropView.
18. Aug. 2008 Added new example CaptureToUserMemory.
11. July 2008 Corrected Figure of J6 connector Technical data (p. 28).
18. Jun. 2008 Added chapter Triggering with mvHYPERION (p. 87).
29. Apr. 2008 Added chapter How to recover a broken firmware update (p. 100).
12. Dec. 2007 Added chapter "Pinning J6 (internal digital I/Os)" in Connectors (p.28).
06. Dec. 2007 Updated chapter What's inside and accessories (p. 14).
07. Nov. 2007 Added chapter "Porting existing code written with versions earlier then 1.10.0".
12. Oct. 2007 Updated information about "Opto-isolated digital output" in chapter Connectors (p. 28).
25. Sep. 2007 Added chapter mvDeviceConfigure (p. 95) and description about "Switches" in Connectors (p.28).
1. August 2007 Rewritten "How to use this manual". This book now includes a getting started chapter (see: Composition of the manual (p. 2)).
19. Jun. 2007 Changed installation sequence Quickstart (p. 15).
12. Mar. 2007 Added Linux installation chapter Linux (p. 20).
Feb. 2007 Initial version
10 CONTENTS

4 Graphic Symbols

4.1 Notes, Warnings, Attentions

Note
A note indicates important information that helps you optimize usage of the products.
Warning
A warning indicates how to avoid either potential damage to hardware or loss of data.
Attention
An attention indicates a potential for property damage, personal injury, or death.
All due care and attention has been taken in preparing this manual. In view of our policy of continuous product improvement, however, we can accept no liability for completeness and correctness of the information contained in this manual. We make every effort to provide you with a flawless product.
In the context of the applicable statutory regulations, we shall accept no liability for direct damage, indirect damage or third-party damage resulting from the acquisition or operation of a MATRIX VISION product. Our liability for intent and gross negligence is unaffected. In any case, the extend of our liability shall be limited to the purchase price.

4.2 Webcasts

This icon indicates a webcast about an issue which is available on our website.
5.1 European Union Declaration of Conformity statement 11

5 Important information

We cannot and do not take any responsibility for the damage caused to you or to any other equipment connected to the mvHYPERION frame grabber. Similarly, warranty will be void, if a damage is caused by not following the manual.
Handle the mvHYPERION frame grabber with care. Do not misuse the mvHYPERION frame grabber. Avoid shaking, striking, etc. The mvHYPERION frame grabber could be damaged by faulty handling or shortage.
• Handle with care and avoid damage of electrical components by electrostatic discharge (ESD):
Discharge body static (contact a grounded surface and maintain contact).
Avoid all plastic, vinyl, and styrofoam (except antistatic versions) around printed circuit
boards.
– Do not touch components on the printed circuit board with your hands or with conductive
devices.

5.1 European Union Declaration of Conformity statement

The mvHYPERION-CLx is in conformity with all applicable essential requirements necessary for CE marking. It corresponds to the EU EMC guideline 2004/108/EC based on the following harmonized standards Electromagnetic compatibility (EMC)
• Interference emmision EN 55024:1998 + A1:2001 + A2:2003
• Interference immunity EN 55022 : 2006 + A1:2007 Class A
• Interference immunity EN 55022 : 2006 + A1:2007 Class B with modifications
EN 55022 : 2006 + A1:2007 Class B with modifications requires an CameraLink cable with an retrofittable ferrite to be used (near to frame grabber connector) such as
– Company: Würth Elektronik Type: WE No. 742 711 31
MATRIX VISION corresponds to the EU guideline WEEE 2002/96/EG on waste electrical and elec­tronic equipment and is registered under WEEE-Reg.-No. DE 25244305.
12 CONTENTS
5.1 European Union Declaration of Conformity statement 13
14 CONTENTS

6 Introduction

The mvHYPERION-Series are frame grabbers for the bus system PCI Express®. The mvHYPERION frame grabber series for PCI Express® offers image processing with fast cameras using maximum capture bandwidth up to 1 G←- B/s. Depending on the model type, the frame grabbers are suitable for high-end machine vision applications with CameraLink cameras as well as broadcasting or surveillance solutions.
Figure 1: mvHYPERION series
There are digital inputs available for external synchronization and digital outputs for e.g. controlling a flash.
The mvHYPERION series is suitable for following application areas:
Figure 2: Application areas
6.1 What's inside and accessories
Due to the varying fields of application the mvHYPERION series is shipped without accessories. The package contents:
mvHYPERION frame grabber
Accessories for the mvHYPERION-CLx frame grabbers:
7 Quickstart 15

7 Quickstart

7.1 Hardware installation

Warning
Please take all proper Electro Static Discharge (ESD) precautions during the installation of your new hardware!
Before starting the installation, turn off your computer and all peripheral devices. Disconnect the computer from the power supply and all necessary components.
Note
To avoid doing damage to the hardware, discharge yourself of static charge by touching e.g. the casing. Beware of touching contacts of the frame grabber or of the computer.
• Select a free busmaster slot (PCI Express). Remove the slot's cover at the back of the computer and keep the screw.
• Carefully insert the board into the slot by holding the board at the top and gently pushing both ends into the slot at the same time. Press onto the upper edge of the board to make sure it is seated in the slot firmly.
• Do not force the board into the slot! You run the risk of bending the contacts. If the board does not fit easily, pull it back out, and try again.
• Fasten the board's bracket at the back of the computer using the screws you saved from the shield.
• Put the cover back on the computer and reconnect the peripheral devices.
• Start the computer.
Warning
According to the construction, if you want to connect or disconnect a PoCL (p. 120) camera, please be sure that the PC or the mvHYPERION frame grabber is switched off! Otherwise, during the connection, the camera or the frame grabber could be short-circuited and possibly destroyed!

7.2 Windows

7.2.1 System Requirements
Currently supported Windows versions are:
• Microsoft Windows 7 (32-bit, 64-bit) (requires min. 2 GB main memory)
• Microsoft Windows 8.1 (32-bit, 64-bit) (requires min. 2 GB main memory)
Consecutively the installation for Windows will be described. The description for the Linux installation can be found here: Linux (p. 20).
Note
For a correct installation of the frame grabber please install the MSI package before connecting any board to the system. Afterwards you can install the physical board(s) and when the system starts again everything else is done automatically.
16 CONTENTS
7.2.2 Software installation
All necessary drivers for Windows and Linux are contained in the mvIMPACT CD-ROM or DVD-ROM. For newer driver versions we recommend to visit the MATRIX VISION website at www.matrix-vision.de, section Support/←- Download/Hardware.
After the Hardware installation (p. 15) the boot sequence shows "Found New Hardware" and starts the Windows Hardware Wizard. Closed this windows and insert the mvIMPACT CD-ROM or DVD-ROM into your drive and select "Driver installation ..." and the needed mvIMPACT Acquire driver (e.g. "mvTITAN / mvGAMMA").
Figure 1: Start window
After the click on the needed driver the installation process starts.
7.2 Windows 17
Figure 2: mvHYPERION installer - Start window
Select the folder, where you want to install the software.
Figure 3: mvHYPERION installer - Select folder
Select the features, which you want to install. Following features exist:
18 CONTENTS
"Base Libraries" This feature contains all necessary files for property handling and display. Therefore, it is not selectable.
"mvHYPERION driver" This is also not selectable.
"Tools" This feature contains tools for the frame grabber (e.g. to acquire images (wxPropView (p. 48))).
"mvIMPACT acquire API" The "mvIMPACT acquire API" contains the header for own programming. Additionally you can choose the examples, which installs the sources of wxPropView (p. 48) and three mini samples. The project files of the mini samples are for Visual C++ 7, Visual C++ 6 and Borland C Builder 6. The wxPropView (p. 48) project exists only for Visual C++ 7.
"Documentation" This will install this manual as single HTML help file (.chm).
Figure 4: mvHYPERION installer - Select features
Confirm the installation by clicking "Next".
7.2 Windows 19
Figure 5: mvHYPERION installer - Confirm installation
The installation process copies the files to Windows. Then Windows shows a message to signal that this driver is not checked through Microsoft. This is only an attempt to make insecure and it is recommended to ignore it.
Press "Continue Anyway" and finish the driver installation.
Figure 6: mvHYPERION installer - Windows logo testing
20 CONTENTS
Figure 7: mvHYPERION installer - Driver successfully installed
Figure 8: mvHYPERION installer -Installation complete
After this, you have to restart the system. Afterwards, you can acquire images with the frame grabber. Simply start the application wxPropView (p.48) (wxPropView.exe).
See also
wxPropView (p.48)

7.3 Linux

7.3.1 System Requirements
Kernel requirements
Kernel 2.6.x.
Software requirements
7.3 Linux 21
• Linux x86 (32-bit)
– The 32 bit version will run on a 64-bit Linux system if the other library requirements are met with 32-bit
libraries. i.e. you cannot mix 64 and 32-bit libraries and applications.
– Versions for Linux on x86-64 (64-bit), PowerPC, ARM or MIPS may be possible on request.
• GNU compiler version GCC 3.2.x or greater and associated toolchain.
Other requirements
libexpat ( http://expat.sourceforge.net)
• Optional: wxWidgets 2.6.x (non Unicode) for the wxWidget test programs.
• Optional: udev or hotplug subsystem (see also 6. below).
As an example of which packets need to be installed, consider OpenSuSE 10.1:
• The compiler used is gcc 4.1.0 and may need to be installed. Use the "gcc" und "gcc-c++" RPMs. Other RPMs may be installed automatically due to dependencies (e.g. make).
libexpat will almost definitely be installed already in any software configuration. The RPM is called "expat".
• Install the wxWidgets "wxGTK" and "wxGTK-develop" RPMs. Others that will be automatically installed due to dependencies include "wxGTK-compat" and "wxGTK-gl". Although the MATRIX VISION software does not use the ODBC database API the SuSE version of wxWidgets has been compiled with ODBC support and the RPM does not contain a dependency to automatically install ODBC. For this reason you must also install the "unixODBC-devel" RPM.
• OpenSuSE 10.1 uses the udev system so a separate hotplug installation is not needed.
Hardware requirements
PC with PCI Express Single lane
Note
The driver contains libraries for Linux x86 (32 bit) or Linux 64-bit (x86_64). There are separate package files for systems with toolchains based on GNU gcc 3.2.x - 3.3.x and those based on GNU gcc >= 3.4.x. gcc 3.1.x may work but, in general, the older your toolchain is, the lass likely it is that it will work. Toolchainss based on GNU gcc 2.x.x are not supported at all.
7.3.2 Installing the mvIMPACT Acquire driver
7.3.2.1 Using the installer script
To use the mvHYPERION frame grabber within Linux (grab images from it and change its settings), a driver is needed, consisting of several libraries and several configuration files. These files are required during run time.
To develop applications that can use the mvHYPERION frame grabber, a source tree is needed, containing header files, makefiles, samples, and a few libraries. These files are required at compile time.
Both file collections are distributed in a single package:
mvHYPERION-x86_ABI2-n.n.n.tgz
22 CONTENTS
1. Please start a console and change into a directory e.g. /home/username/workspace
cd /home/username/workspace
2. Copy the install script and the hardware driver to the workspace directory (e.g. from a driver CD or from the website):
~/workspace$ cp /media/cdrom/drv/Linux/install_mvHYPERION.sh /
. && cp /media/cdrom/drv/Linux/mvHYPERION-x86_ABI2-2.14.0.tgz -t ./
3. Run the install script:
~/workspace$ ./install_mvHYPERION.sh
Note
The install script has to be executable. So please check the rights of the file. During installation, the script will ask, if it should build all tools and samples.
You may need to enable the execute flag with
chmod a+x install_mvHYPERION.sh
The installation script checks the different packages and installs them with the respective standard packages man­ager (apt-get) if necessary.
Note
The installation script ("install_mvHYPERION.sh") and the archive ("mvHYPERION-x86_AB←-
I2-n.n.n.tgz") must reside in the same directory. Nothing is written to this directory during script execu-
tion, so no write access to the directory is needed in order to execute the script.
You need Internet access in case one or more of the packages on which the GenICam™ libs depend are not yet installed on your system. In this case, the script will install these packages, and for that, Internet access is required.
The script takes two arguments, both of which are optional:
1. target directory name
2. version
The target directory name specifies where to place the driver. If the directory does not yet exist, it will be created. The path can be either absolute or relative; i.e. the name may but need not start with "/.".
Note
This directory is only used for the files that are run time required.
The files required at compile time are always installed in "$HOME/mvimpact-acquire-n.n.n". The script also creates a convenient softlink to this directory:
mvimpact-acquire -> mvIMPACT_acquire-2.3.2
If this argument is not specified, or is ".", the driver will be placed in the current working directory.
The version argument is entirely optional. If no version is specified, the most recent mvHYPERION-x86_AB←-
I2-n.n.n.tgz found in the current directory will be installed.
If you have also installed tools and samples, you will find them in apps. Just change into the subdirectory, for example, "apps/mvPropView/x86" you can find the camera setup tool wxPropView (p. 48). You can find it in subdirectory "/mvimpact-acquire/apps/mvPropView/x86". However, you do not always have to start the tool from this folder. The installer script has created symbolic links so that it is enough to type in
wxPropView throughout the system to start wxPropView (p.48).
The mvIMPACT Acquire libraries look for camera definition files in the directory "mvimpact-acquire/camerafiles" so you will need to create these directories as the "root" user using "mkdir -p ./mvimpact-acquire/camerafiles".
7.3 Linux 23
7.3.2.2 Doing it manually
The mvHYPERION is controlled by a number of user-space libraries. It is not necessary to compile a kernel module.
1. Logon to the PC as the "root" user or start a super user session with "su". Start a console with "root" privileges.
2. Determine which package you need by issuing the following command in a terminal window:
gcc -v
This will display a lot of information about the GNU gcc compiler being used on your system. In case of the version number you have to do following:
3. You can now install the mvHYPERION libraries as follows:
• create a new directory somewhere on your system.
• copy the correct package file to this directory and change into this directory with "cd".
The libraries are supplied as a "tgz" archive with the extension ".tgz".
(a) Unpack the archive using "tar" e.g.:
tar xvzf mvhyperion-x86-ABI1-1.8.4.55.tgz
or
tar xvzf mvhyperion-x86-ABI2-1.8.4.55.tgz
Note
Current versions of the ABI1 libraries were compiled using a SuSE 8.1 system for maximum com­patibility with older Linux distributions. These libraries should work with all SuSE 8.x and SuSE
9.x versions as well as with Debian Sarge and older Red Hat / Fedora variants. Current versions of the ABI2 libraries were compiled using a SuSE 10.1 system for maximum compatibility with newer Linux distributions. These libraries should work with SuSE 10.x as well as with Ubuntu 6.06 or newer, with up-to-date Gentoo or Fedora FC5.
(b) After installing the access libraries you will see something like the following directory structure in your
directory (dates and file sizes will differ from the list below):
drwxr-xr-x 10 root root 4096 Jan 5 15:08 . drwxr-xr-x 23 root root 4096 Jan 4 16:33 .. drwxr-xr-x 3 root root 4096 Jan 5 15:08 DriverBase
-rw-r--r-- 1 root root 1079 Jan 5 15:08 Makefile drwxr-xr-x 7 root root 4096 Jan 5 15:08 apps drwxr-xr-x 4 root root 4096 Jan 5 15:08 common drwxr-xr-x 3 root root 4096 Jan 5 15:08 lib drwxr-xr-x 3 root root 4096 Jan 5 15:08 mvDeviceManager drwxr-xr-x 2 root root 4096 Jan 5 15:08 mvIMPACT_CPP drwxr-xr-x 3 root root 4096 Jan 5 15:08 mvPropHandling drwxr-xr-x 1 root root 4096 Jan 5 15:08 scripts
The directory "lib/x86" contains the pre-compiled 32-bit libraries for accessing the mvBlueFOX. If 64-bit libraries are supplied they will be found in "lib/x86_64". The "apps" directory contains test applications (source code). The directories contain headers needed to write applications for the device.
Since the libraries are not installed to a directory known to the system i.e. not in the "ldconfig" cache you will need to tell the system where to find them by...
• using the "LD_LIBRARY_PATH" environment variable,
• or copying the libraries by hand to a system directory like "/usr/lib" (or using some symbolic
links),
• or entering the directory in "/etc/ld.so.conf" and running "ldconfig".
e.g. to start the application called "LiveSnap":
24 CONTENTS
Note
Please declare the device e.g. HCor HC000000001
cd my_directory LD_LIBRARY_PATH=‘pwd‘/lib/x86 apps/LiveSnap/x86/LiveSnap HC
For 64-bit it will look like this... LD_LIBRARY_PATH=‘pwd‘/lib/x86_64 apps/LiveSnap/x86_64/LiveSnap HC
For ARM it will look like this... LD_LIBRARY_PATH=‘pwd‘/lib/arm apps/LiveSnap/arm/LiveSnap HC
*
*
*
etc.
After installing the libraries and headers you may continue with "3." below as a normal user i.e. you do not need to be "root" in order to compile the test applications. See also the note "4." below.
(c) To build the test applications type "make". This will attempt to build all the test applications contained
in "apps". If you have problems compiling the wxWidget library or application you may need to do one or more of the following:
• install the wxWidget 3.x development files (headers etc.) supplied for your distribution. (See "Other requirements" above).
• fetch, compile and install the wxWidget 3.x packet from source downloaded from the website (
http://www.wxwidgets.org).
• alter the Makefiles so as to find the wxWidget configuration script called wx-config.
The files you may need to alter are to be found here:
apps/mvPropView/Makefile.inc
You will find the compiled test programs in the subdirectories "apps/.../x86". For 64 bit systems it will be "apps/.../x86_64". For ARM systems it will be "apps/.../arm".
If you cannot build the wxWidget test program you should, at least, be able to compile the text-based test programs in apps/SingleCapture, apps/LiveSnap, etc.
The Makefile will also attempt to configure itself so that the mvHYPERION kernel module can be built. You should see the following message at the end of the compile block:
============================================================= To install the mvHYPERION kernel module now make sure that you are root and type: make install =============================================================
If you are not already logged in as the "root" user you must now use "su" to change users and type
"make install". On an Ubuntu system you might try "sudo make install". The kernel
module will now be built and installed.
Now you will have to tell your system to use this kernel module and to associate it with a device node. To do this you need to edit the file "/etc/modprobe.conf". Depending on your system you may have a directory called "/etc/modules.d/", where you can put files that are included automatically in "/etc/modprobe.conf". Other systems (e.g. older SuSE) use a file called
"/etc/modprobe.conf.local" which the user may alter. Which ever way you do it, you need
to add some lines like this:
alias char-major-64 hyperion options hyperion major_dev_num=64
Afterwards, please use "depmod -a" to tell the system about this change. The lines above tell the system to use a device called "/dev/hyperion" with a major number of 64.
(d) If you are using a system with an up-to-date version of udev you might be interested in the file "←-
Scripts/50-udev-hyperion.rules". By including this file in your udev rules directory you can tell your system to create a device node for the mvHYPERION automatically when loading the kernel module.←- You will need to edit the file to fit your system. As delivered, all entries are commented out.
If you do not use udev then you will have to create a device node yourself by hand. For example, you could do the following to use major device number 64:
mknod /dev/hyperion c 64 0
7.4 Connecting a camera 25
If you have more than one mvHYPERION in your PC you will need a device node per card:
mknod /dev/hyperion0 c 64 0 mknod /dev/hyperion1 c 64 1 mknod /dev/hyperion2 c 64 2 mknod /dev/hyperion3 c 64 3
(e) The mvIMPACT Acquire libraries look for camera definition files in the directory "/etc/matrix-vision/mvimpact-acquire/camerafiles"
so you will need to create these directories as the "root" user using "mkdir -p /etc/matrix-vision/mvimpact-acquire/camerafiles".
You should download the camera definitions for your camera from the MATRIX VISION website and copy them to this directory.

7.4 Connecting a camera

To connect a camera, for example via CameraLink cable to the mvHYPERION-CLx frame grabber, please do the following:
• Connect the cable from the camera (labeled with e.g. Data channel 1) to the first connector J1 of the mvH←- YPERION frame grabber.
• Optionally, if you are using a Medium or Full, connect the cable from the camera (labeled with e.g. Data channel 2) to the second connector J2 of the mvHYPERION.
• Optionally, use the connector J3 to power the camera.
Make sure that you do not mix up the channels. For this, please have a look at chapter Technical data (p. 28), where to find the specific connectors.
• Afterwards, start wxPropView (p.48) and choose the "Generic" camera definition.
• Now, press the Live button - at this point you should see something from the camera.
• Then, create a new camera definition as described in Working with camera descriptions (p. 71).
• Finally, export the new camera definition and choose it in "wxPropView -> ImageSetting -> Camera -> Type".

7.5 Settings behavior during startup

Settings contain all the parameters that are needed to prepare and program the device for the image capture. Every image can be captured with completely different set of parameters. In almost every case, these parameters are accessible via a property offered by the device driver. A setting e.g. might contain
• the gain to be applied to the analog to digital conversion process for analog video sources or
• the AOI to be captured from the incoming image data.
So for the user a setting is the one an only place where all the necessary modifications can be applied to achieve the desired form of data acquisition.
Now, whenever a device is opened, the driver will execute following procedure:
26 CONTENTS
Figure 9: wxPropView - Device setting start procedure
• Please note that each setting location step in the figure from above internally contains two search steps. First the framework will try to locate a setting with user scope and if this can't be located, the same setting will be searched with global (system-wide) scope. Under Windows® this e.g. will access either the HKEY_CURR←- ENT_USER or (in the second step) the HKEY_LOCAL_MACHINE branch in the Registry.
• Whenever storing a product specific setting, the device specific setting of the device used for storing will be deleted (if existing). So when the user is currently working with a device 'VD000001' belonging to the product group 'VirtualDevice' and there is a setting exclusively for this device storing a product specific setting now will automatically delete the setting for 'VD000001'. Otherwise a product specific setting would never be loaded as a device specific setting will always be found first.
• The very same thing will also happen when opening a device from any other application! wxPropView (p. 48) does not behave in a special way but only acts as an arbitrary user application.
• Whenever storing a device family specific setting, the device specific or product specific setting of the device used for storing will be deleted (if existing). See above to find out why.
• Under Windows® the driver will not look for a matching XML file during start-up automatically as the native storage location for settings is the Windows® Registry. This must be loaded explicitly by the user by using the appropriate API function offered by the SDK. However, under Linux XML files are the only setting formats understood by the driver framework thus here the driver will also look for them at start-up. The device specific setting will be an XML file with the serial number of the device as the file name, the product specific setting will be an XML file with the product string as the filename, the device family specific setting will be an XML file with the device family name as the file name. All other XML files containing settings will be ignored!
• Only the data contained in the lists displayed as "Image Setting", "Digital I/O" and "Device
Specific Data" under wxPropView (p.48) will be stored in these settings!
• Restoring of settings previously stored works in a similar way. After a device has been opened the settings will be loaded automatically as described above.
• A detailed description of the individual properties offered by a device will not be provided here but can be found in the C++ API reference, where descriptions for all properties relevant for the user (grouped together in classes sorted by topic) can be found. As wxPropView (p.48) doesn't introduce new functionality but simply evaluates the list of features offered by the device driver and lists them any modification made using the GUI
Loading...
+ 118 hidden pages