整个APM工程的源码都采用git(译者注:一款自由和开源的分布式版本控制系统)进行代码管理,并且托管在github网站上。
目前APM的源码以开源的形式托管在https://github.com/diydrones/ardupilot上。由于历史原因,另一个老版本的Google code仓库仍然保持在线可访问状态,但是除非你对老版本(APM 1.x)有特殊的需求,一般建议您不要使用该仓库中的代码。
固定翼飞机(Plane),旋翼飞行器(Copter),无人车(Rover)模块全部包含在 diydrones/ardupilot 代码库中,天线跟踪模块虽然也包含在该代码库中,但在文件目录Tools/
下。
地面站MissionPlanner包含在diydrones/MissionPlanner代码库中。
预备知识
Git在绝大多数操作平台上都是可以使用的,并且还存在各种工具使得开始使用Git更加简单。首先,你需要下载和安装对应你使用的操作平台的客户端程序,如果你刚开始接触到这种源代码控制系统,那么,windows版的GitHub或Mac版的GitHub客户端都有一个非常好的使用文档,并且和GitHub有着很好的集成,可以从这里开始学习如何使用Git。本次说明将同时使用Windows版的Github用户界面和OSX/Linux终端下的命令行界面进行操作。
如果你想要直接向APM官网代码库中提交代码,那么你需要在Github上免费注册一个账号。
学习Git
本次操作将用到一些基本的git指令:clone,branch,commit,push。你没必要为了本次操作而必须很精通Git。除了本手册之外还有许多关于使用git的教程,当中有许多资源是在线形式的。这里有一些对你可能有用的资源:
- Try Git:基于浏览器交互学习的学习Git教程
- Git Ready:分不同层次水平的Git学习教程
- Git SCM Book:Git的介绍和比较详细文档
Fork和clone代码库
“Fork”是Github上将一个代码库复制到自己账户下的一个操作术语。采用该操作不仅可以保留原始代码库的信息,还能让你在这些代码库的基础上进行开发升级。“Clone”是git中将一个代码库复制到你自己电脑上的操作术语。
假如你不想在github上注册账号,你可以跳过下面的“Cloning”部分,否则的话,创建你的账户并登陆,开始forking主代码库。
Forking主代码库
- 登陆Github并前往https://github.com/diydrones/ardupilot。
- “Fork”按键位于页面右上角:
点击Fork按钮即可。
Cloning主代码库
- 现在你需要克隆一份代码到你的本地电脑上。进入你要克隆的刚刚“Fork”的代码库或者直接在APM的主代码库,在屏幕的右侧,会发现你需要克隆代码库的相关按钮信息:
- 克隆代码库到指定目录
OSX/Linux终端:
git clone https://github.com/your_username/ardupilot
- Windows(Github用户界面):
a、在你的web浏览器中打开diydrones/ardupilot 代码库
b、点击右下角的“Clone in desktop”按钮
c、 如果你之前还没有安装Github:
1) 请到windows.github.com页面,按下右上角的“downlaod”按钮下载安装包
2) 在你的电脑上保存文件,然后运行并按说明安装Github客户端
3) 在Github客户端界面上点击右侧箭头按钮来查看最近提交的内容列表,或者在 diydrones/ardupilot 代码库上右击选择“open in explorer”(在文件管理器中代开)。
现在,你可以用你最喜爱的编辑器,如NotePad++,subline Text或者acme中打开文件。
链接
(over)