About Anaconda Help Download Anaconda

Python bindings for Linux SPI access through spidev

Installers

  • linux-armv7l v3.2

conda install

To install this package run one of the following:
conda install gaiar::spidev

Description

Python Spidev

This project contains a python module for interfacing with SPI devices from user space via the spidev linux kernel driver.

This is a modified version of the code originally found here

All code is GPLv2 licensed unless explicitly stated otherwise.

Usage

import spidev
spi = spidev.SpiDev()
spi.open(bus, device)
to_send = [0x01, 0x02, 0x03]
spi.xfer(to_send)

Settings

import spidev
spi = spidev.SpiDev()
spi.open(bus, device)

# Settings (for example)
spi.max_speed_hz = 5000
spi.mode = 0b01

...
  • bits_per_word
  • cshigh
  • loop
  • lsbfirst
  • max_speed_hz
  • mode - SPI mode as two bit pattern of clock polarity and phase [CPOL|CPHA], min: 0b00 = 0, max: 0b11 = 3
  • threewire - SI/SO signals shared

Methods

open(bus, device)

Connects to the specified SPI device, opening /dev/spidev-bus.device

readbytes(n)

Read n bytes from SPI device.

writebytes(list of values)

Writes a list of values to SPI device.

xfer(list of values[, speed_hz, delay_usec, bits_per_word])

Performs an SPI transaction. Chip-select should be released and reactivated between blocks. Delay specifies the delay in usec between blocks.

xfer2(list of values[, speed_hz, delay_usec, bits_per_word])

Performs an SPI transaction. Chip-select should be held active between blocks.

close()

Disconnects from the SPI device.

Changelog

3.0.1

  • Fixed README.md and CHANGELOG.md formatting, hopefully

3.0

  • Memset fix recommended by Dougie Lawson
  • Fixes for Kernel 3.15+ from https://github.com/chrillomat/py-spidev
  • Fixes for Python 3/2 compatibility.
  • Added subclassing support - https://github.com/doceme/py-spidev/issues/10

2.0

Code sourced from http://elk.informatik.fh-augsburg.de/da/da-49/trees/pyap7k/lang/py-spi and modified.

Pre 2.0

spimodule.c originally uathored by Volker Thoms, 2009.


© 2024 Anaconda, Inc. All Rights Reserved. (v4.0.5) Legal | Privacy Policy