Skip to main content

pyusbiss

A Python API module for interfacing with USB-ISS multifunction USB Communication Module.

From the USB-ISS’s webpage:

The USB-ISS Multifunction USB Communications Module provides a complete interface between your PC and the I2C bus, SPI bus, a Serial port and general purpose Analogue Input or Digital I/O. The module is powered from the USB. Operating voltage is selectable between 3.3v and 5v and can supply up to 80mA at 5v for external circuitry from a standard 100mA USB port.

Features

Planned features

  • Configure USB-ISS to different operating modes; I2C, SPI, I/O and serial

    • For each mode, the API will mimic the popular APIs such as py-spidev for SPI by having same method and properties names. These names will be used in duck typing. This will ensure miminal adaption of applications wishing to use USB-ISS for prototyping and testing.

  • Query status of USB-ISS

  • Send bytes to and read from components via USB-ISS

Current features

  • Functional USBISS driver

  • Functional SPI driver

  • Other modes are not implemented.

Installation

pip install pyusbiss

Usage

  • USBISS only

Connect to your USB-ISS and get information about your USB-ISS.

from usbiss.usbiss import USBISS

port = 'COM4' # Windows
port = '/dev/ttyACM0' # Linux

cxn = USBISS(port)
print(repr(cxn)))
  • SPI mode

Initiate USB-ISS with SPI mode and open a port.

from usbiss.spi import SPI

spi = SPI(port)

spi.mode = 1
spi.max_speed_hz = 500000

print(repr(spi._usbiss))

# SPI transaction

response = spi.xfer([0x00, 0x00])
  • I2C mode

    TODO

  • I/O mode

    TODO

  • Serial mode

    TODO

More Information

Applications

  • Alphasense OPC via dhhagan’s py-opc module using the SPI protocol.

Credits

The project was developed during a NERC’s placement at University of Leeds.

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Inspired by Waggle’s alphasense.py, where most of USB-ISS functions were copied over.

History

0.1.0 (2016-09-02)

  • Initialised project

0.1.1 (2018-03-08)

  • functional usbiss control and spi control.

0.1.2 (2018-03-08)

  • Changed SPI mode scheme to official SPI scheme rather than USB-ISS scheme.

  • Clarifies project mission in README.rst

0.2.0 (2018-03-10)

  • Refactored the codebase so that each protocol can be controlled by its own class. This means a breaking change in the interface.

  • SPI and USBISS support only in this release with updated usage.

  • Added SPI tests.

  • Updated README.rst with new interface.

0.2.1 (2018-05-05)

  • Refactored USB-ISS driver using property decorator

  • Updated SPI driver to use updated USBISS driver

  • Fully documented SPI driver

  • Some fixes

0.2.2 (2018-05-05)

  • Tidied up README.md

Release files for pyusbiss 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyusbiss 0.2.2
File Size Uploaded
pyusbiss-0.2.2.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyusbiss 0.2.2
File Interpreter ABI Platform
pyusbiss-0.2.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 24.0 kB

Release files / pyusbiss-0.2.2.tar.gz

Download URL pyusbiss-0.2.2.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
123b5d751b8272ecb32bd717592933dc81bfd28259e0b768570a3412ae16e5c1
BLAKE2b-256 checksum
How to use checksums
177f58374ee218746bbc06b4163b9f9746f0bd5b343278722ac7a316a6fbe00b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / pyusbiss-0.2.2-py2.py3-none-any.whl

Download URL pyusbiss-0.2.2-py2.py3-none-any.whl
Size 9.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
82bec6e3eb511ae9ec7639963c53caa1e9803571b503f948bf50967099788431
BLAKE2b-256 checksum
How to use checksums
4ee37145c8326bf0ce475ad872d390067234f17c396d102b1843eea20f4b3be6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page