coaxlink driver 4.7 release notes -...
TRANSCRIPT
RELEASE NOTES
CoaxlinkCoaxlink Driver 4.7.4
© EURESYS s.a. 2016 - Document version 4.7.485 built on 2016-05-27
EURESYS s.a. shall retain all property rights, title and interest of the documentation of the hardware and the software,and of the trademarks of EURESYS s.a. All the names of companies and products mentioned in the documentation maybe the trademarks of their respective owners. The licensing, use, leasing, loaning, translation, reproduction, copying ormodification of the hardware or the software, brands or documentation of EURESYS s.a. contained in this book, is notallowed without prior notice. EURESYS s.a. may modify the product specification or change the information given in thisdocumentation at any time, at its discretion, and without prior notice. EURESYS s.a. shall not be liable for any loss of ordamage to revenues, profits, goodwill, data, information systems or other special, incidental, indirect, consequential orpunitive damages of any kind arising in connection with the use of the hardware or the software of EURESYS s.a. or resultingof omissions or errors in this documentation.
Contents Coaxlink Driver 4.7 Release Notes
3
Contents
Introduction...........................................................................................................................................................................4Supported Products.................................................................................................................................................................... 4Supported Firmware Variants per Product............................................................................................................................... 4Supported Operating Systems................................................................................................................................................... 5Supported Development Tools.................................................................................................................................................. 5Supported Memento Versions.................................................................................................................................................... 5Software Tools.............................................................................................................................................................................6
What's New?.......................................................................................................................................................................... 7Added Product.............................................................................................................................................................................7Added Firmware.......................................................................................................................................................................... 7Firmware Update.........................................................................................................................................................................7Added/Improved Features.......................................................................................................................................................... 8Solved Issues..............................................................................................................................................................................10Changes...................................................................................................................................................................................... 10
Known Issues..................................................................................................................................................................... 12Deviations from the CoaXPress specification..........................................................................................................................12
Device to Host Connection................................................................................................................................................... 12CoaXPress 1.1.1 Discovery.................................................................................................................................................... 13
Deviations from the GenTL specification................................................................................................................................ 14Deviations from the PCIe 3.0 specification..............................................................................................................................15
Coaxlink Driver 4.7 Release Notes Introduction
4
Introduction
Supported ProductsProduct Code & Denomination Description Icon
PC1630 – Coaxlink Mono One-connection CoaXPress frame grabber Mono
PC1631 – Coaxlink Duo Two-connection CoaXPress frame grabber Duo
PC1632 – Coaxlink Quad Four-connection CoaXPress frame grabber Quad
PC1633 – Coaxlink Quad G3 PCIe 3.0 four-connection CoaXPress frame grabber Quad G3
Supported Firmware Variants per ProductTarget Product Firmware
Variant Description Icon
PC1630 – Coaxlink Mono 1-camera One 1-connection area-scan camera Mono
1-camera One 1- or 2-connection area-scan camera Duo
PC1631 – Coaxlink Duo
2-camera Two 1-connection area-scan cameras Duo
1-camera One 1- or 2- or 4-connection area-scan camera Quad
2-camera Two 1- or 2-connection area-scan cameras QuadPC1632 – Coaxlink Quad
1-line-scan One 1- or 2- or 4-connection line-scan camera Quad
1-camera One 1- or 2- or 4-connection area-scan camera Quad G3
2-camera Two 1- or 2-connection area-scan cameras Quad G3
4-camera Four 1-connection area-scan cameras Quad G3
1-line-scan One 1- or 2- or 4-connection line-scan camera Quad G3
PC1633 – Coaxlink Quad G3
2-line-scan Two 1- or 2-connection line-scan cameras Quad G3
Introduction Coaxlink Driver 4.7 Release Notes
5
Supported Operating SystemsWindows
OS Version Additional Information
x86 (32-bit)Microsoft Windows 7
x86-64 (64-bit)Service Pack 1
x86 (32-bit)Microsoft Windows 8
x86-64 (64-bit)-
x86 (32-bit)Microsoft Windows 8.1
x86-64 (64-bit)-
x86 (32-bit)Microsoft Windows 10
x86-64 (64-bit)-
LinuxThe Coaxlink Driver is designed to be distribution-independent on x86 and x64 platforms. It is expected to work with a widerange of distributions.This release has been validated with the following distribution(s):
OS Version Additional Information
x86 (32-bit)Linux distribution Ubuntu 14.04
x86-64 (64-bit)Kernel Version 3.13
Supported Development ToolsThe Coaxlink driver is supplied as GenICam GenTL producer libraries (coaxlink.cti):
• An x86 dynamic library designed to be used with ISO-compliant C/C++ compilers for the development of x86 applications.• An x86_64 dynamic library designed to be used with ISO-compliant C/C++ compilers for the development of x86_64
applications.• A .NET assembly designed to be used with development environments compatible with .NET frameworks version 2.0 or
higher.
The Coaxlink cards should be usable with any development tool that supports at least one of these interfaces.
Supported Memento VersionsMemento Version 4.0 or later is required when using Coaxlink Driver version 4.0 or later.
Coaxlink Driver 4.7 Release Notes Introduction
6
Software ToolsThe following software tools are delivered together with the Coaxlink Driver:
Tool Name Tool Description
Coaxlink Firmware Manager Command-line tool for installing or upgrading the firmware embedded on the Coaxlinkcards.
GenICam Browser (64-bit) 64-bit version of the GUI tool giving access to all the GenICam features exposed by theGenTL Producer(s) in your system
GenICam Browser 32-bit version of the GenICam browser
GenTL Console (64-bit) 64-bit version of the command-line tool giving access to all the functions andcommands exposed by the Euresys GenTL Producer
GenTL Console 32-bit version of the GenTL Console
What's New? Coaxlink Driver 4.7 Release Notes
7
What's New?
Added ProductThere are no addition to the list of supported products with this release.
Added FirmwareThere are no added product/firmware combinations nor added firmware variant(s) with this release.
Firmware UpdateCoaxlink Driver 4.7The following table indicates the minimal required firmware version for every available product/firmware-variantcombination:
Product /firmware-variant Combinations Min. Firmware Version Number
Mono
Duo
Quad
Quad G3 188
Duo
Quad
Quad G3 188
Quad G3 188
Quad
Quad G3 188
Quad G3 188
It is mandatory to apply the firmware update procedure prior to using Coaxlink Driver 4.7.
Note: The Coaxlink driver checks the compatibility of the firmware installed on every Coaxlink card.
Note: For Coaxlink cards having an incompatible firmware, the GenTL driver exposes 0 (zero) Device andthe GenICam browser displays an error message. In both cases, you are invited to run the Euresys CoaxlinkFirmware Manager.
Coaxlink Driver 4.7 Release Notes What's New?
8
GenICam Browser – "Firmware too old" pop-up message.
Changes Since Firmware v182
Function Description
Frame Store PartitioningFixed an issue with the frame store buffer partition control in the 2-camera-line-scan firmwarevariant.
Frame Store BandwidthThe frame store bandwidth of the 2-line-scan firmware variant has been increased.
This improvement benefits mainly to the acquisition of small lines of 4096 pixels or less.
Readout Complete EventThe readout complete event is generated after having acquired exactly the number of pixelsspecified in the CoaXPress image header.
CRC Errors ReportingFixed an issue that unduly reports multiple Memento CRC error messages when a CRC error occurson the last received CoaXPress data packet.
Image Header Error ReportingFixed an issue that unduly reports multiple Memento Image Header error messages when an erroroccurs.
CoaXPress Indicator LampsFixed an issue that prevents CoaXPress indicator lamps to report image data transfer activity forline-scan firmware variants.
Frame Store ControlFor area-scan firmware variants: improved the robustness of the frame store against mismatchesbetween the number of pixels or bytes announced in the CoaXPress image header and the effectivenumber of pixels or bytes delivered by the camera.
Added/Improved FeaturesCoaxlink Driver 4.7
CoaXPress Host Interface
Feature Name Feature Description
Packet Arbiter Reset
Added CxpPacketArbiterReset GenApi command to Device module.
By default, according to the CoaXPress Standard, Coaxlink doesn't reset the packet arbiter everyframe. The first packet of a the subsequent frame is expected on the next Connection in ascendingorder.
Some cameras, incorrectly resets to Connection 0 on every frame.
For such cameras, the CxpPacketArbiterReset GenApi command allows the user to'manually' resets the Coaxlink packet arbiter at every frame boundary
What's New? Coaxlink Driver 4.7 Release Notes
9
Feature Name Feature Description
CoaXPress 1.1.1Partial support for CoaXPress 1.1.1.
Note: Refer to CoaXPress 1.1.1 Discovery on page 13 for more info.
Link ConfigurationAdded CxpLinkConfiguration GenApi feature to device module.
This feature allows the user application to configure the CoaXPress Link (speed and connections)using always the same GenApi feature name regardless of the camera brand.
CoaXPress RevisionAdded CxpRevisionSupport GenApi feature to interface module.
The feature reports the support status of the CoaXPress standard revision selected by the GenApifeature CxpRevisionSelector.
Microsoft Windows
Feature Name Feature Description
Fast Start-up Added support of Windows fast start-up.
GenICam Browser
Feature Name Feature Description
Save & Restore
Added save/restore state functionality.
A state is a text file containing a list of module ports under which features and their associatedvalues and access rights are listed in a tree like structure.
The “Save State…” button is used to save the selected module or all modules highlighted in blue. Atthe end of the process, the user can choose a file name to save the state.
The “Restore State” button is used to restore the state of modules.
Note: When saving all modules highlighted in blue in the GenICam Browser, theuser will be asked to save or not the RemotePort state (that is the features from thecamera).
Save & Restore Scripts
Saving and restoring state is also accessible from the scripts.
Examples:
var grabber = grabbers[0]; // Select the first grabber from grabbers list// Savevar withRemote = true;// Save “all modules” from a grabberrequire('coaxlink://save-state.js'). captureGrabbers([grabber], withRemote, ['grabber.es']);// Save the DevicePort from a grabberrequire('coaxlink://save-state.js').captureModules([grabber], 'DevicePort', ['device.es']);// Restore a previously saved staterequire('coaxlink://restore-state.js').restore([grabber], 'state.es');
Enumeration Entry TooltipShow Tooltip of enumeration entries when available in the XML file.
Previously, only the Tooltip of the enumerated feature was shown.
Jump to node definition Jump to XML node definition from GenApi feature.
XML View Improvements
• Show GenICam node value as call-tip (including selectors).• Jump to GenApi tab feature when applicable.• Jump to node selector from selected node.• Jump to selected node from node selector.
Coaxlink Driver 4.7 Release Notes What's New?
10
Feature Name Feature Description• Find occurrences of current node.• Find current word or selection.
Sample Programs
Feature Name Feature Description
NVIDIA CUDAAdded egrabber-cuda sample program.
Refer to coaxlink-sampleprograms\cpp\nvidia\egrabber-cuda\README.txt file for moreinfo.
Memento
Feature Name Feature Description
xperf commandAdded xperf command to Memento.
This command allows recording Memento data and XPerf data to a disk file.
Solved IssuesGenICam Browser4.7.2: Fixed and issue that caused the 'buffer count' setting to be ignored
Camera and Illumination Controller4.7.2: Fixed an issue that sometimes caused the camera and illumination controller to allow exposure/readout overlap evenwhen ExposureReadoutOverlap was set to False
EGrabber4.7.0: EGrabber C++ headers (and EGrabber sample programs) now support clang++
Memento4.7.2: Fixed an issue with user filters based on the verbosity level
ChangesCoaxlink Driver 4.6
Item Change Description
EGrabber API
Deprecated EGrabber method announceBuffer(superseded by announceAndQueue)
Note: The method can still be used by #definingEURESYS_USE_EGRABBER_DEPRECATED_API
What's New? Coaxlink Driver 4.7 Release Notes
11
Coaxlink Driver 4.4.2
Item Change Description
GenTL ClassGenTL class now behaves like SharedGenTL, which is what most users need (the GenTL constructoraccepts a new argument, named shared, which can be used to revert to the old behavior)
RGBConverter.h Added inplace1x2ye reordering methods instead of Inplace1x2ye reordering class
Coaxlink Driver 4.3 – GenICam Feature Change
Data Stream Module
GenICam Feature Change Description
UnpackingMode Changed default value to LSB (instead of MSB)
Coaxlink Driver 4.1 – GenICam Features Changes
Device Module – Cycle Control Category
Deprecated GenICam Features Change Description New or updated GenICam Feature
CycleHardwareTriggerSourceMerged with existingCycleTriggerSource feature
CycleTriggerSource
CyclePeriodTarget Renamed CycleTargetPeriod
CycleSoftwareTrigger Renamed StartCycle
Device Module – Errors Category
Deprecated GenICam Features Change Description New or updated GenICam Feature
ErrorCounter Renamed ErrorCount
ErrorCounterReset Renamed ErrorCountReset
Data Stream Module – Errors Category
Deprecated GenICam Features Change Description New or updated GenICam Feature
ErrorCounter Renamed ErrorCount
ErrorCounterReset Renamed ErrorCountReset
Since Coaxlink Driver 4.1, the deprecated features were removed from the drivers API. Existing applications must be edited,to use the updated feature names.
Coaxlink Driver 4.7 Release Notes Known Issues
12
Known Issues
Deviations from the CoaXPress specification
Device to Host ConnectionThe CoaXPress standard suggests that Devices (cameras) can be connected to the Host (frame grabber) using a freeconnection scheme.Instead, the Host Interface of Coaxlink requires a specific assignment of the Device connections to the Host connectors. Suchassignment is named Host Connection Map.
Coaxlink Host Connection MapsCoaxlink supports the following Host Connection Maps:
1D1 Connection Map
Device 0 A0 Connection 0
1D2 Connection Map
Device 0
01
Connection 0Connection 1 B
A0 Connection 0 AOR
B
1D4 Connection Map
Device 0
01
Connection 0Connection 1 B
A0 Connection 0 A
OR
01
Connection 0Connection 1 B
A
OR23
Connection 2Connection 3 D
CBCD
CD
2D11 Connection Map
Device 0 A0 Connection 0
Device 1 B0 Connection 0
Known Issues Coaxlink Driver 4.7 Release Notes
13
2D22 Connection Map
Device 0
01
Connection 0Connection 1 B
A0 Connection 0 AOR
B
Device 1
01
Connection 0Connection 1 D
C0 Connection 0OR
DC
4D1111 Connection Map
Device 0 A0 Connection 0
Device 1 B0 Connection 0
Device 2 C0 Connection 0
Device 3 D0 Connection 0
The Host Connection Map is hard-coded in the product/firmware variant. The Coaxlink product and firmware variant mustbe selected according to the required mapping!
Firmware Variant & Product vs. Host Connection MapThe Coaxlink product and firmware variant must be selected according to the required Host Connection Map:
Host Connection Map Firmware variant(s) Product(s)
1D1 Mono
1D2 Duo
1D4 Quad Quad G3
2D11 Duo
Quad Quad G3
2D22Quad G3
4D1111 Quad G3
CoaXPress 1.1.1 DiscoveryThe 10.1.3 Discover Devices and Connection Topology paragraph of the CoaXPress 1.1.1 standard claims:"The Host shall read the ConnectionConfigDefault register to find the number of expected connections.It shall then write to the ConnectionConfig register to enable the number of connections read fromConnectionConfigDefault. However it shall not change from the discovery rate at this stage."
The 10.3.33 ConnectionConfig paragraph of the CoaXPress 1.1.1 standard claims:
Coaxlink Driver 4.7 Release Notes Known Issues
14
"This register shall hold a valid combination of the Device connection speed and number of active downconnections.Writing to this register shall set the connection speeds on the specified connections, and the high speed upconnection,if supported. If the new ConnectionConfig value results in a change of connection speed, the Device shallacknowledge the ConnectionConfig access at the original connection speed. Therefore it shall acknowledge theaccess before changing connection speed."
Note: Not all theoretical combinations of connection speed and number of connections may be usable.One register is used to ensure that the two variables are set simultaneously. The XML file and productdocumentation give valid combinations for the Device. A connection reset sets the value corresponding to theselected discovery rate and one connection.
Considering that:
• The above paragraphs disagree on the value that should be written to the ConnectionConfig register,• Changing the behavior to respect CoaXPress 1.1.1 statements causes issues with some cameras,
the CoaXPress discovery procedure of the Coaxlink Driver is not modified to comply with CoaXPress 1.1.1.At the end of the discovery procedure, the Coaxlink Driver sets the speed and the number of the connections of the CoaXPressLink according to the settings of ConnectionConfigDefault register of the camera.
Deviations from the GenTL specificationEventKillThe GenTL specification states that:
• In case of multiple pending wait operations EventKill causes one wait operation to return with a GC_ERR_ABORTerror code.
• This means that if more than one thread waits for an event, the EventKill function terminates only one wait operationand other threads will continue execution.
• Therefore in order to cancel all pending wait operations EventKill must be called as many times as wait operationsare pending.
• In case this function is called while no wait operation was pending the next call to EventGetData will return aGC_ERR_ABORT.
This specification is nothing but the behavior description of a particular implementation based on a Windows auto-resetevent.This implementation is prone to race conditions: calling EventKill N times in a row to kill exactly N waiting threads isnot guaranteed to work as expected because signaling an event that is already in the signaled state has no effect. In otherwords, some of the EventKill calls could have no effect.EventKill as specified is not easy to use: How many EventKill calls are required? How many EventGetData callsshould we expect to return GC_ERR_ABORT? Note that race conditions affect these questions.The Euresys GenTL implementation solves these issues, but differs slightly:
• EventKill aborts all pending wait operations on the event handle.• EventKill has no impact on subsequent wait operations.
DSStopAcquisitionThe GenTL specification states that:
• Each call to DSStartAcquisition must be accompanied by a call to DSStopAcquisition.• Argument iNumToAcquire passed to DSStartAcquisition sets the number of filled/delivered buffers after which
the acquisition engine stops automatically.• There must be a call to DSStopAcquisition accompanying each call to DSStartAcquisition even though the
stream already stopped because the number of frames to acquire was reached.
Known Issues Coaxlink Driver 4.7 Release Notes
15
• DSStopAcquisition returns GC_ERR_RESOURCE_IN_USE when the acquisition engine has already beenterminated or has not been started.
The reasons for this behavior is not clear.The Euresys GenTL implementation differs slightly:
• DSStopAcquisition will not return GC_ERR_RESOURCE_IN_USE if the data stream hasn't been started.• DSStopAcquisition will not return GC_ERR_RESOURCE_IN_USE if the data stream has already been stopped by
a prior call to DSStopAcquisition.• DSStopAcquisition will not return GC_ERR_RESOURCE_IN_USE if the data stream has stopped automatically
after iNumToAcquire images have been captured.
In other words, DSStopAcquisition is idempotent.With the Euresys implementation, it is not necessary to treat some errors as normal, and race conditions (betweenDSStopAcquisition and the automatic stop of the data stream are avoided. Furthermore, if the data stream hasstopped automatically after acquiring iNumToAcquire images, DSStartAcquisition can be called without firstcalling DSStopAcquisition.
Deviations from the PCIe 3.0 specificationThe PCI Express 3.0 interface of PC1633 – Coaxlink Quad G3 operates only at PCIe 2.0 and PCIe 3.0 link speeds.Consequently, it cannot be used in PCIe 1.x slots.
Note: When inserted in a PCIe 1.x slot, normal board operation is not possible, but the board is detected andappears in the device manager and only firmware install/upgrade actions are supported.