Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 4.85 KB

README.md

File metadata and controls

39 lines (31 loc) · 4.85 KB

RPi-LINX-Addons

A collection of libraries for talking to hardware using the Raspberry Pi with the LabVIEW LINX toolkit.

Supported Hardware

Hats

  • Automation Hat: A driver class is provided for the Pimoroni Automation Hat - this hat includes 3 0-24V ADC channels, 3 relay outputs, 3 24V tolerant sinking outputs, 3 24V buffered inputs and a number of status/indicator LEDs. The driver provides (optional) automatic control of the status LEDs (e.g. relay output state). [Buy - Amazon UK] [Information]
  • Sense Hat: A driver class for the Raspberry Pi Sense Hat - this hat includes temperature, humidity, pressure, gyroscope, acceleromter, magnetometer sensors along with an 8x8 RGB LED matrix and joystick. [Buy - Amazon UK] [Information]
  • WaveShare High-Precision AD/DA Board: Drivers are provided for the ADS1256 8-channel 24-bit ADC and the DAC8552 2-channel 16-bit DAC used on the WaveShare ADC/DAC board. Useful for adding analogue sensing & control to your Raspberry Pi. [Buy - Amazon UK] [Information]
  • Explorer Hat Pro: The Explorer Hat Pro adds a useful collection of I/O to the Raspberry Pi including an ADS1015 4-channel ADC, a CAP1208 8-channel capacitive touch sensor, 5V buffered inputs/outputs, 4 LEDs, a H-bridge motor driver and a mini-breadboard for adding your own circuits and sensors. [Buy - Amazon UK] [Information]

Chip Drivers

  • PCA9685 16-Channel PWM driver (I2C): 16-Channel PWM driver with customisable frequency/duty cycle output. Includes functions for driving servos. [Buy - Amazon UK] [Information]
  • SN3218 18-Channel LED driver (I2C): 18-Channel LED driver chip with brightness control (0-255 steps). This chip is used on the Automation Hat to drive the LEDs (see above). [Datasheet]
  • ADS1X15 2/4-Channel ADC (I2C): Support for the TI ADS1015 and ADS1115 ADC chips. These provide 4 single-ended or 2 differential ADC channels and either a 12/16-bit resolution and up to a 3300Hz sampling rate depending on the chip variant. The library provides basic support for reading the channels in single-shot (low-power) mode. [Buy ADS1115 - Amazon UK] [Buy ADS1015 - Amazon UK] [Information]
  • HTS221 Temperature/Humidity Sensor (I2C): Temperature/Humidity Sensor used on the Raspberry Pi Sense Hat [Information]
  • LPS Pressure/Temperature Sensor (I2C): Pressure/Temperature/Altimeter Sensor used on the Raspberry Pi Sense Hat. Supports the LPS25H/LPS25HB devices. [Information]
  • LSM9DS1 9DOF IMU (I2C): Accelerometer, Gyroscope and Magnetometer offering 9DOF IMU sensing support. Used on the Sense Hat. [Buy - Amazon UK] [Information]
  • ADS1256 8-Ch 24-bit ADC (SPI): [Datasheet]
  • DAC8552 2-Ch 16-bit DAC (SPI): [Datasheet]
  • CAP1208 8-Ch Capacitive Touch Sensor (I2C): [Datasheet]

Helper Libraries

The package also includes wrappers for the low-level LINX functionality for the following interfaces:

  • I2C: Read/Write/Read Byte/Read Register/Write Register
  • GPIO: Read/Write GPIO
  • SPI: A wrapper library for the LINX SPI functions

Examples

The library includes a basic example of each chip/hat type.

Contributions

We're always looking to add/improve support for new devices - if you wish to contribute to this repository then please fork, make your changes and then submit a pull request.

Support

This library is intended to be a community effort and as such therefore support is provided through the GitHub issue tracker. If you run into a problem when using the library then please add it to the Issues page and submit it there.

Need something in particular?

If you want to use a particular chip/device and the library doesn't have support for it - feel free to request a new device by submitting an issue to the issue tracker on GitHub. If we can get access to the hardware to test and there's sufficient interest we will try to add support for it.