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