apa102-gpiod 0.3.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

apa102gpiod 0.3.0

apa102_gpiod
A python library for accessing APA102 addressable LEDs using libgpiod,
a library used to access the userspace gpio character device.
Useful for situations where you need to drive LEDs attached to non-SPI capable
I/O lines, or when the in-kernel spi-gpio driver is not available (example:
Pimoroni Blinkt on the default kernels from mainstream distributions)
The usage of this library is probably frowned upon by virture of
linux/Documentation/driver-api/gpio/drivers-on-gpio.rst, so go and pressure
the Raspberry Pi kernel devs to include spi-gpio, so we wouldn't have to
resort to custom out-of-tree kernels or evil bitbanging in userspace!
Prerequisites

Linux Kernel >= 4.8
libgpiod >= 039b301b173c78664775d1ea93493825ef80c9d4
Python >= 3.6

Installation

libgpiod

https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
Remember to --enable-bindings-python when configuring.


apa102_gpiod

pip install apa102_gpiod



Tests

Tests can be found in the test directory.

Only unit tests are present now, more tests welcome.


Use your favourite test runner to run the tests, or:

pip install setuptools
pip install pytest
python setup.py test



Performance
Since we're accessing the GPIOs through the character device and not through
some memory-mapped magic, performance is guaranteed to be lower. Here are some
test results:



Device
Software
Achieved data rate (kByte/s)




RPI3 B
Arch Linux ARM Linux 4.14.37
13962



Caveats

No clock rate control is implemented, since the achieved data rates are
way below the maximum data rates supported by the APA102.

File an issue report if needed.



Examples
See the examples directory.
Licensing
This project is licensed under the MIT License.
See LICENSE.txt for more details.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.