跳到主要内容

创建自定义版本

飞控在空间和计算能力方面存在限制。开发人员必须决定启用或禁用哪些功能,以便创建可供大多数用户使用的固件文件。固件 4.4 中引入了云构建,用户可以自行决定要添加哪些所需功能。

例如,官方向用户发布的固件包含对很多品牌遥控器和接收机的支持,但习惯性地你只会使用一种。这对于公共版本是必要的,但未使用的协议会占用可用于其他功能的空间。

本文档提供了有关如何开始创建自己的版本、激活和停用功能的小指南,特别是如果你的飞控是较旧的且没有太多空间的飞控。

请记住,当您创建自己的固件时,您正在使用自己创建的软件,并且可能会存在一些官方版本中不存在的错误。 您使用它的风险由您自己承担

构建固件

本文档面向具有一定编程技能并能够构建自己的固件的人员。您可以在 building 页面中找到有关此过程的信息。

一旦您能够编译自己的固件,您就可以继续阅读本文档的下一部分。

当您编译固件时,make 过程以创建的固件的信息摘要结束,如下所示:

text data bss dec hex filename
470129 5964 84964 561057 88fa1 ./obj/main/betaflight_STM32F405_STM32F4DISCOVERY.elf

“文本+数据”为您提供闪存大小,“数据+ bss”是(静态)RAM 使用情况。建议将定制版本保留在未修改版本的值之下。

每个飞控的具体功能

每个飞控都有自己的文件来指定仅为其启用或禁用哪些功能。有时它们会因空间限制而被禁用,但有时则是因为计算能力有限或出现错误,因此启用它们需要您自担风险。它们位于 betaflight 存储库内的子模块中。 配置存储库也可用于拉取请求(来自制造商或用户的鼓励)。

在 Betaflight 主存储库中,该文件位于 ./src/config/configs/[FLIGHT_CONTROLLER_NAME]/config.h 中。

云构建允许您指定要在正在刷新的固件中启用的各种选项。

最后的考虑因素

正如本文档中多次提到的,当您激活开发人员禁用的功能时,您可能会对处理器过度充电,或者在固件版本中包含错误。 所以请小心并自行承担风险