3 AltOS is the name of Keith's firmware "operating system" for
4 [TeleMetrum](../TeleMetrum/) and [TeleDongle](../TeleDongle/).
6 In addition to the firmware for [TeleMetrum](../TeleMetrum) and
7 [TeleDongle](../TeleDongle) boards, the AltOS source tree also includes a
8 number of utilities useful for monitoring and logging telemetry during flight,
9 post-processing flight data for analysis, plus utilities for updating firmware,
10 and developing and debugging new functionality. The first generation of these
11 utilities were Linux-only, but our current second-generation software written
12 largely in [Java](http://java.com) with a small platform-specific library
13 works identically on Windows, Mac, and Linux systems!
15 The firmware and associated software are licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
17 ## Available Versions ##
19 There is a single manual for all Altus Metrum products, which is available
20 in [html](doc/altusmetrum.html) and [pdf](doc/altusmetrum.pdf) formats.
22 [[!inline pages="./releases/* and !*/Discussion and !*.bz2 and !*.zip and !*.exe" show="10" rss="no" raw="yes" ]]
24 The latest source is always available from [git.gag.com](http://git.gag.com)
25 in the project [fw/altos](http://git.gag.com/?p=fw/altos;a=summary).
27 If you need to debug code on an Altus Metrum product, you may want the special
28 version of SDCC containing a highly modified sdcdb with support for the cc1111
29 debugging interface, which you can find on [git.gag.com](http://git.gag.com)
30 in the project [fw/sdcc](http://git.gag.com/?p=fw/sdcc;a=summary). This is
31 not necessary if you just want to rebuild AltOS and use it.
35 Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can:
37 * Receive and log telemetry from a connected TeleDongle device. All data
38 received is saved to log files named with the current date and the connected
39 rocket serial and flight numbers. There is no mode in which telemetry data
42 * Download logged data from TeleMetrum devices, either through a direct USB
43 connection or over the air through a TeleDongle device.
45 * Configure a TeleMetrum device, setting the radio channel, callsign, apogee
46 delay and main deploy height. This can be done through either a USB
47 connection or over a radio link via a TeleDongle device.
49 * Replay a flight in real-time. This takes a saved telemetry log or eeprom
50 download and replays it through the user interface so you can relive your
51 favorite rocket flights.
53 * Reprogram Altus Metrum devices. Using an Altus Metrum device connected via
54 USB, another Altus Metrum device can be reprogrammed using the supplied
55 programming cable between the two devices.
57 * Export Flight data to a comma-separated-values file. This takes either
58 telemetry or on-board flight data and generates data suitable for use in
59 external applications. All data is exported using standard units so that no
60 device-specific knowledge is needed to handle the data.
62 * Speak to you during the flight. Instead of spending the flight hunched over
63 your laptop looking at the screen, enjoy the view while the computer tells
64 you what’s going on up there. During ascent, you hear the current flight
65 state and altitude information. During descent, you get azimuth, elevation
66 and range information to try and help you find your rocket in the air. Once
67 on the ground, the direction and distance are reported.
69 AltosUI provides all of these features on the three target operating systems,
70 Linux, Mac OS X (version 10.5 or newer) and Windows (XP, Vista or 7). The bulk
71 of the software is written in Java and is built once and tested and delivered
72 on all three target platforms. A tiny ‘shim’ library is built on each system
73 to provide access to the Altus Metrum devices connected over the USB link.
77 A number of features are implemented or in process in the sources available
78 in our publicly visible repository that are not part of the current stable
79 release. Some of these features are already available in our C utilities,
80 but not yet part of our second-generation Java user interface altosui.
82 * [Google Earth](http://earth.google.com) "KML" file export. The
83 first-generation C program ao-postflight can do this, the implementation
84 in altosui has improvements.
86 * Data plotting. The first-generation C program ao-postflight can output a
87 set of standard plots as an svg file. The plotting code we're integrating
88 into altosui supports direct interaction with the data and is much more fun!
90 * State-dependent display. When the rocket is on the pad, you mostly want to
91 know if it’s ready to fly. When the rocket is descending on a chute, you
92 want to know where it is in the sky and how fast its falling. Presenting a
93 limited amount of information that represents what is most interesting to
94 the user at any given time should make the display easier to read.
96 * Ejection charge testing. The TeleMetrum firmware has the ability to be
97 commanded to fire ejection charges over the USB or radio links. Safely
98 hooking this up to the user interface will allow for wireless ejection
99 system testing. It is possible to do this today with a terminal program,
100 but we want this to be a feature in altosui. The key here is “safely”, of
101 course, which means figuring out a ‘fool proof’ user interface.
103 * A Kalman-filter based approach to apogee detection using more than just the
104 baro sensor, so that we can safely control apogee ejection on flights to
105 altitudes beyond the range of our baro sensor alone. Unlike the other items
106 on the list, this will be a significant change to the in-rocket TeleMetrum
107 firmware. It may therefore be a while before this becomes part of a stable
110 There are any number of additions that could be made to this list; feel free
111 to send along ideas that you’ve got. Of course, all of this software is
112 licensed under the GNU General Public License, so you can get the source and
113 hack on it in the comfort of your own home.
115 ## Platform Specific Notes ##
119 If you use [Debian](http://www.debian.org), then a pre-built package for
120 32-bit x86 is currently available here:
122 wget -O - http://altusmetrum.org/apt/altusmetrum.key | apt-key add -
123 wget -O /etc/apt/sources.list.d/altos.list http://altusmetrum.org/apt/altos.list
125 apt-get install altos
127 If you use some other distribution of Linux, then
128 a Linux package of our second-generation Java bits that
129 should run on any distribution with a modern Java version is also
130 available. Unlike the Debian pacakge, which depends on various libraries
131 already part of the Debian distribution, this package includes a "fat" jar
132 file with all of the Java libraries that aren't part of the basic Java runtime
133 environment included, so it should "just work" on any system with
134 Java 6. Development and testing is done with OpenJDK 6, but current
135 downloads from [java.com](http://java.com) should be fine too.
137 If you'd rather build from source, our source tree includes documentation on
138 how to build packages for various
139 Linux systems such as [Arch Linux](http://www.archlinux.org), and the
140 debian/ directory contains all the control
141 files for building the Debian packages on other architectures or derivatives
142 such as [Ubuntu](http://ubuntu.com).
144 Bdale has also created a theme for
145 [GDM](http://projects.gnome.org/gdm/) that he uses on his primary notebook,
147 [Simple Login Manager](http://slim.berlios.de/) that he uses on all of his
148 other machines and which is ideally suited for machines dedicated to AltOS
149 ground station use. It includes a photo of a drag-race between
150 nearly-identical rockets
151 built by Keith and Bdale, that was the first time either of us gave TeleMetrum
152 complete control of a rocket flight without some other backup! See the themes/
153 directory in the source tree (the themes are included in the Debian package).
157 A Mac OS X package that is compatible with
158 versions 10.5 "Leopard" and later (including 10.6 "Snow Leopard") is
159 available. The Mac operating system includes Java, and all Altus Metrum
160 products show up as simple USB serial ports, so this should just work
161 with no additional drivers or other dependency issues. Older versions of
162 the Mac operating system come with Java versions that are too old for use
163 with Altus Metrum software, and we know of no way to update the Java version
164 other than upgrading to a newer operating system.
168 Our Windows package is known to work on at least some flavors of XP, Vista, and
169 Windows 7 Enterprise. If you don't already have Java installed,
170 download and install a current Java 6 version from [java.com](http://java.com)
171 first. Then download our installer and run it. Windows already has
172 the required USB serial device driver, and our package should do the right
173 things to bind it to our devices, but if you get a complaint about the device
174 being unrecognized, try pointing to the copy of the telemetrum.inf file
175 included in the package directory manually. Reports of success or failure
176 with other versions of Windows would be appreciated!