Skip to main content

Host side driver for the Capable Robot Programmable USB Hub

Project description

Capable Robot Programmable USB Hub Driver

This package has two functions:

  • It provides access to internal state of the Capable Robot USB Hub, allowing you to monitor and control the Hub from an upstream computer.
  • It creates a transparent CircuitPython Bridge, allowing unmodified CircuitPython code to run on the host computer and interact with I2C & SPI devices attached to the USB Hub.

Capable Robot logo & image of Programmable USB Hub

Installing

Install and update using pip:

pip install capablerobot_usbhub

This driver requires Python 3.6 or newer.

On Linux, the the udev permission system will likely prevent normal users from accessing the USB Hub's endpoint which allows for Hub Monitoring, Control, and I2C Bridging. To resolve this, install the provided udev rule:

sudo cp 50-capablerobot-usbhub.rules /etc/udev/rules.d/
sudo udevadm control --reload
sudo udevadm trigger

Then unplug and replug your USB Hub. Note, the provided udev rule allows all system users to access the Hub, but can be changed to a specific user or user group.

Usage & Examples

The examples folder has some code samples of how to use this Python API to control the Programmable USB Hub. There is also another example repository which includes additional host-side code as well as examples of customizing behavior via changing the Hub's firmware.

Working Functionality

  • Reading USB Hub registers over USB and decoding of register data.
  • Writing USB Hub registers over USB.
  • Reading & writing I2C data thru the Hub.
  • Python API to control and read the two GPIO pins.
  • CircuitPython I2C Bridge to the rear I2C1 port.
  • CircuitPython SPI Bridge to the internal mikroBUS header.

Not Working / Not Implemented Yet

No known errata at this time

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.

Project details


Download files

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

Source Distribution

capablerobot_usbhub-0.2.8.tar.gz (573.7 kB view details)

Uploaded Source

Built Distribution

capablerobot_usbhub-0.2.8-py3-none-any.whl (590.7 kB view details)

Uploaded Python 3

File details

Details for the file capablerobot_usbhub-0.2.8.tar.gz.

File metadata

  • Download URL: capablerobot_usbhub-0.2.8.tar.gz
  • Upload date:
  • Size: 573.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.7.7 Darwin/18.7.0

File hashes

Hashes for capablerobot_usbhub-0.2.8.tar.gz
Algorithm Hash digest
SHA256 3dd9348044788b66146a1e3b416d70b84f4bcc5f9bc07b4dcf35540a324eab1e
MD5 c4c33468d505881de7161affb84814b0
BLAKE2b-256 df7f0b35209969baeb2383585a25db153e535cd44241bfc7550a2d7840bf36f9

See more details on using hashes here.

File details

Details for the file capablerobot_usbhub-0.2.8-py3-none-any.whl.

File metadata

File hashes

Hashes for capablerobot_usbhub-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 42bc7be2024fe277c8a82cf1abf9db642f4e516612d83567591dba0d6f82dae8
MD5 c08e099e2753de691887d58b1bc88d74
BLAKE2b-256 c7fa75ef1867bb3580fa5a5f628264acce6440286de6fe1c98dd9ec8cc5ca952

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page