Matrox Imaging Library (MIL) 10 Update 87

Matrox Rapixo CXP release notes

March 2020

 (c) Copyright Matrox Electronic Systems Ltd., 1992-2020.

 

This document outlines what is new with the MIL 10 driver for Matrox Rapixo CXP and explains the current limitations and particularities.

It also presents last-minute information that did not make it into the manual or on-line help. Note that this help file serves to complement your manual. The information found in this file overrides your formally documented material.

Contents

1.     MIL 10 Driver for Matrox Rapixo CXP

1.1         What’s new in MIL 10 Update 87

1.1.1      Standards compliance

1.1.2      Summary of new features

1.1.3      API enhancements to control trigger (M_GRAB_TRIGGER_ACTIVATION)

1.1.4      API enhancements to timer controls

1.1.5      New API to inquire the CXP connection topology

1.1.6      New API to use CXP test mode

1.1.7      Software bug fixes and changes

1.1.8      Known limitations and particularities

1.2         What’s new in MIL 10 Update 84

1.2.1      Standards compliance

1.2.2      Summary of new features

1.2.3      API enhancements to control Power over CXP (PoCXP)

1.2.4      API enhancements to monitor CXP link errors

1.2.5      Mfpga API enhancements

1.2.6      Software bug fixes and changes

1.3         What’s new in MIL 10 Update 75

1.3.1      Standards compliance

1.3.2      Known limitations and particularities

2.     Supported operating systems

3.     Location of examples (in the help file)

 


 

1.     MIL 10 Driver for Matrox Rapixo CXP

1.1         What’s new in MIL 10 Update 87

1.1.1        Standards compliance

Matrox Rapixo CXP supports the following standards:

·         JIIA CoaXPress®  Standard version 2.0, 1.1.1 and 1.0

·         GenICamGenApi version 3.1.0

·         GenICamTM Standard Feature Naming Convention (SFNC) version 2.5

·         GenICamTM  GenTL version 1.5

1.1.2        Summary of new features

The following features are new for this release:

·         Added support for Matrox Rapixo CXP Single/Dual.

·         Added support for Matrox FPGA Development Kit (FDK) version 19.1.10 and later.

·         Added support for CXP device tap geometry.

·         Added new API to inquire CXP connection topology (see M_CONNECTION* below)

·         Added new API to use CXP test mode.

·         Added new MdigControls of M_TIMER_ARM.

·         Added new MdigControls of M_TIMER_RESET_SOURCE.


 

1.1.3        API enhancements to control trigger (M_GRAB_TRIGGER_ACTIVATION)

 

MdigControl / MdigInquire

Control Value

Description

M_GRAB_TRIGGER_ACTIVATION

M_LEVEL_LOW_END_WHEN_INACTIVE

Specifies that triggered grabs are initiated by a low trigger signal polarity, and completed when the trigger signal goes high.

M_LEVEL_HIGH_END_WHEN_INACTIVE

Specifies that triggered grabs are initiated by a high trigger signal polarity, and completed when the trigger signal goes low.

 

 

 

 

 

 

 

 

 

 

1.1.4        API enhancements to timer controls

 

MdigControl / MdigInquire

Control Value

Description

M_TIMER_RESET_SOURCE + M_TIMERn

Same values as existing for M_TIMER_TRIGGER_SOURCE (see MdigControl reference)

Specifies how the timer reset is triggered, for example by an auxiliary input signal or after a specified period of time.

 

Resetting the timer sets it to 0 and immediately restarts the clock.

M_TIMER_ARM + M_TIMERn

M_ENABLE

M_DISABLE

M_DEFAULT (value from DCF    or M_DISABLE)

Specifies whether to enable the timer arming mechanism. If timer arming is enabled, then the timer will ignore its trigger signal until a signal transition specified using M_TIMER_ARM_ACTIVATION occurs on the signal specified using M_TIMER_ARM_SOURCE.

M_TIMER_ARM_SOURCE + M_TIMERn

Same values as M_TIMER_TRIGGER_SOURCE

Specifies which input source will arm the timer, if timer arming is enabled. Use M_TIMER_ARM to enable timer arming.

M_TIMER_ARM_ACTIVATION + M_TIMERn

M_LEVEL_LOW

M_LEVEL_HIGH

M_EDGE_RISING

M_EDGE_FALLING

M_DEFAULT (value from DCF or M_EDGE_RISING)

Specifies which state, or transition, of the signal from the input source will arm the timer, if timer arming is enabled. Use M_TIMER_ARM to enable timer arming.

 


 

1.1.5         New API to inquire the CXP connection topology

MdigInquire

Inquired Value

Description

