two new launch sites added to the database
[web/altusmetrum] / AltOS / index.mdwn
1 # AltOS
2
3 AltOS is the name of Keith's firmware "operating system" for 
4 [TeleMetrum](../TeleMetrum/) and [TeleDongle](../TeleDongle/).
5
6 In addition to the firmware for [TeleMetrum](../TeleMetrum) and
7 [TeleDongle](../TeleDongle) boards, the AltOS source tree also
8 includes AltosUI, which provides for flight monitoring, post-flight
9 analysis, device configuration and firmware updating. AltosUI runs on
10 Linux, Mac OS X and Windows. It's written in [Java](http://java.com)
11 and offers the same functionality and interface on all three
12 platforms. A small platform-specific library communicates with the USB
13 interface on the Altus Metrum devices.
14
15 There are also Linux-specific tools that provide lower level access to
16 the devices which are useful for developing firmware for the devices.
17
18 We maintain a list of [launch site GPS coordinates](launch-sites.txt).  If 
19 your favorite launch site isn't included, please let us know!
20
21 ## Available Versions ##
22
23 There is a single manual for all Altus Metrum products, which is available 
24 in [html](doc/altusmetrum.html) and [pdf](doc/altusmetrum.pdf) formats.
25
26 We also have an AltOS internals document for programmers 
27 in [html](doc/altos.html) and [pdf](doc/altos.pdf) formats, and a
28 document describing the AltOS over the radio protocol 
29 in [html](doc/telemetry.html) and [pdf](doc/telemetry.pdf) formats.
30
31 [[!inline pages="./releases/* and !*/Discussion and !*.html and !*.bz2 and !*.zip and !*.exe" show="10" rss="no" raw="yes" ]]
32
33 ## Source Code ##
34
35 The latest source, which may include unreleased work in progress, is always 
36 available from [git.gag.com](http://git.gag.com) 
37 in the project [fw/altos](http://git.gag.com/?p=fw/altos;a=summary).  
38
39 If you need to debug code on an Altus Metrum product, you may want our special
40 version of SDCC containing a highly modified sdcdb with support for the cc1111
41 debugging interface, which you can find on [git.gag.com](http://git.gag.com) 
42 in the project [fw/sdcc](http://git.gag.com/?p=fw/sdcc;a=summary).  This is
43 not necessary if you just want to rebuild AltOS and use it.
44
45 ## Future Plans ##
46
47 Bug reports, feature requests, and planning for AltOS releases happens
48 on the [Altus Metrum Trac Site](http://trac.gag.com/altusmetrum).
49
50 A number of features are implemented or in process in the sources available
51 in our publicly visible repository that are not part of the current stable
52 release.
53
54 * Motor characterization. Because TeleMetrum contains a
55   high-resolution, high-frequency accelerometer, it is possible to
56   take the data from that and compute an accurate thrust curve for
57   the motor.
58
59 * Comprehensive PDF and/or HTML -based flight report. Construct a
60   complete report of the flight suitable for publication on the web
61   that includes graphs of the flight and details about motor
62   performance etc.
63    
64 * Publish flight data to the Altus Metrum web site. This will allow
65   you to share your flight data with others, and let you download
66   flights published by others.
67
68 There are any number of additions that could be made to this list; feel free 
69 to send along ideas that you’ve got. Of course, all of this software is 
70 licensed under the GNU General Public License, so you can get the source and 
71 hack on it in the comfort of your own home.
72
73 ## Platform Specific Notes ##
74
75 ### Linux ###
76
77 If you use [Debian](http://www.debian.org), you can simply install the 'altos'
78 package from any Debian mirror, like so:
79
80                 apt-get update
81                 apt-get install altos
82
83 If you use [Ubuntu](http://ubuntulinux.org), pre-built packages are available
84 from [this PPA](https://launchpad.net/~sconklin/+archive/altos/) 
85 maintained by Steve Conklin and friends.
86
87 If you use some other distribution of Linux, then 
88 a Linux package of our second-generation Java bits that 
89 should run on any distribution with a modern Java version is also 
90 available.  Unlike the Debian pacakge, which depends on various libraries
91 already part of the Debian distribution, this package includes a "fat" jar
92 file with all of the Java libraries that aren't part of the basic Java runtime
93 environment included, so it should "just work" on any system with 
94 Java 6.  Development and testing is done with OpenJDK 6, but current 
95 downloads from [java.com](http://java.com) should be fine too.
96
97 If you'd rather build from source, our source tree includes documentation on 
98 how to build packages for various
99 Linux systems such as [Arch Linux](http://www.archlinux.org), and the 
100 debian/ directory contains all the control
101 files for building the Debian packages on other architectures or derivatives
102 such as [Ubuntu](http://ubuntu.com).
103
104 Bdale has also created a theme for 
105 [GDM](http://projects.gnome.org/gdm/) that he uses on his primary notebook,
106 and the 
107 [Simple Login Manager](http://slim.berlios.de/) that he uses on all of his
108 other machines and which is ideally suited for machines dedicated to AltOS 
109 ground station use.  It includes a photo of a drag-race between 
110 nearly-identical rockets
111 built by Keith and Bdale, that was the first time either of us gave TeleMetrum
112 complete control of a rocket flight without some other backup!  See the themes/
113 directory in the source tree (the themes are included in the Debian package).
114
115 ### Mac ###
116
117 A Mac OS X package that is compatible with versions 10.5 "Leopard" and
118 later (including 10.6 "Snow Leopard") is available.  The Mac operating
119 system includes Java, and all Altus Metrum products show up as simple
120 USB serial ports, so this should just work with no additional drivers
121 or other dependency issues.  Older versions of the Mac operating
122 system, and even newer versions for PowerPC-based machines, come with
123 Java version 5 or older, which is too old for use with Altus Metrum
124 software. We know of no way to update the Java version other than
125 upgrading to a newer operating system (for Intel based macs) or
126 purchasing new hardware (for PowerPC based macs).
127
128 ### Windows ###
129
130 Our Windows package is known to work on at least some flavors of XP, Vista, and 
131 Windows 7 Enterprise. If you don't already have Java installed, 
132 download and install a current Java 6 version from [java.com](http://java.com)
133 first.  Then download our installer and run it.  Windows already has 
134 the required USB serial device driver, and our package should do the right
135 things to bind it to our devices, but if you get a complaint about the device
136 being unrecognized, try pointing to the copy of the telemetrum.inf file 
137 included in the package directory manually.
138
139 ## License ##
140
141 The firmware and associated software are licensed [GPL version
142 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)