模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

14642查看 | 23回复

如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能

  [复制链接]
发表于 2017-10-10 08:05:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 ezk 于 2017-10-10 09:13 编辑

编译环境设置
参考https://github.com/martinbudden/betaflight/blob/master/docs/development/Building%20in%20Windows.md
需要软件:Cygwin GNU ARM Toolchain

我自己测试用Cygwin 2.881 gcc-arm-none-eabi-6-2017-q2-update-win32 成功编译BF3.2.1
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 7657
Cygwin下载,下载X8664 还是32 看你自己的电脑
在安装Cywin时候要选下面这些选项
    Devel/git
   Devel/git-completion (可选)
    Devel/make
    Devel/binutils
    Editors/vim
    Editors/vim-common(可选)
    Shells/mintty (默认选了)
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 5999
默认安装到C:\cygwin64
C:\cygwin64\home\windows用户名 目录下就是相当于linuxhome目录 所有git下载过来和编译的文件都在里面


接下来下载安装 ARMtool chain
下载zip包就行

如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 3400
下载完要添加windows 环境目录
添加一个path 里面填下面的东西 C:\gcc-arm-none-eabi-6-2017-q2-update-win32\bin是这个tool chain的解压目录里面的bin 文件夹
%PATH%;C:\gcc-arm-none-eabi-6-2017-q2-update-win32\bin
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 4284
这样编译环境就设置完成了

接下来git下载源文件 和编译
点开桌面的 cygwin64terminal
整个BF的源码就下载到你的C:\cygwin64\home\windows用户名 目录下
接下来进入betaflight 目录 输入cdbetaflight
接下来输入makeTARGET=BETAFLIGHTF3 就开始编译了 里以BETAFLIGHTF3 作为目标硬件(target)来编译
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 6525
所有的支持目标硬件都罗列在
C:\cygwin64\home\windows 用户名\betaflight\src\main\target
编译好的hex文件在
C:\cygwin64\home\ windows 用户名\betaflight\obj
如果编译出错基本上是英文tool chain 那环境变量设置不对

F3 BF3.2.1 瘦身或者添加GPS或者其他功能
我要GPS不是要回家功能,而是x9d支持数传GPS坐标的功能。这样在齐腰身的草上空随意飞行都不怕丢。飞控可以把实时的坐标传到遥控器上,这样省去大量找飞机的时间。飞机也再也没有丢过。重新编译的固件并不能带来任何性能上的提高。
接下来最大的问题来了 BF3.2.1 F3 MCU GPS支持完全给移除了因为Flash/ROM不够用了,好多空间给动态滤波用了。 STM32F303  256 Kb Flash/ROM 40Kb SRAMF303只有256KbROM。这点可以在C:\cygwin64\home\windows用户名\betaflight\src\main\target\common_fc_pre.h里面最后几行看到。

下面我一BETAFLIGHT F3 飞控为例 厦门的FPVmodel造的
我先试试强制添加GPS功能 找到
C:\cygwin64\home\windows 用户名\betaflight\src\main\target\BETAFLIGHTF3\target.h
随便找个地方添加这几行
#define GPS
#define USE_NAV
#define USE_UNCOMMON_MIXERS
最终结果编译出错ROM还是不够用
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 2171
接下来看看那些头文件怎么定义的,其实好多万年不用的功能都可以删掉,例如PWM LED灯,各种数传协议等等。但是我还是想保留软串口功能。有一台穿越图传支持类似smartaudio配置功能那要留给图传配置用。
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 8836 如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 3208 如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 4094
上面这3个图是C:\cygwin64\home\windows 用户名\betaflight\src\main\target\common_fc_pre.h的头文件
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 689
这张图是来自于C:\cygwin64\home\windows 用户名\betaflight\src\main\target\BETAFLIGHTF3\target.h , 可以把ESC 回传RPM这些功能去掉。
把各种协议都干掉终于ROM空间够了,也编译成功。
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 9394
接下来直接去Chromehex文件手动刷进去就行

下面是编译时候2个头文件的配置
如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 5795 如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 8791

这定制版本的固件我只有时间在家里试飞,GPS是保证能用的,硬件只支持betaflight f3这飞控。 这飞控和那些其他淘宝版本的硬件F3不太一样。

如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:ezk 9676 betaflight_3.2.1_BETAFLIGHTF3.zip (235.14 KB, 下载次数: 12, 售价: 10 牛币)



 楼主| 发表于 2018-4-28 04:01:51 | 显示全部楼层
