+[[!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.
-We maintain a list of [launch site GPS coordinates](launch-sites.txt). If
-your favorite launch site isn't included, please let us know!
+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 !*.html and !*.bz2 and !*.zip and !*.exe" show="10" rss="no" raw="yes" ]]
+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.
-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:
+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.
-* 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.
+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.
-* 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.
+Each available download includes AltosUI, documentation, and firmware updates
+for all current products.
-* 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.
+[[!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" ]]
-* 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.
+Note that [older versions](releases/) are still available if you really need
+them for some reason.
-* Monitor multiple flights simultaneously. If you have more than one
- TeleDongle, you can monitor a flight with each one on the same
- computer.
+## Source Code ##
-* 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.
+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 ##
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
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