Guide - arthurbenemann/ardupilot GitHub Wiki
How to become a contributor: Please see this post for full details. Short version: we are always looking for new team members, but to avoid disrupting existing work or destabilizing code, we have processes that bring people in gradually. For starters, you need to be given commit access to the SVN repository, something that can be granted by one of the existing team members. In general, it is best to propose (or better yet, prototype) a specific feature addition or bug fix, and demonstrate that you are comfortable enough with code to be able to do it. If this fits in well with the project's direction, you will be added to the developers maillist and given SVN access.
Once you've been given commit access to the SVN: When you have SVN commit access, you can check code into the repository (anyone can check code out, but only approved developers can commit changed code back in). Here are the tools to use:
-
A SVN client: On Windows, we recommend Tortoise SVN, which integrates into the Windows desktop. All command are available by right-clicking on any desktop folder. For starters, you can go to the Repo Browser and explore the repository folders. When you find the one you want to work on, Check Out that folder to your local hard drive. When you have finished editing the code, Commit it back in, with an explantion of the changes you've made.
-
A text editor: Although the Arduino IDE has a built-in text editor, it does bad things to line endings. Our SVN settings require that contributors use a better text editor, which handles line endings correctly. On Windows, we recommend Notepad++
Rules for Committing code: Unless you are very sure of what you are doing, and your changes are very minor, you should probably create a branch within SVN for your work. That way, if you mess things up, you won't take down the main code that everyone else is working on. If you're unsure, Branch. You can always Merge your changes back in once they're tested.
Languages: We only support C and C++. As a rule of thumb, no code should be committed that the Arduino compiler can't understand.