bdddbdafcb7cc65c6b311deb5bc06ea0410c39f0
[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 * A Kalman-filter based approach to apogee detection using more than just the
50   baro sensor, so that we can safely control apogee ejection on flights to
51   altitudes beyond the range of our baro sensor alone.  Unlike the other items
52   on the list, this will be a significant change to the in-rocket TeleMetrum
53   firmware.  It may therefore be a while before this becomes part of a stable 
54   firmware release.
55
56 * Motor characterization. Because TeleMetrum contains a
57   high-resolution, high-frequency accelerometer, it is possible to
58   take the data from that and compute an accurate thrust curve for
59   the motor.
60
61 * Comprehensive PDF and/or HTML -based flight report. Construct a
62   complete report of the flight suitable for publication on the web
63   that includes graphs of the flight and details about motor
64   performance etc.
65    
66 * Publish flight data to the Altus Metrum web site. This will allow
67   you to share your flight data with others, and let you download
68   flights published by others.
69
70 There are any number of additions that could be made to this list; feel free 
71 to send along ideas that you’ve got. Of course, all of this software is 
72 licensed under the GNU General Public License, so you can get the source and 
73 hack on it in the comfort of your own home.
74
75 ## Platform Specific Notes ##
76
77 ### Linux ###
78
79 If you use [Debian](http://www.debian.org), then a pre-built package for 
80 32-bit x86 is currently available here:
81
82         wget -O - http://altusmetrum.org/apt/altusmetrum.key | apt-key add -
83         wget -O /etc/apt/sources.list.d/altos.list http://altusmetrum.org/apt/altos.list
84         apt-get update
85         apt-get install altos
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)