Receive and transmit filters

It is possible to configure how Data Engine signals react when they are either received (RX) or transmitted (TX) using filters. These filters are part of the generated code which LinX Manager Data Engine injects into projects. This section will describe the key differences between the available filters and how to use them to your advantage.

Filter options

On Change

Receive

Prevent signal to be emitted if the value is the same as the last one received . Common practice for signals in Qt projects to minimize the number of emits in the application. Recommended global RX option.

Transmit

Prevent signal to be transmitted if the value is the same as the last one transmitted.

None

Receive

Allow a signal to be emitted, even if the received value is the same as the last one received.

Transmit

Allow a signal to be transmitted, even if the value is the same as the last one transmitted. Recommended global TX option.

Global and individual setting

The filters can be either set globally from the project settings panel or adjusted for each individual signal via the overview table. Global option set to “On Change” for RX signals and to “None” for TX signals is suitable for most projects.

When to use individual options

There are some cases when the global option is not ideal for all signals. Below is one example in which setting the filter on an individual signal can be helpful.

Receive response signals

An application receives multiple cyclical Data Engine signals and a few that are received irregularly. The global RX filter is set to “On Change” to only update UI elements when a received value changes (increases performance).

For some of the received signals, it is a system requirement to know that a value has been received even when the value generated remains a constant. Overriding the global setting is therefore required.

This can be the case when a request is sent to another system to perform an action. Later when the action is completed and the application receives the response, it could contain the same result as one received earlier. To allow the application to know that the response was received and act accordingly it is required to set the RX filter for the response signal to “None”.