Operator Library: Hardware Platform
The AppletProperties operator has no inputs and no outputs. It controls the applet and the board hardware setup.
The operator provides a set of parameters that describe the applet. Some values are user-defined, while others are automatically generated.
This operator is mandatory in every design and is automatically instantiated by VisualApplets. The operator cannot be deleted.
| Available for Hardware Platforms |
|---|
| imaFlex 2 Dual 100 |
| imaFlex CXP-12 Penta |
| imaFlex CXP-12 Quad |
| mE5 marathon VCLx |
| mE5 marathon VCL |
| mE5 marathon VCX-QP |
| mE5 marathon VF2 |
| LightBridge VCL |
| mE5 ironman VQ8-CXP6D |
| mE5 ironman VQ8-CXP6B |
| mE5 ironman VD8-PoCL |
![]() |
Available Parameters |
|---|---|
|
The AppletProperties operator provides a specific set of parameters for each hardware platform. The parameter descriptions below indicate which hardware platforms support which parameters. If no limitations are specified, the parameter is supported on all platforms. |
| VisualAppletsVersion (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
Version number of used VisualApplets version. |
|
| ProjectName (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
Name of the project as specified in menu Design, menu item Properties. |
|
| AppletVersion (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
Version as specified in menu Design, menu item Properties. |
|
| AppletVendor (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
Directly in the Module Properties dialog of this operator, you can enter information on the Applet vendor. |
|
| AppletAuthor (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
Directly in the Module Properties dialog of this operator, you can enter information on the Applet author. |
|
| BuildTime (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
The BuildTime parameter is an automatically generated string showing when the applet has been build (date and time of latest net list generation). The parameter value is only visible in the Framegrabber SDK. The following image shows the formatting of the string: ![]() |
|
| AppletUid (all platforms) | |
|---|---|
| Type | static read parameter |
| Default | N/A |
| Range | N/A |
|
Unique ID of the applet. A new ID is created with every new build (if the precondition check is set). |
|
| FrontGpiPullControl03 / FrontGpiPullControl47 (imaFlex 2 Dual 100 platform) | ||||
|---|---|---|---|---|
| Type | dynamic, static write parameter | |||
| Default | PullUp | |||
| Range | {PullUp, PullDown} | |||
|
This parameter controls the pull-up and pull-down resistors (20 kOhm) for the front slot GPI signals, regardless of whether they are configured as differential or single-ended. You can set the GPI to either PullUp or PullDown state. The pull resistors define the voltage level on the GPI pin when it is not driven externally or when the external driver powers up later than the frame grabber. If an external driver is connected, it must be strong enough to override the 20 kOhm pull resistors. The FrontGpiPullControl03 parameter controls the behavior for GPI group channel-A (GPI pins 0–3), while the FrontGpiPullControl47 parameter controls the behavior for GPI group channel-B (GPI pins 4–7). For the pull resistors to function correctly, the external GPIO power must be connected to the appropriate connector pins (group channel-A or channel-B GPI voltage IN and GPI ground IN).
|
||||
| FrontGpiType03 / FrontGpiType47 (imaFlex 2 Dual 100 platform) | ||||
|---|---|---|---|---|
| Type | dynamic, static write parameter | |||
| Default | SingleEnded | |||
| Range | {SingleEnded, Differential} | |||
|
This parameter controls whether the GPI pins operate in differential or single-ended mode. The FrontGpiType03 parameter manages group channel-A (GPI pins 0–3), and the FrontGpiType47 parameter manages group channel-B (GPI pins 4–7). In SingleEnded mode, each GPI pin is passed unchanged into VisualApplets, allowing all four pins in the group to be used independently. In Differential mode, the even-numbered GPI pin and the next odd-numbered pin are combined to form a differential channel in VisualApplets. When differential mode is active, even pins carry the differential signal, while odd pins only represent the negative pair state and can be ignored.
|
||||
| FiberPortProtocol0 / FiberPortProtocol1 (imaFlex 2 Dual 100 platform) | ||||
|---|---|---|---|---|
| Type | static write parameter | |||
| Default |
QSFP28[0]: CoF QSFP28[1]: DataForwarding |
|||
| Range | {CoF, DataForwarding} | |||
|
This parameter defines the fiber protocol for the corresponding QSFP28 port of the frame grabber. Port 0 is typically used for camera connection (CoF), while Port 1 is used for data forwarding to another frame grabber. Slave frame grabbers usually have both ports set to DataForwarding. CoF stands for CoaXPress over Fiber (CXP 3.0 standard). DataForwarding is Basler's protocol for frame grabber-to-frame grabber communication. Both protocols support 25 Gbit/s per lane, resulting in 100 Gbit/s per QSFP28 port. It is possible to connect two 100 Gbit/s cameras to a single frame grabber under special conditions. These setups require specific requirements to be fulfilled. However, the frame grabber must perform preprocessing and reduce the resulting bandwidth by at least half before transferring data over PCIe to the host memory or GPU. PCIe provides an effective bandwidth of approximately 13 GB/s, while a single QSFP28 port offers around 12.5 GB/s. Together, two QSFP28 ports generate about 25 GB/s of internal bandwidth, which cannot be transported over PCIe without preprocessing and bandwidth reduction. Additionally, the board’s RAM system imposes further constraints on how much data can be streamed through RAM simultaneously. For more details about data forwarding capabilities see 'Data Forwarding with imaFlex 2 Dual 100 Frame Grabbers'.
|
||||
| DesignClock (all imaFlex platforms) | ||||
|---|---|---|---|---|
| Type | static read parameter | |||
| Default | 312.5 | |||
| Range | [312.5; 400.0] | |||
|
The parameter represents the design system clock frequency in Mega Hertz. You can alter the design system clock frequency in VisualApplets, menu Design, menu item Change FPGA Clock. Using higher frequency settings as 135 MHz may result in a timing violation. In this case, reduce frequency.
|
||||
| DesignClock (mE5 marathon and LightBridge VCL platforms) | ||||
|---|---|---|---|---|
| Type | static read parameter | |||
| Default | 125 | |||
| Range | [125;312.5] | |||
|
The parameter represents the design system clock frequency in Mega Hertz. You can alter the design system clock frequency in VisualApplets, menu Design, menu item Change FPGA Clock. Using higher frequency settings as 135 MHz may result in a timing violation. In this case, reduce frequency.
|
||||
| ExtensionGpioType (imaFlex CXP-12 Quad and imaFlex CXP-12 Penta platforms) | |||||||
|---|---|---|---|---|---|---|---|
| Type | dynamic write parameter | ||||||
| Default | OpenDrain | ||||||
| Range | {OpenDrain, PushPull} | ||||||
|
This parameter allows the user to select the circuitry type for the external extension GPIO connector. In PushPull mode, the GPIOs are driven directly.
|
|||||||
| FrontGpioPullControl (imaFlex CXP-12 Penta platform) | ||||
|---|---|---|---|---|
| Type | dynamic write parameter | |||
| Default | PullUp | |||
| Range | {PullUp, PullDown} | |||
|
|
||||
| FrontGpioType (imaFlex CXP-12 Penta platform) | ||||
|---|---|---|---|---|
| Type | dynamic write parameter | |||
| Default | SingleEnded | |||
| Range | {SingleEnded, Differential} | |||
|
|
||||
| FrontGpioInversion (imaFlex CXP-12 Penta platform) | ||||
|---|---|---|---|---|
| Type | dynamic write parameter | |||
| Default | Off | |||
| Range | {On, Off} | |||
|
|
||||
| PcieInterfaceType (ironman platforms) | ||||
|---|---|---|---|---|
| Type | static write parameter | |||
| Default | Generation_2 | |||
| Range | {Generation_1, Generation_2} | |||
|
The parameter PcieInterfaceType allows you to select the PCIe interface type and thus the supported DMA bandwidth. Generation_2 (default) stands for the PCIe Generation 2 protocol and provides a bandwidth of 3,600,000 bytes/s. Generation_1 stands for PCIe Generation 1 protocol and provides a bandwidth of 1,800,000 bytes/s. Generation_1 designs utilize slightly less FPGA resources. It is much easier to achieve timing closure for the applet with a Generation_1 design. Generation_2 provides maximal performance, but makes it more challenging to achieve timing closure for the applet. Multiple place and route synthesis runs will probably be necessary to meet the timing.
|
||||
| PcieInterfaceType (mE5 marathon and LightBridge VCL platforms) | ||||
|---|---|---|---|---|
| Type | static write parameter | |||
| Default | Generation_2 | |||
| Range | {Generation_1, Generation_2} | |||
|
The parameter PcieInterfaceType allows you to select the PCIe interface type and thus the supported DMA bandwidth. Generation_1: The applet only supports PCIE generation 1. Thus, the maximum DMA transmission bandwidth is ca. 900 MByte/s (1MByte = 1^10Byte). The DmaToPC operator is limited so that LinkParallelism x LinkPixelWidth needs to be <= 64 bit. Generation_2: The applet supports PCIE generation 2. Thus, the maximum DMA transmission bandwidth is ca. 1800 MByte/s (1MByte = 1^10Byte). The DmaToPC operator is limited so that LinkParallelism x LinkPixelWidth needs to be <= 128 bit. The implementation of Generation_1 consumes less resources than the implementation of Generation_2. The Generation_1 mode is helpful in designs that do not need the high bandwidth of Generation_2, but are short of resources.
|
||||
| GpioType (mE5 marathon and ironman platforms) | |||||||
|---|---|---|---|---|---|---|---|
| Type | dynamic write parameter | ||||||
| Default | OpenDrain | ||||||
| Range | {OpenDrain, PushPull} | ||||||
|
This parameter allows the user to select the circuitry type for the external GPIO connector. In PushPull mode, the GPIOs are driven directly.
|
|||||||
| BuildTimeStamp (all platforms - hidden) | ||||
|---|---|---|---|---|
| Type | static write parameter | |||
| Default | N/A | |||
| Range | N/A | |||
BuildTimeStamp is an automatically generated identification number. It's a 32-bit time stamp that can be read out of the applet during runtime for checking the consistency between the loaded applet and the loaded applet runtime environment. |
||||
| ProjectNameHash (all platforms - hidden) | ||||
|---|---|---|---|---|
| Type | static read parameter | |||
| Default | N/A | |||
| Range | N/A | |||
32-bit hash over the entry in ProjectName (menu Design, menu item Properties). This value can be read out of the applet during runtime for checking the consistency between the loaded applet and the loaded applet runtime environment. |
||||
| AppletUidHigh (all platforms - hidden) | ||||
|---|---|---|---|---|
| Type | static read parameter | |||
| Default | N/A | |||
| Range | N/A | |||
Parameter AppletUid represents a 128-bit number. The upper 64 bit of this number are given out as a number in AppletUidHigh. |
||||
| AppletUidLow (all platforms - hidden) | ||||
|---|---|---|---|---|
| Type | static read parameter | |||
| Default | 1 | |||
| Range | {0; 2^32 – 1} | |||
Parameter AppletUid represents a 128-bit number. The lower 64 bit of this number are given out as a number in AppletUidLow. |
||||
The use of operator AppletProperties is shown in the following examples:
-
Tutorial - Basic Acquisition
-
Tutorial - Basic Acquisition
-
Tutorial - Basic Acquisition
-
Tutorial - Basic Acquisition

![[Note]](../common/images/admon/note.png)

Prev

