work in progress
[web/altusmetrum] / AltOS / index.mdwn
index 819b7daff025ff5754bc8119d1c78a17c272e3a4..f0f616e6bbb7b2ad3f806dff4fc4b6b1aa4a679a 100644 (file)
 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)
 
-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.
+
+### Version 0.9.2 Features ###
+
+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 ###
 
@@ -39,7 +198,7 @@ If you use [Debian](http://www.debian.org), then a pre-built package for
        apt-get install altos
 
 If you use some other distribution of Linux, then 
-a [Linux package](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
@@ -68,26 +227,24 @@ directory in the source tree (the themes are included in the Debian package).
 
 ### Mac ###
 
-A [Mac OS X package](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 version 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](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!
-
+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.