{"id":23673601,"url":"https://github.com/firefly-zero/firefly-hal","last_synced_at":"2025-04-11T00:31:53.356Z","repository":{"id":269696568,"uuid":"896539944","full_name":"firefly-zero/firefly-hal","owner":"firefly-zero","description":"⌚️ Hardware Abstraction Layer for Firefly Zero device and emulators","archived":false,"fork":false,"pushed_at":"2025-03-21T17:27:11.000Z","size":262,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-21T18:29:48.334Z","etag":null,"topics":["esp32","firefly-zero","hal","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firefly-zero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-30T16:27:57.000Z","updated_at":"2025-03-21T17:27:15.000Z","dependencies_parsed_at":"2024-12-25T12:21:15.551Z","dependency_job_id":"c00cfd98-73f9-4ff7-97bc-245ee38d2358","html_url":"https://github.com/firefly-zero/firefly-hal","commit_stats":null,"previous_names":["firefly-zero/firefly-hal"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-zero%2Ffirefly-hal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-zero%2Ffirefly-hal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-zero%2Ffirefly-hal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly-zero%2Ffirefly-hal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firefly-zero","download_url":"https://codeload.github.com/firefly-zero/firefly-hal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322255,"owners_count":21084334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","firefly-zero","hal","rust"],"created_at":"2024-12-29T12:30:03.603Z","updated_at":"2025-04-11T00:31:53.331Z","avatar_url":"https://github.com/firefly-zero.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# firefly-hal\n\nHardware Abstraction Layer for Firefly Zero device and emulators.\n\nThis 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.\n\n## Installation\n\nInstall from git. We use dev version of embedded-sdmmc so the project cannot yet be published to crates.io.\n\n```toml\nfirefly-hal = { git = \"https://github.com/firefly-zero/firefly-hal\" }\n```\n\n## Development\n\nRun all code formatters, linters, and tests for all environments:\n\n1. [Install task](https://taskfile.dev/)\n1. `task all`\n\nSince there are 3 implementations that cannot coexist in the same environment, your IDE can only analyze one of them.\n\n### Embedded\n\nInstall ESP32-compatible Rust fork. Follow instructions here: [RISC-V and Xtensa Targets](https://docs.esp-rs.org/book/installation/riscv-and-xtensa.html).\n\n### Hosted\n\n```bash\nrm rust-toolchain.toml\nrm -r .cargo\nrm -r .vscode\n```\n\nWhen contributing, make sure to not commit removed files.\n\n### Web\n\nFollow the instructions for hosted and then in `lib.rs` replace `path = \"hosted.rs\"` with `path = \"web.rs\"`.\n\nKeep in mind that web environment is currently not complete and cannot yet be compiled.\n\n## License\n\nUnlike 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirefly-zero%2Ffirefly-hal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirefly-zero%2Ffirefly-hal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirefly-zero%2Ffirefly-hal/lists"}