8个版本

0.4.2 2024年4月28日
0.4.1 2023年12月6日
0.4.0 2023年10月30日
0.3.2 2023年7月4日
0.1.0 2022年12月14日

#172 in 机器人学

MIT/Apache

255KB
6K SLoC

blackbox-log

CI codecov dependency status crates.io docs.rs MSRV license

这是Betaflight的& INAV的黑盒工具的Rust版本。请访问GitHub组织获取相关项目。或者,阅读文档以开始。

注意blackbox-log尚未准备好投入生产使用 - 可以将其视为早期-中期测试版本。

为什么?

有两个官方解析器实现,每个都由Betaflight和INAV维护一个副本,那么为什么还需要另一个呢?

它们都不太适合构建其他软件

  • blackbox_decode (BF, INAV) 在过去几年中错过了格式的一些变化,因此其输出不再完全正确。此外,它将所有内容解码并写入磁盘,因此你为应用程序可能不需要的数据付费。
  • 日志查看器的解析器 (BF, INAV) 不适合用于其他任何东西,并且与GUI紧密耦合。它是用JavaScript编写的,这限制了它可以合理嵌入的位置。

该项目旨在填补这一空白。一个舒适、更新且可在任何支持Rust或WebAssembly的地方使用的API。

贡献

欢迎所有贡献。测试和错误报告非常受欢迎。如果可能的话,请包括一个显示错误的日志文件。如果您有任何其他问题或想法,请随时开始讨论

如果您想贡献代码或日志文件,请查看需要帮助需要日志标签。

大多数开发任务使用 just 运行。在项目根目录下运行 just 可获得可用任务的列表。如果修改 types/ 中的 yaml 文件,请确保提交 just codegen 的结果。

已设置 2 个包含所有必要开发工具的 devcontainer。 Default 将从头开始构建容器,而 Default (预构建) 将下载预构建容器,启动速度可能更快。

Open in DevPod Open in GitHub Codespaces

注意:建议至少 4 核心和 4GiB 的 RAM。

参考文献/现有技术

  • blackbox_decode(《Betaflight》 Betaflight,《INAV》 INAV
  • Blackbox 日志查看器(《Betaflight》 Betaflight,《INAV》 INAV
  • 《Betaflight》和《INAV》的源代码;主要在 src/main/blackbox/
  • Blackbox 内部开发文档(《Betaflight》 Betaflight,《INAV》 INAV
  • fc-blackboxIlya Epifanov 编写

非常感谢 Nicholas Sherlock 对其 原始日志实现 的贡献,以及 Cleanflight 项目(Betaflight 和 INAV 是从该项目中派生的)对它的集成(《Cleanflight》 https://github.com/cleanflight/cleanflight/pull/227)。

许可证

根据您的选择许可

依赖关系

~6MB
~108K SLoC