+[[!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
+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)
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)
+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, 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).
-
-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.
+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.
-* 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.
+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.
-* 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.
+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.
-* 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.
+Each available download includes AltosUI, documentation, and firmware updates
+for all current products.
-* Monitor multiple flights simultaneously. If you have more than one
- TeleDongle, you can monitor a flight with each one on the same
- computer.
+[[!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" ]]
-* 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.
+Note that [older versions](releases/) are still available if you really need
+them for some reason.
-* 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.
+## Source Code ##
-### 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.
+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.
-* 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
### 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
### 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
+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 ###
Our Windows package is known to work on at least some flavors of XP, Vista, and
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.
+
+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)