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
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.
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.
18 The firmware and associated software are licensed [GPL version
19 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
21 ## Available Versions ##
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.
26 [[!inline pages="./releases/* and !*/Discussion and !*.bz2 and !*.zip and !*.exe" show="10" rss="no" raw="yes" ]]
28 The latest source, which may include unreleased work in progress, is always
29 available from [git.gag.com](http://git.gag.com)
30 in the project [fw/altos](http://git.gag.com/?p=fw/altos;a=summary).
32 If you need to debug code on an Altus Metrum product, you may want our special
33 version of SDCC containing a highly modified sdcdb with support for the cc1111
34 debugging interface, which you can find on [git.gag.com](http://git.gag.com)
35 in the project [fw/sdcc](http://git.gag.com/?p=fw/sdcc;a=summary). This is
36 not necessary if you just want to rebuild AltOS and use it.
38 ### Version 0.9 Features ###
40 Version 0.9 adds a few new firmware features and accompanying AltosUI
41 changes, along with new hardware support.
43 * Support for TeleMetrum v1.1 hardware. Sources for the flash memory
44 part used in v1.0 dried up, so v1.1 uses a different part which
45 required a new driver and support for explicit flight log erasing.
47 * Multiple flight log support. This stores more than one flight log
48 in the on-board flash memory. It also requires the user to
49 explicitly erase flights so that you won't lose flight logs just
50 because you fly the same board twice in one day.
52 * Telemetry support for devices with serial number >= 256. Previous
53 versions used a telemetry packet format that provided only 8 bits
54 for the device serial number. This change requires that both ends
55 of the telemetry link be running the 0.9 firmware or they will not
58 ### Version 0.8 Features ###
60 Version 0.8 offers a major upgrade in the AltosUI
61 interface. Significant new features include:
63 * Post-flight graphing tool. This lets you explore the behaviour of
64 your rocket after flight with a scroll-able and zoom-able chart
65 showing the altitude, speed and acceleration of the airframe along
66 with events recorded by the flight computer. You can export graphs
67 to PNG files, or print them directly.
69 * Real-time moving map which overlays the in-progress flight on
70 satellite imagery fetched from
71 [Google Maps](http://maps.google.com). This lets you see in pictures
72 where your rocket has landed, allowing you to plan recovery
73 activities more accurately.
75 * Wireless recovery system testing. Prep your rocket for flight and test
76 fire the deployment charges to make sure things work as
77 expected. All without threading wires through holes in your
80 * Optimized flight status displays. Each flight state now has it's own
81 custom 'tab' in the flight monitoring window so you can focus on the
82 most important details. Pre-flight, the system shows a set of
83 red/green status indicators for battery voltage, apogee/main igniter
84 continutity and GPS reception. Wait until they're all green and your
85 rocket is ready for flight. There are also tabs for ascent, descent
86 and landing along with the original tabular view of the data.
88 * Monitor multiple flights simultaneously. If you have more than one
89 TeleDongle, you can monitor a flight with each one on the same
92 * Automatic flight monitoring at startup. Plug TeleDongle into the
93 machine before starting AltosUI and it will automatically connect to
94 it and prepare to monitor a flight.
96 * Exports Google Earth flight tracks. Using the Keyhole Markup
97 Language (.kml) file format, this provides a 3D view of your rocket
98 flight through the Google Earth program.
100 ### Version 0.7.1 Features ###
102 Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can:
104 * Receive and log telemetry from a connected TeleDongle device. All data
105 received is saved to log files named with the current date and the connected
106 rocket serial and flight numbers. There is no mode in which telemetry data
109 * Download logged data from TeleMetrum devices, either through a direct USB
110 connection or over the air through a TeleDongle device.
112 * Configure a TeleMetrum device, setting the radio channel, callsign, apogee
113 delay and main deploy height. This can be done through either a USB
114 connection or over a radio link via a TeleDongle device.
116 * Replay a flight in real-time. This takes a saved telemetry log or eeprom
117 download and replays it through the user interface so you can relive your
118 favorite rocket flights.
120 * Reprogram Altus Metrum devices. Using an Altus Metrum device connected via
121 USB, another Altus Metrum device can be reprogrammed using the supplied
122 programming cable between the two devices.
124 * Export Flight data to a comma-separated-values file. This takes either
125 telemetry or on-board flight data and generates data suitable for use in
126 external applications. All data is exported using standard units so that no
127 device-specific knowledge is needed to handle the data.
129 * Speak to you during the flight. Instead of spending the flight hunched over
130 your laptop looking at the screen, enjoy the view while the computer tells
131 you what’s going on up there. During ascent, you hear the current flight
132 state and altitude information. During descent, you get azimuth, elevation
133 and range information to try and help you find your rocket in the air. Once
134 on the ground, the direction and distance are reported.
136 AltosUI provides all of these features on the three target operating systems,
137 Linux, Mac OS X (version 10.5 or newer) and Windows (XP, Vista or 7). The bulk
138 of the software is written in Java and is built once and tested and delivered
139 on all three target platforms. A tiny ‘shim’ library is built on each system
140 to provide access to the Altus Metrum devices connected over the USB link.
144 A number of features are implemented or in process in the sources available
145 in our publicly visible repository that are not part of the current stable
148 * A Kalman-filter based approach to apogee detection using more than just the
149 baro sensor, so that we can safely control apogee ejection on flights to
150 altitudes beyond the range of our baro sensor alone. Unlike the other items
151 on the list, this will be a significant change to the in-rocket TeleMetrum
152 firmware. It may therefore be a while before this becomes part of a stable
155 * Motor characterization. Because TeleMetrum contains a
156 high-resolution, high-frequency accelerometer, it is possible to
157 take the data from that and compute an accurate thrust curve for
160 * Comprehensive PDF and/or HTML -based flight report. Construct a
161 complete report of the flight suitable for publication on the web
162 that includes graphs of the flight and details about motor
165 * Publish flight data to the Altus Metrum web site. This will allow
166 you to share your flight data with others, and let you download
167 flights published by others.
169 There are any number of additions that could be made to this list; feel free
170 to send along ideas that you’ve got. Of course, all of this software is
171 licensed under the GNU General Public License, so you can get the source and
172 hack on it in the comfort of your own home.
174 ## Platform Specific Notes ##
178 If you use [Debian](http://www.debian.org), then a pre-built package for
179 32-bit x86 is currently available here:
181 wget -O - http://altusmetrum.org/apt/altusmetrum.key | apt-key add -
182 wget -O /etc/apt/sources.list.d/altos.list http://altusmetrum.org/apt/altos.list
184 apt-get install altos
186 If you use some other distribution of Linux, then
187 a Linux package of our second-generation Java bits that
188 should run on any distribution with a modern Java version is also
189 available. Unlike the Debian pacakge, which depends on various libraries
190 already part of the Debian distribution, this package includes a "fat" jar
191 file with all of the Java libraries that aren't part of the basic Java runtime
192 environment included, so it should "just work" on any system with
193 Java 6. Development and testing is done with OpenJDK 6, but current
194 downloads from [java.com](http://java.com) should be fine too.
196 If you'd rather build from source, our source tree includes documentation on
197 how to build packages for various
198 Linux systems such as [Arch Linux](http://www.archlinux.org), and the
199 debian/ directory contains all the control
200 files for building the Debian packages on other architectures or derivatives
201 such as [Ubuntu](http://ubuntu.com).
203 Bdale has also created a theme for
204 [GDM](http://projects.gnome.org/gdm/) that he uses on his primary notebook,
206 [Simple Login Manager](http://slim.berlios.de/) that he uses on all of his
207 other machines and which is ideally suited for machines dedicated to AltOS
208 ground station use. It includes a photo of a drag-race between
209 nearly-identical rockets
210 built by Keith and Bdale, that was the first time either of us gave TeleMetrum
211 complete control of a rocket flight without some other backup! See the themes/
212 directory in the source tree (the themes are included in the Debian package).
216 A Mac OS X package that is compatible with versions 10.5 "Leopard" and
217 later (including 10.6 "Snow Leopard") is available. The Mac operating
218 system includes Java, and all Altus Metrum products show up as simple
219 USB serial ports, so this should just work with no additional drivers
220 or other dependency issues. Older versions of the Mac operating
221 system, and even newer versions for PowerPC-based machines, come with
222 Java version 5 or older, which is too old for use with Altus Metrum
223 software. We know of no way to update the Java version other than
224 upgrading to a newer operating system (for Intel based macs) or
225 purchasing new hardware (for PowerPC based macs).
229 Our Windows package is known to work on at least some flavors of XP, Vista, and
230 Windows 7 Enterprise. If you don't already have Java installed,
231 download and install a current Java 6 version from [java.com](http://java.com)
232 first. Then download our installer and run it. Windows already has
233 the required USB serial device driver, and our package should do the right
234 things to bind it to our devices, but if you get a complaint about the device
235 being unrecognized, try pointing to the copy of the telemetrum.inf file
236 included in the package directory manually.