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

CAN writer implementation #35

Closed rtzoeller closed 4 years ago

rtzoeller commented 4 years ago

What does this Pull Request accomplish?

Define a basic execution unit for transmitting CAN frames. Create one execution unit per port (technically per outgoing section).

Create several new scripting API entrypoints to help with building the execution units.

Why should this Pull Request be merged?

This is the first step towards a functional engine.

What testing has been done?

Deployed to a Linux PXI controller and validated the resulting CAN frames using the bus monitor.

I needed to hand-configure a system definition to use valid signal, frame, and cluster names, as the import functionality is not complete.

rtzoeller commented 4 years ago

There is not currently a great way for me to get the XNET interface name in a driver-compatible way. @douglasnorman is working on this independently, but for now we do some manual numeric -> string conversions.

image

niveristand-diff-bot commented 4 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--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-35/2020-10-08/12%3A15%3A14/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 Factory.lvclass--Get Outgoing Signal Names.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--Execution%20Unit%20Factory.lvclass--Get%20Outgoing%20Signal%20Names.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Construct.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Construct.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Finalize.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Finalize.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Get Identifier.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Get%20Identifier.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Initialize.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Initialize.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Read from Hardware.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Read%20from%20Hardware.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Start.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Start.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer 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-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Write%20to%20Hardware.vi.png)
Communication Bus Template Scripting.lvlib--Get Frames.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Scripting.lvlib--Get%20Frames.vi.png)
Communication Bus Template Scripting.lvlib--Get Port Incoming and Outgoing Sections.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Scripting.lvlib--Get%20Port%20Incoming%20and%20Outgoing%20Sections.vi.png)
Communication Bus Template Scripting.lvlib--Get Signals.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/12%3A15%3A14/Communication%20Bus%20Template%20Scripting.lvlib--Get%20Signals.vi.png)
niveristand-diff-bot commented 4 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--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-35/2020-10-08/13%3A14%3A58/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 Factory.lvclass--Get Outgoing Signal Names.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--Execution%20Unit%20Factory.lvclass--Get%20Outgoing%20Signal%20Names.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Construct.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Construct.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Finalize.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Finalize.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Get Identifier.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Get%20Identifier.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Initialize.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Initialize.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Read from Hardware.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Read%20from%20Hardware.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer Execution Unit.lvclass--Start.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Start.vi.png)
Communication Bus Template Engine.lvlib--Implementation.lvlib--NI-XNET CAN Writer 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-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Engine.lvlib--Implementation.lvlib--NI-XNET%20CAN%20Writer%20Execution%20Unit.lvclass--Write%20to%20Hardware.vi.png)
Communication Bus Template Scripting.lvlib--Get Frames.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Scripting.lvlib--Get%20Frames.vi.png)
Communication Bus Template Scripting.lvlib--Get Port Incoming and Outgoing Sections.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Scripting.lvlib--Get%20Port%20Incoming%20and%20Outgoing%20Sections.vi.png)
Communication Bus Template Scripting.lvlib--Get Signals.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/NI/niveristand-communications-bus-template/PR-35/2020-10-08/13%3A14%3A58/Communication%20Bus%20Template%20Scripting.lvlib--Get%20Signals.vi.png)