work in progress
[web/altusmetrum] / AltOS / index.mdwn
index f5751fc918431c41fadb3e16efd22c0a4aad784e..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, plus 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.
 
-The firmware and associated software are licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
+There are also Linux-specific tools that provide lower level access to
+the devices which are useful for developing firmware for the devices.
+
+The firmware and associated software are licensed [GPL version
+2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
 
 ## Available Versions ##
 
-[[!inline pages="page(./releases/*)" show="10" rss="no" raw="yes" ]]
+There is a single manual for all Altus Metrum products, which is available 
+in [html](doc/altusmetrum.html) and [pdf](doc/altusmetrum.pdf) formats.
+
+[[!inline pages="./releases/* and !*/Discussion and !*.bz2 and !*.zip and !*.exe" show="10" rss="no" raw="yes" ]]
 
-The latest source is always available from [git.gag.com](http://git.gag.com) 
+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).  
 
-## Features ##
+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:
 
-More documentation is coming soon, but in the meantime, 
-most operations in the second-generation GUI are pretty easy to figure out.
+* 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 ##
 
@@ -68,14 +227,16 @@ directory in the source tree (the themes are included in the Debian package).
 
 ### Mac ###
 
-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 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 ###
 
@@ -86,5 +247,4 @@ 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.  Reports of success or failure 
-with other versions of Windows would be appreciated!
+included in the package directory manually.