This project is going through major overhauls, so expect breaking changes on most version changes.
Please take a look at the feature-new-api
branch and issue #1 and give
some feedback!
Currently in major flux, more details when I finish the "Stage 1" overhaul. The current version on crates.io is pretty close to a bare bindgen wrap of the C library. The next version will look a lot more like typical Rust, inspired by the efforts of @Meh who wrote manual bindings to this libray a while back.
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.
rustup target add arm-unknown-linux-gnueabihf
sudo apt install libclang-dev
rustup default stable-i686-pc-windows-gnu
rustup target add arm-unknown-linux-gnueabihf
rustup target add armv7-unknown-linux-gnueabihf
At the root of your Rust project, create a new directory and name it .cargo
.
Inside that directory, create a file and paste the contents:
``` [build] target = "arm-unknown-linux-gnueabihf"
[target.arm-unknown-linux-gnueabihf] linker = "C:/SysGCC/raspberry/bin/arm-linux-gnueabihf-gcc.exe" ```
An example build script might look like this (using Git for Windows Bash):
```
export RPIWS281XSYSROOT=C:/SysGCC/raspberry/arm-linux-gnueabihf/sysroot
export CCarmunknownlinuxgnueabihf=C:/SysGCC/raspberry/bin/arm-linux-gnueabihf-gcc.exe
export ARarmunknownlinuxgnueabihf=C:/SysGCC/raspberry/bin/arm-linux-gnueabihf-ar.exe
cargo build $@ ```