ni / niveristand-ballard-milStd1553-custom-device

Custom device for Ballard MIL-STD-1553 hardware
MIT License
2 stars 4 forks source link

Ballard CD Deployment Time #203

Closed diegoballencantor closed 2 years ago

diegoballencantor commented 2 years ago

Is your feature request related to a problem? Please describe. Deploying one instance of the CD takes approximatelly 20 seconds in a PXIe-8881 controller. Our current application requires 5 instances of the CD running simultaneously. In this case the deployment time takes as well approximatelly 20 seconds per CD instance. That is a bit more of 1.5 Minutes just für the deployment of the Ballard CDs.

Describe the solution you'd like Is it possible somehow to reduce the deployment time of the CD?

dbendele commented 2 years ago

Within the Ballard MIL-STD-1553 Engine.lvlib:Custom Device.lvlib:Initialize Hardware.vi, the following VI is called to configure the Ballard MIL-STD-1553 hardware: image

which takes 20 s to execute on an NI PXIe-8880 Linux RT target. Furthermore, this driver VI is not reentrant, so each call occurs sequentially. Is there a faster method to initialize the hardware?

Karl-G1 commented 2 years ago

I was doing some performance testing on this custom device, and I found that the latest software stack results in a much faster initialization time. Doing some testing, I confirmed that Ballard's latest IPKs (version 1.3.2.2 in MAX) reduce the configuration time from 20 seconds to well under 1 second.

To get the better performance, you need to use the 21.3 or later Linux System Image (compatible with VeriStand 2020 R6) or just install the latest driver from the third-party feed directly. Here's an example of commands to execute via SSH on the target to upgrade to the latest version:

curl http://download.ni.com/ni-linux-rt/feeds/2021.5/ni-third-party/astronics-ballard-labview_1.3.2.2_core2-64.ipk -o astronics-ballard-labview_1.3.2.2_core2-64.ipk
curl http://download.ni.com/ni-linux-rt/feeds/2021.5/ni-third-party/astronics-ballard-btipci_2.10.0.1_core2-64.ipk -o astronics-ballard-btipci_2.10.0.1_core2-64.ipk
opkg install astronics-ballard-btipci_2.10.0.1_core2-64.ipk
opkg install astronics-ballard-labview_1.3.2.2_core2-64.ipk