The LabVIEW BCM2835 library expands the GPIO interface with the Raspberry Pi (RPi) 2/3 over and above what is available with the MakerHub LINX package. The original C library was created by Mike McCauley (and others) and can be found at this link. This library has been converted to a Linux shared object which is compatible with LabVIEW-LINX. The LabVIEW library is built using this shared object as a base, and it consists of a range of functions which interface with the shared object using Call Library Function Nodes.
The figure above illustrates the GPIO and alternative modes that are available with the library; this is header J8 on the RPi 3. The functionality offered by the LabVIEW library is as follows:
When the library is installed it can be found in the Addons menu on the block diagram:
Three main VIs are found in this first palette:
The standard GPIO VIs are:
The PWM VIs are:
The SPI VIs are:
The I2C VIs are:
Two timing VI's are also included, although the accuracy is unverified, particularly for the microseconds function. Users are free to experiment with these timing functions. For example, the 'Delay msec' function may be used in place of the LabVIEW 'Wait ms' function,
The user must have the following software/packages already on the PC before installing the BCM2835 Library and examples (refer to this document):
Supported SW and OS
Comprehensive installation details are included in the PDF document below. Note that there are two packages:
It is important to install the BCM2835 library first, then the examples package.
The Linux shared object that the library uses must also be copied to the Raspberry Pi. Full details are given in the PDF document.