M_CONNECTION_COUNT

MIL_INT

Specifies the number of connections between the system and the camera.

M_CONNECTION_STATE +  M_CONNECTIONn

M_DETECTED

M_UNDETECTED

Specifies the state of the connection.

M_CONNECTION_TYPE + M_CONNECTIONn

M_MASTER

M_SLAVE 

Specifies the CXP connection type. Typically, a camera only has one master connection.

M_CONNECTION_ID +  M_CONNECTIONn

MIL_INT

Specifies which physical CXP connector on the camera is connected to CXP connector n on your board. For example, CXP connector 3 might be connected to CXP connector 1 on your camera (in which case this inquiry will return 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1.6        New API to use CXP test mode

 

MdigControl/MdigInquire

Control Value

and Type

Description

M_CONNECTION_TEST_MODE +  M_CONNECTIONn

M_OFF

M_MODE1

Use to enable or disable the CXP test mode.

M_CONNECTION_TEST_ERROR_COUNT +

 M_CONNECTIONn

MIL_INT64

Returns the current connection error count for test packets. Can be set to 0 to reset counter.

M_CONNECTION_TEST_PACKET_TRANSMITTED_COUNT +  M_CONNECTIONn

MIL_INT64

Return the number of test packet transmitted. Can be set to 0 to reset counter.

M_CONNECTION_TEST_PACKET_RECEIVED_COUNT  +

M_CONNECTIONn

MIL_INT64

Return the number of test packet received. Can be set to 0 to reset counter.

 

1.1.7        Software bug fixes and changes

·         Improved camera detection reliability and speed.

·         Added support for grabbing from 14-bit monochrome and Bayer cameras.

o   The Bayer conversion hardware supports a maximum line width of 16KB on Rapixo CXP-6 models and 32KB on Rapixo CXP-12 models.

·         Improve error messages when settings digitizer LUTs.

·         Fixed possible crash when freeing the digitizer while the feature browser is open.

·         Fixed possible crash when using DataLatches while grabbing on-board.

·         Fixed issue when using CXP trigger from camera.

·         Fixed issues with GenTL Producer related to camera discovery and camera vendor/model name reporting.

·         Increased default time period from PoCXP voltage application where over-current condition is ignored, from 256ms to 512ms.

o   At the initial period following PoCXP application, the voltage may induce a punctual over-current due to the initial in-rush current (to charge the line capacitance), which may be followed by secondary over-currents caused by the activation of a camera’s power-supplies.


1.1.8        Known limitations and particularities

·         For the Matrox Rapixo CXP Single/Dual, the system board type shown in the Feature Browser is incorrect and results in an error message that can be ignored.

1.2         What’s new in MIL 10 Update 84

1.2.1        Standards compliance

Matrox Rapixo CXP supports the following standards:

·         JIIA CoaXPress®  Standard version 1.0 and 1.1.1

·         GenICamGenApi version 3.1.0

·         GenICamTM Standard Feature Naming Convention (SFNC) version 2.5

·         GenICamTM  GenTL version 1.5

1.2.2        Summary of new features

·         This is the first release that supports the Matrox FPGA Development Kit (FDK) for the Matrox Rapixo CXP Pro, which is available in a separate installation package.

·         A new tool has been added in MILConfig to display board information and details of the PUs (processing units) and TUs (transfer units) implemented, with the Matrox FDK, in the firmware for a Matrox Rapixo CXP Pro. The Board Information utility can be found in MILConfig, under Boards / Rapixo CXP.

·         Added support of GenICamTM GenTL Producer with support for Data Stream and Buffer modules.

·         Improved digitizer allocation speed.

1.2.3        API enhancements to control Power over CXP (PoCXP)

MsysControl / MsysInquire

Control Value

Description

M_POWER_OVER_CABLE + M_CONNECTIONn / M_ALL

(n is the CXP port number from 0 to 3)

M_ON

Specifies to force power on the port.

M_OFF

Specifies to disable power on the port.

M_AUTOMATIC

Activates auto detection of PoCXP cameras.

M_RESET

Resets an error condition (over or under current) on the PoCXP port.

M_DEFAULT

Same as M_AUTOMATIC.

 

MsysInquire

Inquired Value

Description

M_POWER_OVER_CABLE_STATUS + M_CONNECTIONn

(n is the CXP port number from 0 to 3)

M_ON

Power is currently sent to the camera.

M_OFF

No power is sent to the camera.

M_SENSE

Currently sensing for a PoCXP camera.

M_OVER_CURRENT

An over-current error condition was detected; power is disabled. To restore power, use MsysControl(…, M_POWER_OVER_CABLE + M_CONNECTIONn, M_RESET).

 

M_UNDER_CURRENT

An under-current error condition was detected; power is disabled. To restore power, use MsysControl(…, M_POWER_OVER_CABLE + M_CONNECTIONn, M_RESET).

1.2.4        API enhancements to monitor CXP link errors

MsysControl / MsysInquire

Type

Description

M_TL_ERROR_LOCK_LOSS_COUNT +

MIL_INT64

Returns the number of loss of lock. To reset this error, set this control to 0.

M_TL_ERROR_CORRECTED_COUNT +

MIL_INT64

Returns the number of corrected errors in the duplicated characters in CXP control words. To reset this error, set this control to 0.

M_TL_ERROR_UNCORRECTED_COUNT +

MIL_INT64

Returns the number of uncorrected errors in the duplicated characters in CXP control words. To reset this error, set this control to 0.

M_TL_ERROR_DATA_CRC_COUNT +

MIL_INT64

Returns the number of CRC errors detected in a data packet. To reset this error, set this control to 0.

M_TL_ERROR_CTRL_CRC_COUNT +

MIL_INT64

Returns the number of CRC errors detected in a control packet. To reset this error, set this control to 0.

M_TL_ERROR_EVENT_CRC_COUNT +

MIL_INT64

Returns the number of CRC errors detected in an event packet. To reset this error, set this control to 0.

M_TL_ERROR_ENCODING_COUNT +

MIL_INT64

Returns the number of protocol encoding errors detected. To reset this error, set this control to 0.

M_TL_ERROR_COUNT +

MIL_INT64

Returns the sum of all error counters. Setting this control to 0 resets all of the above errors.

 

The combination values for all M_TL_ERROR_* controls can be M_CONNECTIONn (n is the CXP port number from 0 to 3) or M_ALL for an aggregation of all the ports.

 

1.2.5        Mfpga API enhancements

·         MfpgaSetDestination: changed the returned value from void to MIL_INT. It now returns the stream route number to be programmed in the PU to reach the specified destination.

 

Additions to MfpgaInquire and MfpgaCommandInquire:

 

MfpgaInquire

Type

Description

M_PU_NAME + n

MIL_STRING

Used with M_NUMBER_OF_PU to get the name of the PU at index n.

M_PU_FID + n

MIL_INT

Returns the function ID of the PU at index n.

M_TU_NAME + n

MIL_STRING

Returns the name of the TU at index n.

M_TU_FID + n

MIL_INT

Returns the function ID of the TU at index n.

 

MfpgaCommandInquire

Type

Description

M_NUMBER_OF_INPUTS

MIL_INT

Returns the number of stream input ports.

M_NUMBER_OF_OUTPUTS

MIL_INT

Returns the number of stream output ports.

M_PORT_NAME + M_INPUTn

MIL_STRING

Returns the name (as a string) of the nth stream input port.

M_PORT_NAME + M_OUTPUTn

MIL_STRING

Returns the name (as a string) of the nth stream output port.

 

1.2.6         Software bug fixes and changes

·         Changed PoCXP camera start-up time, in which over-currents are tolerated, from 32ms to 256ms.

·         Changed on-board default buffer pitch from 64 bytes to 128 bytes.

·         Fixed issue when using data latch with boards that have more then 4GB of memory.

·         Fixed buffer allocation with cameras reporting mono10p pixel format.

1.3         What’s new in MIL 10 Update 75

·         This is the first release of the Matrox Rapixo CXP.

1.3.1        Standards compliance

Matrox Rapixo CXP supports the following standards:

·         JIIA CoaXPress®  Standard version 1.0 and 1.1.1.

·         GenICamTM Standard Version 3.1.0

·         GenICamTM Standard Feature Naming Convention (SFNC) Version 2.0.

·         GenICamTM  GenTL Standard version 1.5 producer:

Ø  System, Interface and Device modules are supported.

Ø  Data Stream and Buffer modules are not supported.

1.3.2        Known limitations and particularities

·         Installing this update removes Matrox Intellicam’s support for the Matrox CronosPlus, Matrox Vio and IEEE 1394 IIDC devices.

·         Building the MIL examples using Visual Studio 2015 or 2017 also requires the presence of Windows SDK version 8.1, which is installed from the Visual Studio setup.

·         The Bayer conversion hardware supports a maximum line width of 8196 bytes.

2.     Supported operating systems

This section lists all the operating systems that the Matrox Rapixo CXP MIL 10 driver supports.

·         64-bit Windows® 7.

·         64-bit Windows® 10.

3.     Location of examples (in the help file)

In the help file, the location information written at the top of examples might not be up-to-date. Use MIL Example Launcher to find an example on disk.