Skip to main content

A small library to use the SPIdev linux interface

Project description

SPIlib is a thin wrapper to interact with SPI devices using the Linux “SPIdev” interface [1]

See the accelerometer example in the examples directory.


Usage is quite simple. First you have to build a Transfer:

from spi import spi_transfer, SPIDev
transfer, buf, _ = spi_transfer(chr(0x1b), readlen=0)

This prepares a transfer which sends one byte (first parameter) and reads none (second parameter). It returns binary data which is then passed to SPIDev (the transfer buffer, the write buffer and the read buffer, the last ignored in the example). It is possible to change the write and read buffer beetween transfers (without altering their lenght of course!).

To actually do the transfer use do_transfer:

myspidev = SPIDev('/dev/spidev0.0')

do_transfers takes a list of transfers to do in a single “session”, maintaining the device selected. For examples by using three transfers you can write one byte, read and write one at the same time, read one byte. Note that it is not possible to interact with data during a single “session” because of a limit of the Linux SPIDev interface (and thus of this interface)


Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
SPIlib-0.1.0.tar.gz (3.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page