AltOS is the name of Keith's firmware "operating system" for
[TeleMetrum](../TeleMetrum/) and [TeleDongle](../TeleDongle/).
-In addition to the firmware for [TeleMetrum](../TeleMetrum) and
-[TeleDongle](../TeleDongle) boards, the AltOS source tree also includes a
-number of utilities useful for monitoring and logging telemetry during flight,
-post-processing flight data for analysis, and utilities for updating firmware,
-and developing and debugging new functionality. The first generation of these
-utilities were Linux-only, but our current second-generation software written
-largely in [Java](http://java.com) with a small platform-specific library
-works identically on Windows, Mac, and Linux systems!
+In addition to the firmware for [TeleMetrum](../TeleMetrum) and
+[TeleDongle](../TeleDongle) boards, the AltOS source tree also
+includes AltosUI, which provides for flight monitoring, post-flight
+analysis, device configuration and firmware updating. AltosUI runs on
+Linux, Mac OS X and Windows. It's written in [Java](http://java.com)
+and offers the same functionality and interface on all three
+platforms. A small platform-specific library communicates with the USB
+interface on the Altus Metrum devices.
-## Features ##
+There are also Linux-specific tools that provide lower level access to
+the devices which are useful for developing firmware for the devices.
-### User View ###
+The firmware and associated software are licensed [GPL version
+2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
-More documentation is coming soon, but in the meantime,
-most operations in the second-generation GUI are pretty easy to figure out.
+## Available Versions ##
-### Developer View ###
+There is a single manual for all Altus Metrum products, which is available
+in [html](doc/altusmetrum.html) and [pdf](doc/altusmetrum.pdf) formats.
-* The firmware and associated software are licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
+[[!inline pages="./releases/* and !*/Discussion and !*.bz2 and !*.zip and !*.exe" show="10" rss="no" raw="yes" ]]
-## Artifacts ##
+The latest source, which may include unreleased work in progress, is always
+available from [git.gag.com](http://git.gag.com)
+in the project [fw/altos](http://git.gag.com/?p=fw/altos;a=summary).
-The source is available from [git.gag.com](http://git.gag.com) in the project
-[fw/altos](http://git.gag.com/?p=fw/altos;a=summary).
+If you need to debug code on an Altus Metrum product, you may want our special
+version of SDCC containing a highly modified sdcdb with support for the cc1111
+debugging interface, which you can find on [git.gag.com](http://git.gag.com)
+in the project [fw/sdcc](http://git.gag.com/?p=fw/sdcc;a=summary). This is
+not necessary if you just want to rebuild AltOS and use it.
-### Pre-Built Binary Packages by Platform ###
+### Version 0.9.2 Features ###
-#### Linux ####
+Version 0.9.2 is an AltosUI bug-fix release, with no firmware changes.
+
+ * Fix plotting problems due to missing file in the Mac OS install image.
+
+ * Always read whole eeprom blocks, mark empty records invalid, display
+ parsing errors to user.
+
+ * Add software version to Configure AltosUI dialog
+
+### Version 0.9 Features ###
+
+Version 0.9 adds a few new firmware features and accompanying AltosUI
+changes, along with new hardware support.
+
+ * Support for TeleMetrum v1.1 hardware. Sources for the flash memory
+ part used in v1.0 dried up, so v1.1 uses a different part which
+ required a new driver and support for explicit flight log erasing.
+
+ * Multiple flight log support. This stores more than one flight log
+ in the on-board flash memory. It also requires the user to
+ explicitly erase flights so that you won't lose flight logs just
+ because you fly the same board twice in one day.
+
+ * Telemetry support for devices with serial number >= 256. Previous
+ versions used a telemetry packet format that provided only 8 bits
+ for the device serial number. This change requires that both ends
+ of the telemetry link be running the 0.9 firmware or they will not
+ communicate.
+
+### Version 0.8 Features ###
+
+Version 0.8 offers a major upgrade in the AltosUI
+interface. Significant new features include:
+
+* Post-flight graphing tool. This lets you explore the behaviour of
+ your rocket after flight with a scroll-able and zoom-able chart
+ showing the altitude, speed and acceleration of the airframe along
+ with events recorded by the flight computer. You can export graphs
+ to PNG files, or print them directly.
+
+* Real-time moving map which overlays the in-progress flight on
+ satellite imagery fetched from
+ [Google Maps](http://maps.google.com). This lets you see in pictures
+ where your rocket has landed, allowing you to plan recovery
+ activities more accurately.
+
+* Wireless recovery system testing. Prep your rocket for flight and test
+ fire the deployment charges to make sure things work as
+ expected. All without threading wires through holes in your
+ airframe.
+
+* Optimized flight status displays. Each flight state now has it's own
+ custom 'tab' in the flight monitoring window so you can focus on the
+ most important details. Pre-flight, the system shows a set of
+ red/green status indicators for battery voltage, apogee/main igniter
+ continutity and GPS reception. Wait until they're all green and your
+ rocket is ready for flight. There are also tabs for ascent, descent
+ and landing along with the original tabular view of the data.
+
+* Monitor multiple flights simultaneously. If you have more than one
+ TeleDongle, you can monitor a flight with each one on the same
+ computer.
+
+* Automatic flight monitoring at startup. Plug TeleDongle into the
+ machine before starting AltosUI and it will automatically connect to
+ it and prepare to monitor a flight.
+
+* Exports Google Earth flight tracks. Using the Keyhole Markup
+ Language (.kml) file format, this provides a 3D view of your rocket
+ flight through the Google Earth program.
+
+### Version 0.7.1 Features ###
+
+Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can:
+
+* Receive and log telemetry from a connected TeleDongle device. All data
+ received is saved to log files named with the current date and the connected
+ rocket serial and flight numbers. There is no mode in which telemetry data
+ will not be saved.
+
+* Download logged data from TeleMetrum devices, either through a direct USB
+ connection or over the air through a TeleDongle device.
+
+* Configure a TeleMetrum device, setting the radio channel, callsign, apogee
+ delay and main deploy height. This can be done through either a USB
+ connection or over a radio link via a TeleDongle device.
+
+* Replay a flight in real-time. This takes a saved telemetry log or eeprom
+ download and replays it through the user interface so you can relive your
+ favorite rocket flights.
+
+* Reprogram Altus Metrum devices. Using an Altus Metrum device connected via
+ USB, another Altus Metrum device can be reprogrammed using the supplied
+ programming cable between the two devices.
+
+* Export Flight data to a comma-separated-values file. This takes either
+ telemetry or on-board flight data and generates data suitable for use in
+ external applications. All data is exported using standard units so that no
+ device-specific knowledge is needed to handle the data.
+
+* Speak to you during the flight. Instead of spending the flight hunched over
+ your laptop looking at the screen, enjoy the view while the computer tells
+ you what’s going on up there. During ascent, you hear the current flight
+ state and altitude information. During descent, you get azimuth, elevation
+ and range information to try and help you find your rocket in the air. Once
+ on the ground, the direction and distance are reported.
+
+AltosUI provides all of these features on the three target operating systems,
+Linux, Mac OS X (version 10.5 or newer) and Windows (XP, Vista or 7). The bulk
+of the software is written in Java and is built once and tested and delivered
+on all three target platforms. A tiny ‘shim’ library is built on each system
+to provide access to the Altus Metrum devices connected over the USB link.
+
+## Future Plans ##
+
+Bug reports, feature requests, and planning for AltOS releases happens
+on the [Altus Metrum Trac Site](http://trac.gag.com/altusmetrum).
+
+A number of features are implemented or in process in the sources available
+in our publicly visible repository that are not part of the current stable
+release.
+
+* A Kalman-filter based approach to apogee detection using more than just the
+ baro sensor, so that we can safely control apogee ejection on flights to
+ altitudes beyond the range of our baro sensor alone. Unlike the other items
+ on the list, this will be a significant change to the in-rocket TeleMetrum
+ firmware. It may therefore be a while before this becomes part of a stable
+ firmware release.
+
+* Motor characterization. Because TeleMetrum contains a
+ high-resolution, high-frequency accelerometer, it is possible to
+ take the data from that and compute an accurate thrust curve for
+ the motor.
+
+* Comprehensive PDF and/or HTML -based flight report. Construct a
+ complete report of the flight suitable for publication on the web
+ that includes graphs of the flight and details about motor
+ performance etc.
+
+* Publish flight data to the Altus Metrum web site. This will allow
+ you to share your flight data with others, and let you download
+ flights published by others.
+
+There are any number of additions that could be made to this list; feel free
+to send along ideas that you’ve got. Of course, all of this software is
+licensed under the GNU General Public License, so you can get the source and
+hack on it in the comfort of your own home.
+
+## Platform Specific Notes ##
+
+### Linux ###
If you use [Debian](http://www.debian.org), then a pre-built package for
32-bit x86 is currently available here:
apt-get install altos
If you use some other distribution of Linux, then
-a [Linux package](releases/current/Altos-Linux.tgz) of our
-second-generation Java bits that
+a Linux package of our second-generation Java bits that
should run on any distribution with a modern Java version is also
available. Unlike the Debian pacakge, which depends on various libraries
already part of the Debian distribution, this package includes a "fat" jar
### Mac ###
-A [Mac OS X package](releases/current/Altos-Mac.zip) that is compatible with
-versions 10.5 "Leopard" and later (including 10.6 "Snow Leopard") is now
-available. The Mac operating system includes Java, and all Altus Metrum
-products show up as simple USB serial ports, so this should just work
-with no additional drivers or other dependency issues. Older versions of
-the Mac operating system come with Java versions that are too old for use
-with Altus Metrum software, and we know of no way to update the Java version
-other than upgrading to a newer operating system.
+A Mac OS X package that is compatible with versions 10.5 "Leopard" and
+later (including 10.6 "Snow Leopard") is available. The Mac operating
+system includes Java, and all Altus Metrum products show up as simple
+USB serial ports, so this should just work with no additional drivers
+or other dependency issues. Older versions of the Mac operating
+system, and even newer versions for PowerPC-based machines, come with
+Java version 5 or older, which is too old for use with Altus Metrum
+software. We know of no way to update the Java version other than
+upgrading to a newer operating system (for Intel based macs) or
+purchasing new hardware (for PowerPC based macs).
### Windows ###
-Our [Windows package](releases/current/Altos-Windows.zip) is
-known to work on XP and
-32-bit Windows 7 Enterprise. If you don't already have Java installed,
+Our Windows package is known to work on at least some flavors of XP, Vista, and
+Windows 7 Enterprise. If you don't already have Java installed,
download and install a current Java 6 version from [java.com](http://java.com)
-first. Then download our zip and extract the files. Windows already has
-the required USB serial device driver, but you will probably need to manually
-point to the telemetrum.inf file included in the download when you first plug
-in an Altus Metrum device to "train" Windows to know that it's ok to use the
-existing driver to support our products. Once that's taken care of, just
-clicking on the 'altosui' program should work to launch the user interface.
-Reports of success or failure with other versions of Windows would be
-appreciated!
-
-### [All Pre-Built Binary Packages](releases/) ###
+first. Then download our installer and run it. Windows already has
+the required USB serial device driver, and our package should do the right
+things to bind it to our devices, but if you get a complaint about the device
+being unrecognized, try pointing to the copy of the telemetrum.inf file
+included in the package directory manually.