Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/firefly-zero/firefly-hal
⌚️ Hardware Abstraction Layer for Firefly Zero device and emulators
https://github.com/firefly-zero/firefly-hal
esp32 firefly-zero hal rust
Last synced: 7 days ago
JSON representation
⌚️ Hardware Abstraction Layer for Firefly Zero device and emulators
- Host: GitHub
- URL: https://github.com/firefly-zero/firefly-hal
- Owner: firefly-zero
- License: gpl-3.0
- Created: 2024-11-30T16:27:57.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-25T12:01:21.000Z (11 days ago)
- Last Synced: 2024-12-25T12:20:23.451Z (11 days ago)
- Topics: esp32, firefly-zero, hal, rust
- Language: Rust
- Homepage:
- Size: 189 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# firefly-hal
Hardware Abstraction Layer for Firefly Zero device and emulators.
This package is used by firefly-runtime. It provides a `Device` trait and 3 separate implementations for it. The correct implementation is picked automatically based on the build target.
## Installation
Install from git. We use dev version of embedded-sdmmc so the project cannot yet be published to crates.io.
```toml
firefly-hal = { git = "https://github.com/firefly-zero/firefly-hal" }
```## Development
Run all code formatters, linters, and tests for all environments:
1. [Install task](https://taskfile.dev/)
1. `task all`Since there are 3 implementations that cannot coexist in the same environment, your IDE can only analyze one of them.
### Embedded
Install ESP32-compatible Rust fork. Follow instructions here: [RISC-V and Xtensa Targets](https://docs.esp-rs.org/book/installation/riscv-and-xtensa.html).
### Hosted
```bash
rm rust-toolchain.toml
rm -r .cargo
rm -r .vscode
```When contributing, make sure to not commit removed files.
### Web
Follow the instructions for hosted and then in `lib.rs` replace `path = "hosted.rs"` with `path = "web.rs"`.
Keep in mind that web environment is currently not complete and cannot yet be compiled.
## License
Unlike SDKs, CLI, and other gamedev tools we provide (which are all under MIT License), the HAL, runtime, and emulators are licensed under GNU GPL. You can make your own Firefly Zero but it must be truly FOSS with all proper attributions.