summaryrefslogtreecommitdiff
path: root/AltOS/index.mdwn
blob: f0f616e6bbb7b2ad3f806dff4fc4b6b1aa4a679a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
# AltOS

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 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.

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 ##

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, 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.

* 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 ###

If you use [Debian](http://www.debian.org), then a pre-built package for 
32-bit x86 is currently available here:

	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

If you use some other distribution of Linux, then 
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
file with all of the Java libraries that aren't part of the basic Java runtime
environment included, so it should "just work" on any system with 
Java 6.  Development and testing is done with OpenJDK 6, but current 
downloads from [java.com](http://java.com) should be fine too.

If you'd rather build from source, our source tree includes documentation on 
how to build packages for various
Linux systems such as [Arch Linux](http://www.archlinux.org), and the 
debian/ directory contains all the control
files for building the Debian packages on other architectures or derivatives
such as [Ubuntu](http://ubuntu.com).

Bdale has also created a theme for 
[GDM](http://projects.gnome.org/gdm/) that he uses on his primary notebook,
and the 
[Simple Login Manager](http://slim.berlios.de/) that he uses on all of his
other machines and which is ideally suited for machines dedicated to AltOS 
ground station use.  It includes a photo of a drag-race between 
nearly-identical rockets
built by Keith and Bdale, that was the first time either of us gave TeleMetrum
complete control of a rocket flight without some other backup!  See the themes/
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, 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 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 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.