Skip to main content

MfpgaGetRegister

BoardSupported
Host SystemNo
V4L2No
Clarity UHDNo
Concord PoENo
GenTLNo
GevIQNo
GigE VisionNo
IndioNo
Iris GTXNo
Radient eV-CLNo
Rapixo CLYes
Rapixo CoFYes
Rapixo CXPYes
USB3 VisionNo

Set up a request to read registers of a PU.

Syntax

void MfpgaGetRegister(
AIL_FPGA_CONTEXT FpgaCommandContext, //in
AIL_INT64 RegisterSection, //in
AIL_INT Offset, //in
AIL_INT Length, //in
void * ValuePtr, //out
AIL_INT64 ReadAccessFlag //in
)

Description

This function sets up a request to read registers of the PU associated with the specified command context. A maximum of 16 MfpgaGetRegister calls can be made with any FPGA command context, although you can read multiple registers in each call. For a PU from the Zebra PU library, you should consult the FDK documentation or relevant examples for details of the register file. You can specify whether read accesses will be collected and made before processing or after the PU finishes processing (according to CompletionMode).

Note: Note that the FPGA module is not supported with Distributed Aurora Imaging Library.

Note: Note that the FPGA module is only supported on boards that support FPGA processing (Pro boards).

Parameters

FpgaCommandContext (in, AIL_FPGA_CONTEXT)

Specifies the handle of the FPGA command context associated with the PU. The command context must have been previously allocated on the system using MfpgaCommandAlloc.

RegisterSection (in, AIL_INT64)

Specifies the section of the PU's register space to access. You must set this parameter to the following value:

For register space access

ValueDescription
M_PU_BASESpecifies to access the base address of the PU's register space.

Offset (in, AIL_INT)

Specifies the offset relative to the PU's base address, from which to begin reading, in bytes. The offset must be a multiple of 4 bytes.

Length (in, AIL_INT)

Specifies how many bytes of the register to read. The length must be a multiple of 4 bytes.

ValuePtr *(out, void)

Specifies the address of the variable in which to write the value read from the register. This address must remain valid for the duration of the operation, otherwise a memory corruption will occur.

ReadAccessFlag (in, AIL_INT64)

Specifies when the register read access must take place. This parameter must be set to one of the following values:

For specifying when to read the register

ValueDescription
M_WHEN_COMPLETEDAccesses the registers after the PU finishes processing (according to MfpgaCommandQueue completion mode).
M_WHEN_DISPATCHEDAccesses the registers during PU setup, prior to the start of processing.
Copyright © 2026 Zebra Technologies.