new Em batch
[web/altusmetrum] / AltOS / index.mdwn
index c21db812ca843aece3e7a537e018f70b4cae5703..67e3ea6f2147fe83ca04ecb77ffdfd01f8e0fe11 100644 (file)
+[[!meta title="AltOS"]]
 # AltOS
 
 AltOS is the name of Keith's firmware "operating system" for 
-[TeleMetrum](../TeleMetrum/) and [TeleDongle](../TeleDongle/).
+Altus Metrum products.
 
-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 hardware products like
+[TeleMetrum](../TeleMetrum), [TeleMini](../TeleMini), and
+[TeleDongle](../TeleDongle), 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.
+
+We maintain a list of [launch site GPS coordinates](https://maps.altusmetrum.org/launch-sites.txt).  If your favorite launch site isn't included, please let us know!
 
 ## Available Versions ##
 
-There is a single manual for all Altus Metrum products, which is available 
+There is a single manual for most 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) 
-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 the 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.
-
-## Features ##
-
-Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can:
+We also have an AltOS internals document for programmers 
+in [html](doc/altos.html) and [pdf](doc/altos.pdf) formats, and a
+document describing the AltOS over the radio protocol 
+in [html](doc/telemetry.html) and [pdf](doc/telemetry.pdf) formats.
 
-* 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.
+If you're running Windows 8, you should take a look at [Installing AltosUI on
+Windows 8](Win8) which will help you install the operating system
+drivers needed to communicate with the USB hardware.
 
-* Download logged data from TeleMetrum devices, either through a direct USB 
-  connection or over the air through a TeleDongle device.
+If you're running a recent version of Mac OS X, you'll probably need
+to read [Installing AltosUI on Mac OS X](MacOSX). This describes how
+to get rid of the the 'App is damaged' messages and run the program.
 
-* 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.
+Each available download includes AltosUI, documentation, and firmware updates
+for all current products.
 
-* 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.
+[[!inline pages="./releases/* and !*/Discussion and !*.ihx and !*.sh and !*.html and !*.bz2 and !*.zip and !*.exe and !*.dmg" show="10" rss="no" raw="yes" ]]
 
-* 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.
+Note that [older versions](releases/) are still available if you really need 
+them for some reason.
 
-* 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.
+## Source Code ##
 
-* 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.
+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).  
 
-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.
+We've gathered a few notes on [buidling AltOS](building).
 
 ## 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.  Some of these features are already available in our C utilities, 
-but not yet part of our second-generation Java user interface altosui.
-
-* [Google Earth](http://earth.google.com) "KML" file export.  The 
-  first-generation C program ao-postflight can do this, the implementation 
-  in altosui has improvements.
-
-* Data plotting.  The first-generation C program ao-postflight can output a
-  set of standard plots as an svg file.  The plotting code we're integrating 
-  into altosui supports direct interaction with the data and is much more fun!
-
-* State-dependent display. When the rocket is on the pad, you mostly want to 
-  know if it’s ready to fly. When the rocket is descending on a chute, you 
-  want to know where it is in the sky and how fast its falling. Presenting a 
-  limited amount of information that represents what is most interesting to 
-  the user at any given time should make the display easier to read.
-
-* Ejection charge testing. The TeleMetrum firmware has the ability to be
-  commanded to fire ejection charges over the USB or radio links. Safely 
-  hooking this up to the user interface will allow for wireless ejection 
-  system testing.  It is possible to do this today with a terminal program,
-  but we want this to be a feature in altosui.  The key here is “safely”, of 
-  course, which means figuring out a ‘fool proof’ user interface.
-
-* 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.
+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 
@@ -116,13 +85,11 @@ hack on it in the comfort of your own home.
 
 ### Linux ###
 
-If you use [Debian](http://www.debian.org), then a pre-built package for 
-32-bit x86 is currently available here:
+If you use [Debian](http://www.debian.org), you can simply install the 'altos'
+package from any Debian mirror, like so:
 
-       wget -O - http://altusmetrum.org/apt/altusmetrum.key | apt-key add -
-       wget -O /etc/apt/sources.list.d/altos.list http://altusmetrum.org/apt/altos.list
-       apt-get update
-       apt-get install altos
+               apt-get update
+               apt-get install altos
 
 If you use some other distribution of Linux, then 
 a Linux package of our second-generation Java bits that 
@@ -154,14 +121,23 @@ 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.  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).
+
+If you have trouble installing on a Mac, and are getting errors about the
+package being corrupt, you may not be configured to allow installation of
+software from arbitrary sources.  One customer running 10.8.1 reported that
+he was able to work around this by going to "System Preferences", "Security
+& Privacy", "General", and then clicking the "Anywhere" radio button where
+it askes "Allow applications downloaded from:".
 
 ### Windows ###
 
@@ -172,5 +148,14 @@ 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.
+
+Note that on some Windows 7 systems, it may be necessary to install AltOS using
+'compatibility mode'.  You can set this mode by 
+[changing the properties](http://www.sevenforums.com/tutorials/316-compatibility-mode.html)
+of the installer .exe.
+
+## License ##
+
+The firmware and associated software are licensed [GPL version
+2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)