From Friday, January 17th 11 PM CDT (January 18th 5 AM UTC) through Saturday, January 18th 11:30 AM CDT (January 18th 5:30 PM UTC), ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Hobbyist Toolkit

cancel
Showing results for 
Search instead for 
Did you mean: 

LINX and Raspberry Pi4 Mis-identification Issues

Hi nickbike,
I think WS2812 support was only included for Arduino targets. It was not implemented in the RPi or BBB versions of LINX.  
Hopefully NI will add it in later versions of LINX. 

0 Kudos
Message 11 of 29
(2,875 Views)

The LINX toolkit does not report the correct version of RPi in error messages, but LabVIEW code can be deployed on the RPi 4.

0 Kudos
Message 12 of 29
(2,866 Views)

The LINX WS2812 functions are only supported on the chipKIT WF32 and Max32.

 

0 Kudos
Message 13 of 29
(2,843 Views)

A quick and dirty workaround to get the correct Pi Model number is to modify the Get Device Name vi to read from the "/proc/device-tree/model" file with a simple LabVIEW Read File function. Just wire -1 to the length and then the File IO will read the full length. A lot of things are actually possible in this way through the File IO functions in Linux including accessing the GPIO lines. It's not as performant as a dedicated device driver but for many purposes more than enough.

 

I have been working in the last two weeks on an updated version of the liblinxdevice.so shared library that fixes many of these things and also adds support for both SPI devices and many more things to the liblinxdevice shared library. I'm currently debugging it and it is still crashing but once I have something more robust I will post it together with the github link.

Rolf Kalbermatter
My Blog
0 Kudos
Message 14 of 29
(2,821 Views)

Thanks for the information, All.  I am particularly interested in support for SPI.  I actually thought it was supported because it shows up in LINX, but have not tried it yet.  (I confess I am en extremely naive user in the Pi/Linux environment.)

 

This is perhaps something for a different thread, but I understand the Pi Zero is not currently supported.  Is there any chance that it will be supported in the future?  It would be a really nice to use these in head sensor units connected to a master. 

0 Kudos
Message 15 of 29
(2,817 Views)

The Linx Toolkit for Raspberry Pi supports SPI but it only makes spidev0.1 available as SPI device 1 but not the spidev0.0. Adding that in the liblinxdevice shared library is a trivial fix but of course requires GCC recompilation of the shared library.

 

As to the Raspberry Zero, no there is no chance that this gets supported anytime soon as an embedded target where you can directly deploy LabVIEW VIs onto. It uses the BCM2835 CPU which has the ARMv6 architecture but the LabVIEW compiled code requires at least an ARMv7 architecture, which the BCM2836 on the Raspberry Bi 2 Model B has  (and all newer models after the Pi 2 have either a BCM2837 or BCM2711 CPU which also support the ARMv7 architecture).

I'm entertaining however the idea to create a Linx server from the existing code that could be recompiled for the Raspberry Pi Zero (and would most likely run on the older Raspberry Pi A and B too). In that way you could communicate to the Pi Zero in the same way as you can now to an Arduino and other such Linx supported lower end embedded controllers over a serial port or TCP/IP.

Rolf Kalbermatter
My Blog
0 Kudos
Message 16 of 29
(2,791 Views)