jcofee 发表于 2018-4-27 11:56
楼主,麻烦问下,我也按你的方式编辑了刷到飞控里,在 GPS 界面里有显示 8 颗星,但始终无法 3DFix,并且右 ...

没有用过地图 我只需要坐标
3Dfix 需要不少时间 同样用m8n 在pix一般30秒内 bf有的时候一颗电池飞完都没fix
OSD显示速度我没试过 应该没问题
尝试把那些不要的telemetry的define全部注解掉 留下越多define越好
现在github 最新版的又多了好多这类宏定义
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2018-4-26 15:36:17 | 显示全部楼层
=爱好者= 发表于 2018-4-26 14:47
能加上成自动返航就更好了,用F4空间大些

要导航 出门转inav
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-10-10 12:14:45 | 显示全部楼层
下一帖讲解X9D的 数传功能
BF的数传和 pix的数传
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-10-10 12:04:53 | 显示全部楼层
jkd_405 发表于 2017-10-10 09:34
占坑学习,能否用eclipse for c++

编辑可以
编译不清楚 应该也可以 我不知道如何设置
回复 支持 0 反对 1

使用道具 举报

发表于 2018-12-16 11:31:37 | 显示全部楼层
按照这个方法进行了,配置,但是现在不能进行make。不知什么原因,能否加个微信,指点一下。
回复 支持 1 反对 0

使用道具 举报

发表于 2018-11-2 15:14:48 | 显示全部楼层
兄弟,bf固件,是用的啥语言写的?
回复 支持 0 反对 1

使用道具 举报

发表于 2018-11-12 23:25:24 | 显示全部楼层
怎么用这个调出GPS导航
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-11-1 06:52:51 | 显示全部楼层
无名小模 发表于 2018-10-30 20:02
兄弟有文档说明这些参数是干什么的吗,我想把最新的瘦身一下,想用gps

没有 英文理解还是很简单的
回复 支持 0 反对 1

使用道具 举报

发表于 2017-10-10 08:24:08 | 显示全部楼层
高手在民间。
发表于 2017-10-10 09:34:28 | 显示全部楼层
占坑学习,能否用eclipse for c++

点评

ezk
编辑可以 编译不清楚 应该也可以 我不知道如何设置  详情 回复 发表于 2017-10-10 12:04
发表于 2017-10-10 09:47:52 | 显示全部楼层
好帖子帮顶了
发表于 2017-10-10 16:42:24 | 显示全部楼层
专业玩法果然6
发表于 2017-10-10 17:28:01 | 显示全部楼层
高手在民间如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:chanshiguan.ink 2113 如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能 图传,飞控,遥控器,FPV,固件 作者:chanshiguan.ink 2161
发表于 2017-10-10 19:51:01 | 显示全部楼层
专业!那套中午注释,心血
发表于 2017-12-12 12:11:59 | 显示全部楼层
这个编译完后,怎么将修改的内容更新到gitHub上去呢?
发表于 2018-4-26 10:43:10 | 显示全部楼层
好牛的技术贴,我也搞了一个OMNIBUS的
回复 支持 反对

使用道具 举报

发表于 2018-4-26 14:47:47 | 显示全部楼层
能加上成自动返航就更好了,用F4空间大些
回复 支持 反对

使用道具 举报

发表于 2018-4-27 11:56:02 | 显示全部楼层
楼主,麻烦问下,我也按你的方式编辑了刷到飞控里,在 GPS 界面里有显示 8 颗星,但始终无法 3DFix,并且右边的地图也无法显示。请问还有什么需要注意的么?我只是想在OSD中可以显示飞行的速度相关信息,也可以查询坐标!
回复 支持 反对

使用道具 举报

发表于 2018-4-28 07:22:09 | 显示全部楼层
好技术支持
回复 支持 反对

使用道具 举报

发表于 2018-10-12 08:37:33 | 显示全部楼层
学习了,好
回复 支持 反对

使用道具 举报

发表于 2018-10-16 19:25:05 | 显示全部楼层
这源代码帖子谁有
回复 支持 反对

使用道具 举报

发表于 2018-10-30 20:02:08 | 显示全部楼层
兄弟有文档说明这些参数是干什么的吗,我想把最新的瘦身一下,想用gps
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!