crates.io docs.rs

Welcome to the Rust Bindings for rpi_ws281x

PSA - Higher Level Abstraction

If you are looking at this crate and thinking "boy, I'd like to add {insert higher abstraction}" then you may be interested in one of the below projects. This project is meant to stick strictly to the driver's feature set (and possibly a subset of that even).

Remember to audit your dependencies, we take no responsibility for any security vulnerabilities resulting from the use of the above mentioned crates

If you have a crate that builds on this one and want it featured here, feel free to open a PR.

Usage Warning

This project is still a work-in-progress, and the API is very much subject to change. Most of the major stuff is covered by fairly idiomatic Rust. However, we are always striving to cover more to the level of @Meh who wrote manual bindings to this libray a while back.

Contributing

Code is licensed under the MIT license, so as long as you are cool with that, feel free to open an issue, talk about proposed changes, then open a PR! I would love a helping hand, just have to make sure things don't get too messy either.

Compiling on Raspbian

Cross-compiling on Ubuntu/Debian

AArch64 Builds

Cross-compiling on Windows

An example build script might look like this (using Git for Windows Bash):

```

!/usr/bin/env bash

inform rpi-ws2811-rust where the GCC sysroot is

export RPIWS281XSYSROOT=C:/SysGCC/raspberry/arm-linux-gnueabihf/sysroot

point to the GCC ARM compiler/linker.

export CCarmunknownlinuxgnueabihf=C:/SysGCC/raspberry/bin/arm-linux-gnueabihf-gcc.exe

point to the GCC ARM archiver

export ARarmunknownlinuxgnueabihf=C:/SysGCC/raspberry/bin/arm-linux-gnueabihf-ar.exe

run the build command

cargo build $@ ```