登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
飞控开发区
›
APM飞控
›
Ardupilot源码极速下载,告别github慢速问题
返回列表
发新帖
查看:
1096
|
回复:
0
Ardupilot源码极速下载,告别github慢速问题
[复制链接]
maoxuesong
maoxuesong
当前离线
积分
1000
窥视卡
雷达卡
320
主题
363
帖子
1000
积分
金牌飞友
金牌飞友, 积分 1000, 距离下一级还需 2000 积分
金牌飞友, 积分 1000, 距离下一级还需 2000 积分
积分
1000
飞币
636
注册时间
2017-7-17
发消息
发表于 2024-8-30 22:01:38
|
显示全部楼层
|
阅读模式
极速下载地址和方法:提示:gitee上的代码,我已经取消同步到github了(同步到2020-4-2日),代码方便大家下载,学习,交流。但是请不要修改上传**(NO git push!)**。码云地址:https://gitee.com/gchasing/ardupilot.git使用方法:在terminal中,直接:git clone https://gitee.com/gchasing/ardupilot.gitgit submodule update --init --recursive即可下载完整代码,整个过程除有两个地方(代码量极小)从github上走之外,均已经搬家到gitee了。预计10分钟之内可以完成。
下面给出搬运过程,一共搬运了13个代码仓库!首先将ArduPilot的代码clone到国内gitee上,这部分知识请自行百度。然后git clone的代码速度就变成了下图这样。杠杠的!
但是APM的代码还没有结束,此时下载下来的代码由于缺少子模块还不能正常编译upload。正常情况下,我们还需要执行git submodule update --init --recursive进行子模块的更新。但是这部分更新仍然走github,速度更是慢的出奇。因此我们继续深挖,势必将速度提升到最大。根据文末的补充知识可知,子模块放在.gitmodules中, 如下图所示gedit .gitmodules
所以我们将github网址替换到国内gitee上,具体为在gitee账号上新建仓库,同步一下网址即可。然后执行如下git指令将修改后的gitmodules上传到git仓库。gitadd gitcommit -m "revise"gitpush然后,需要注意的是,在克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:gitsubmodule initgitsubmodule update此时,可以看到submodule已经从gitee上下载了,速度快了很多。但是还没有结束,–recursive为递归更新子模块命令,所以下面还有坑!(姑且称为二级子模块,三级子模块)。
ArduPilot代码中,所有submodule代码均放置在module文件夹下。打开modules文件夹,发现子文件夹中仍然存在二级子模块,仍然需要更新,分别位于libcanard,mavlink,uavcan中,如下图所示。
此时注意:修改的为子模块中的submodule,也就是二级子模块。会出现下图的情况,需要:git checkout master
然后再进行git push提交。
随后跳转到主目录下,再次进行git push,如下图所示。(push 两遍)
其余两个子模块同理完成即可。其中git的顺序不能错。否则请检查是否push成功。此时进行git submodule update --init --recursive更新,发现仍然有三级子模块从github上进行下载。速度较慢,但是总体速度已经快很多了。如下图所示。
作为一个追求完美的人,绝不在这个地方掉链子。所以我们继续深挖。
根据上图的提示,很容易找到对应的gitmodule文件,同理进行修改。修改后如图所示:
注:三级子模块修改存在问题,待后续解决。提供源代码中并未进行修改,仍然走github。代码量较小。
文末备注知识:git submodule update--init --recursive有时子模块的项目维护地址发生了变化,或者需要替换子模块,就需要删除原有的子模块。
删除子模块较复杂,步骤如下:rm -rf 子模块目录 删除子模块目录及源码vi .gitmodules 删除项目目录下.gitmodules文件中子模块相关条目vi .git/config 删除配置项中子模块相关条目rm .git/module/* 删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可————————————————原文链接:https://blog.csdn.net/qq_15390133/java/article/details/105280801
ardupilot github
,
ardupilot apm
,
ardupilot can
相关帖子
•
在 ardupilot 里接入自己 uwb 最愉懒的办法
•
ArduPilot二次开发零基础教程(八):Guided控制接口
•
2018.01 ArduPilot 发展报告
•
超维小课堂(三十二):Ardupilot固件设置遥测数据频率
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表