Describe the bug
In Execution Unit.Async.vi, the triggers are received from the FromVS.FIFO, which is processed in the inline Execution unit, but currently the trigger FIFO Read has no timeout specified. FIFO Reads in LabVIEW return previous values if they timeout, so this could lead to the Async Execution unit repeating a trigger value if the Inline Execution unit is running too slow and not filling up the FIFO.
Expected behavior
When a timeout on the Data Access Engine vis occurs, triggers should not be returned as valid triggers. Recommendation is to add a "valid triggers" input to the Execution Unit::Write to Hardware interface
Screenshots
Desktop (please complete the following information):
Describe the bug In Execution Unit.Async.vi, the triggers are received from the FromVS.FIFO, which is processed in the inline Execution unit, but currently the trigger FIFO Read has no timeout specified. FIFO Reads in LabVIEW return previous values if they timeout, so this could lead to the Async Execution unit repeating a trigger value if the Inline Execution unit is running too slow and not filling up the FIFO.
To Reproduce Steps to reproduce the behavior: This behavior was found in a custom device built with the Comm Bus Template, see https://github.com/ni/niveristand-ballard-arinc429-custom-device/issues/195 a fix has been put in to fix the issue in the NI Ballard ARINC 429 Custom Device, see https://github.com/ni/niveristand-ballard-arinc429-custom-device/pull/200
Expected behavior When a timeout on the Data Access Engine vis occurs, triggers should not be returned as valid triggers. Recommendation is to add a "valid triggers" input to the Execution Unit::Write to Hardware interface
Screenshots
Desktop (please complete the following information):
Additional context None