ni / niveristand-communications-bus-template

Template custom device for using communications buses in VeriStand
http://www.ni.com
MIT License
0 stars 3 forks source link

Add trigger channel infrastructure #103

Closed buckd closed 3 years ago

buckd commented 3 years ago

What does this Pull Request accomplish?

Adds the infrastructure for supporting triggering of acyclic message sending to the communications bus template. This is based off the changes made to the Ballard ARINC 429 custom device to support acyclic triggering.

Note: This does change does not actually implement acyclic triggering as requested in #99. There is no channel interaction currently in the template, which is a bigger topic of discussion.

Why should this Pull Request be merged?

Acyclic messaging is a common feature of many communications buses and should not need to be fully re-implemented for each user of the template. This PR sets up the required passing of data to perform triggering. The user would still need to create the trigger channels and properly compile them.

What testing has been done?

Built the template and ran the clone tool to verify all files are correctly cloned.

niveristand-diff-bot commented 3 years ago

Bleep bloop!

LabVIEW Diff Robot here with some diffs served up hot for your pull request.

Notice something funny? Help fix me on my GitHub repo.

Communication Bus Template Engine.lvlib--Custom Device.lvlib--Execution Unit.Async.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-103/2021-06-30/14%3A33%3A57/Communication%20Bus%20Template%20Engine.lvlib--Custom%20Device.lvlib--Execution%20Unit.Async.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--Execution Unit Factory.lvclass--Create Execution Unit.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-103/2021-06-30/14%3A33%3A57/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--Execution%20Unit%20Factory.lvclass--Create%20Execution%20Unit.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--Execution Unit.lvclass--Write to Hardware.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-103/2021-06-30/14%3A33%3A57/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--Execution%20Unit.lvclass--Write%20to%20Hardware.vi.png)
Communication Bus Template Engine.lvlib--Interfaces.lvlib--Execution Unit.lvclass--Write to Hardware.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-103/2021-06-30/14%3A33%3A57/Communication%20Bus%20Template%20Engine.lvlib--Interfaces.lvlib--Execution%20Unit.lvclass--Write%20to%20Hardware.vi.png)
Communication Bus Template System Explorer.lvlib--Compile Asynchronous Execution Units.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-103/2021-06-30/14%3A33%3A57/Communication%20Bus%20Template%20System%20Explorer.lvlib--Compile%20Asynchronous%20Execution%20Units.vi.png)
rtzoeller commented 3 years ago
buckd commented 3 years ago

Should Trigger Values be required? Optional inputs on interfaces always seem a bit odd to me.

Yes, it probably should be required, however, we don't need triggers for Ballard ARINC 429 inline Rx channels, so it was left optional so we didn't have to mess with the inline portion of the template. In the interest of getting things going on MIL-STD-1553, I'm proposing we commit like this and file an enhancement to modify the inline portion to handle triggering and make that terminal required.

buckd commented 3 years ago

Created #104 to track making the terminal required.