An open API service indexing awesome lists of open source software.

https://github.com/firefly-zero/firefly-rust

🦀 Rust SDK for making Firefly Zero games
https://github.com/firefly-zero/firefly-rust

embedded-graphics firefly-zero framework gamedev graphics rendering rust sdk wasm

Last synced: 27 days ago
JSON representation

🦀 Rust SDK for making Firefly Zero games

Awesome Lists containing this project

README

          

# firefly-rust

Rust SDK for making [Firefly Zero](https://fireflyzero.com/) games.

* [▶️ getting started](https://docs.fireflyzero.com/dev/getting-started/)
* [📄 api docs](https://docs.rs/firefly-rust/latest/firefly_rust/)
* [📦 crates.io](https://crates.io/crates/firefly-rust)
* [🐙 github](https://github.com/firefly-zero/firefly-rust)

## Installation

```bash
cargo add firefly_rust
```

## Cargo features

* `std`: required if you don't build your project with `#![no_std]`. It will remove from the crate the custom panic handler to avoid conflicts with the standard library.
* `alloc`: required if you want to use [`FileBuf`](https://docs.rs/firefly-rust/latest/firefly_rust/struct.FileBuf.html). Allows the crate to do memory allocations. If you enable `alloc` but not `std`, you have to also provide a global allocator. The easiest way to do so is to activate the `talc` feature (see below).
* `talc`: enable a global [talc](https://github.com/SFBdragon/talc)-powered allocator. The same as the `alloc` feature but you don't have to configure an allocator yourself.
* `sudo`: required if you want to use [`sudo`](https://docs.rs/firefly-rust/latest/firefly_rust/sudo/index.html) module. Enables privileged access to the Firefly Zero device.
* `nalgebra`: can be activated if you use [nalgebra](https://github.com/dimforge/nalgebra). Enables type conversion to and from nalgebra vectors.

## License

MIT License. You can do whatever you want with the SDK, modify it, embed into any apps and games. Have fun!