Hardware Reference
In-Depth Information
The Hello Library directory layout contains the required header file, implementation file, and the common sub
directories for examples, documentation, and utility code.
Once the code is in GitHub it can be accessed in several ways from your GitHub project page. Figure 2-3 , the
GitHub menu bar, shows that you can download a zip file of the project. “Clone in Mac” triggers the GitHub GUI tool
to clone or copy the project to your local computer. This option is also available for Windows and Linux.
Figure 2-3. GitHub access repository options
Figure 2-3 also shows you can also do a manual copy or clone of the project via secure Hypertext Transport
Protocol (HTTPS), or secure shell (SSH). When you use these secure protocols GitHub will allow you to not just read
data from the project, but write your changes back to the project securely. Finally, each of these techniques will allow
for your sketches to be in your Arduino sketch folder or in you Arduino sketch libraries folder, where you can use or
edit your project code.
In Arduino 1.0.5, there is now a new “Add Library” feature used to install your zipped library projects. This feature
allows you to download the zip archive version of the project directly from GitHub, and it will extract, then install, the
project into your user sketches libraries folder for you. This is very convenient for those developing Arduino libraries.
Many projects use GitHub for project and code management. There are many projects organized in this fashion.
The Arduino project and examples in this chapter are using the same principles.
Arduino ( http://github.com/arduino/arduino ) : The Arduino IDE source code.
ProArduino TiltSpirit ( http://github.com/proard/tiltspirit ) : A simple Arduino game with
LCD and tilt sensors.
ProArduino HelloGithub ( http://github.com/proard/HelloGithub ) : The example Hello
World GitHub for Pro Arduino.
From these project repositories you can find out the source code status, the current issues, and documentation
wiki for a project. Each example represents a project that you can use or help with.
Overview of Version Control
In the code repository is the source code for the project. This code will change depending on project progress,
features, and issues. A project that is alive changes and is revised regularly. Version control provides a method for
multiple people to use, and edit the code simultaneously, and allows you to track the beginning and growth of a
project over time. The basic unit of change in version control is the commit , which contains the list of all modified
files, plus the code changes inside of them. In our case, version control can be thought of as a list of changes that are
committed to the project by yourself or by other collaborators.
Overview of Issue Tracking
Issues are the features, bugs, and change requests for a project. A new project has goals and requirements. These are
translated into issues for which the code delivers the functionally. Tracking issues can be quite difficult. For small
projects that are about tiny tasks, a programmer can simply remember what needs to be done, but when a project
takes you a couple days or more, your community starts giving you feedback and people start wanting to help you.
In these cases, issue-tracking becomes critical. When you track issues, you keep a written list of new features and
improvements. This public list is critical, in that users of your software can add feature requests or describe a problem
in detail. A way to handle this is to assign a unique number, description, and category to each issue; this number
 
Search WWH ::




Custom Search