03c49ab63618d30d54b80739bba78870e70f91c4
[web/altusmetrum] / AltOS / index.mdwn
1 [[!meta title="AltOS"]]
2 # AltOS
3
4 AltOS is the name of Keith's firmware "operating system" for 
5 Altus Metrum products.
6
7 In addition to the firmware for hardware products like
8 [TeleMetrum](../TeleMetrum), [TeleMini](../TeleMini), and
9 [TeleDongle](../TeleDongle), the AltOS source tree also
10 includes AltosUI, which provides for flight monitoring, post-flight
11 analysis, device configuration and firmware updating. AltosUI runs on
12 Linux, Mac OS X and Windows. It's written in [Java](http://java.com)
13 and offers the same functionality and interface on all three
14 platforms. A small platform-specific library communicates with the USB
15 interface on the Altus Metrum devices.
16
17 There are also Linux-specific tools that provide lower level access to
18 the devices which are useful for developing firmware for the devices.
19
20 We maintain a list of [launch site GPS coordinates](launch-sites.txt).  If 
21 your favorite launch site isn't included, please let us know!
22
23 ## Available Versions ##
24
25 There is a single manual for most Altus Metrum products, which is available 
26 in [html](doc/altusmetrum.html) and [pdf](doc/altusmetrum.pdf) formats.
27
28 We also have an AltOS internals document for programmers 
29 in [html](doc/altos.html) and [pdf](doc/altos.pdf) formats, and a
30 document describing the AltOS over the radio protocol 
31 in [html](doc/telemetry.html) and [pdf](doc/telemetry.pdf) formats.
32
33 If you're running Windows 8, you should take a look at [Installing AltosUI on
34 Windows 8](Win8) which will help you install the operating system
35 drivers needed to communicate with the USB hardware.
36
37 If you're running a recent version of Mac OS X, you'll probably need
38 to read [Installing AltosUI on Mac OS X](MacOSX). This describes how
39 to get rid of the the 'App is damaged' messages and run the program.
40
41 Each available download includes AltosUI, documentation, and firmware updates
42 for all current products.
43
44 [[!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" ]]
45
46 ## Source Code ##
47
48 The latest source, which may include unreleased work in progress, is always 
49 available from [git.gag.com](http://git.gag.com) 
50 in the project [fw/altos](http://git.gag.com/?p=fw/altos;a=summary).  
51
52 We've gathered a few notes on [buidling AltOS](building).
53
54 ## Future Plans ##
55
56 Bug reports, feature requests, and planning for AltOS releases happens
57 on the [Altus Metrum Trac Site](http://trac.gag.com/altusmetrum).
58
59 A number of features are implemented or in process in the sources available
60 in our publicly visible repository that are not part of the current stable
61 release.
62
63 * Motor characterization. Because TeleMetrum contains a
64   high-resolution, high-frequency accelerometer, it is possible to
65   take the data from that and compute an accurate thrust curve for
66   the motor.
67
68 * Comprehensive PDF and/or HTML -based flight report. Construct a
69   complete report of the flight suitable for publication on the web
70   that includes graphs of the flight and details about motor
71   performance etc.
72    
73 * Publish flight data to the Altus Metrum web site. This will allow
74   you to share your flight data with others, and let you download
75   flights published by others.
76
77 There are any number of additions that could be made to this list; feel free 
78 to send along ideas that you’ve got. Of course, all of this software is 
79 licensed under the GNU General Public License, so you can get the source and 
80 hack on it in the comfort of your own home.
81
82 ## Platform Specific Notes ##
83
84 ### Linux ###
85
86 If you use [Debian](http://www.debian.org), you can simply install the 'altos'
87 package from any Debian mirror, like so:
88
89                 apt-get update
90                 apt-get install altos
91
92 If you use some other distribution of Linux, then 
93 a Linux package of our second-generation Java bits that 
94 should run on any distribution with a modern Java version is also 
95 available.  Unlike the Debian pacakge, which depends on various libraries
96 already part of the Debian distribution, this package includes a "fat" jar
97 file with all of the Java libraries that aren't part of the basic Java runtime
98 environment included, so it should "just work" on any system with 
99 Java 6.  Development and testing is done with OpenJDK 6, but current 
100 downloads from [java.com](http://java.com) should be fine too.
101
102 If you'd rather build from source, our source tree includes documentation on 
103 how to build packages for various
104 Linux systems such as [Arch Linux](http://www.archlinux.org), and the 
105 debian/ directory contains all the control
106 files for building the Debian packages on other architectures or derivatives
107 such as [Ubuntu](http://ubuntu.com).
108
109 Bdale has also created a theme for 
110 [GDM](http://projects.gnome.org/gdm/) that he uses on his primary notebook,
111 and the 
112 [Simple Login Manager](http://slim.berlios.de/) that he uses on all of his
113 other machines and which is ideally suited for machines dedicated to AltOS 
114 ground station use.  It includes a photo of a drag-race between 
115 nearly-identical rockets
116 built by Keith and Bdale, that was the first time either of us gave TeleMetrum
117 complete control of a rocket flight without some other backup!  See the themes/
118 directory in the source tree (the themes are included in the Debian package).
119
120 ### Mac ###
121
122 A Mac OS X package that is compatible with versions 10.5 "Leopard" and
123 later.  The Mac operating system includes Java, and all Altus Metrum products 
124 show up as simple USB serial ports, so this should just work with no 
125 additional drivers or other dependency issues.  Older versions of the Mac 
126 operating
127 system, and even newer versions for PowerPC-based machines, come with
128 Java version 5 or older, which is too old for use with Altus Metrum
129 software. We know of no way to update the Java version other than
130 upgrading to a newer operating system (for Intel based macs) or
131 purchasing new hardware (for PowerPC based macs).
132
133 If you have trouble installing on a Mac, and are getting errors about the
134 package being corrupt, you may not be configured to allow installation of
135 software from arbitrary sources.  One customer running 10.8.1 reported that
136 he was able to work around this by going to "System Preferences", "Security
137 & Privacy", "General", and then clicking the "Anywhere" radio button where
138 it askes "Allow applications downloaded from:".
139
140 ### Windows ###
141
142 Our Windows package is known to work on at least some flavors of XP, Vista, and 
143 Windows 7 Enterprise. If you don't already have Java installed, 
144 download and install a current Java 6 version from [java.com](http://java.com)
145 first.  Then download our installer and run it.  Windows already has 
146 the required USB serial device driver, and our package should do the right
147 things to bind it to our devices, but if you get a complaint about the device
148 being unrecognized, try pointing to the copy of the telemetrum.inf file 
149 included in the package directory manually.
150
151 Note that on some Windows 7 systems, it may be necessary to install AltOS using
152 'compatibility mode'.  You can set this mode by 
153 [changing the properties](http://www.sevenforums.com/tutorials/316-compatibility-mode.html)
154 of the installer .exe.
155
156 ## License ##
157
158 The firmware and associated software are licensed [GPL version
159 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)