Python-wrapped RPIO
Project description
PyRPIO
A Python 3 addon which provides high-speed access to the Raspberry Pi GPIO interface, supporting regular GPIO as well as i²c, PWM, SPI, and MDIO.
This package is inspired by node-rpio which is a node.js addon.
Compatibility
- Raspberry Pi Models: A, B (revisions 1.0 and 2.0), A+, B+, 2, 3, 3+, 3 A+, 4, Compute Module 3, Zero.
- Python 3.7+
Install
Install the latest from PyPi:
pip install pyrpio
Supported Interfaces
- GPIO
- PWM
- I2C
- MDIO
- SPI
Examples
from pyrpio.i2c import I2C
from pyrpio.mdio import MDIO
from pyrpio.i2c_register_device import I2CRegisterDevice
### I2C Operations ###
i2c_bus = i2c.I2C('/dev/i2c-3')
i2c_bus.open()
i2c_bus.set_address(0x50)
i2c_bus.read_write(data=bytes([0x23]), length=1)
i2c_dev = I2CRegisterDevice(bus=i2c_bus, address=0x50, register_size=1, data_size=1)
# Read register
val = i2c_dev.read_register(register=0x23)
# Read sequential registers
vals = i2c_dev.read_register_sequential(register=0x23, length=4)
# Close up shop
i2c_bus.close()
### MDIO Operations ###
# Create bus using GPIO pins 23 and 24 (bit-bang)
mdio_bus = mdio.MDIO(clk_pin=23, data_pin=24, path='/dev/gpiochip0')
mdio_bus.open()
# Read register 0x10 from device 0x30 (CLAUSE-45)
mdio_bus.read_c45_register(0x30, 0x00, 0x10)
# Read register set from device 0x30 (CLAUSE-45)
mdio_bus.read_c45_registers(0x30, 0x00, [0,1,2,3,4])
# Close up shop
mdio_bus.close()
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Maintainers
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PyRPIO-0.4.1.tar.gz
(62.9 kB
view details)
Built Distribution
PyRPIO-0.4.1-py3-none-any.whl
(69.6 kB
view details)
File details
Details for the file PyRPIO-0.4.1.tar.gz
.
File metadata
- Download URL: PyRPIO-0.4.1.tar.gz
- Upload date:
- Size: 62.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.8.12 Linux/5.4.92-flatcar
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | facc91832cf03f593fbfda6c096ed55bce0a8fa776fda8f8bfb83a12b086a3f9 |
|
MD5 | e5ac2100bf3e025f0e3a2bec0afa8111 |
|
BLAKE2b-256 | 203424d78674b027a25a63d04d9e574fdebd47e59f27c6c0865dda611bdea760 |
File details
Details for the file PyRPIO-0.4.1-py3-none-any.whl
.
File metadata
- Download URL: PyRPIO-0.4.1-py3-none-any.whl
- Upload date:
- Size: 69.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.8.12 Linux/5.4.92-flatcar
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8512cf22dcfb9445455504cbb6a7e488a3738af1abe57ca075c8084f48c0970 |
|
MD5 | 231f0ce2c7526beb790246246b65b340 |
|
BLAKE2b-256 | 37f9ec8dc3b772bb1b98993486267073eefc476a815dccf241e45e80a5c951a7 |