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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|