AltOS 1.1 — Bug fixes and some nice new features

AltOS is the core of the software
for all of the Altus Metrum products. It
consists of cc1111-based micro-controller firmware and Java-based
ground station software.

We've spent the last flying season chatting with people flying
TeleMetrum and TeleMini boards and they came up with some great ideas
to add to the system.

AltOS Firmware — Features and fixes

There are bug fixes in both ground station and flight software, so you
should plan on re-flashing both units at some point. However, there aren't
any incompatible changes, so you don't have to do it all at once.

New features:

Apogee-lockout timer. For situations where the normal apogee
determination algorithm could be fooled, we've added a timeout
value to prevent premature firing of the apogee charge. Normal
flights won't need this, but a couple of users asked for this
feature.

RSSI value for Monitor Idle mode. The TeleDongle firmware has been
updated to report signal strength information for data received
from the altimeter. This allows the user to see how well the radio
is working without having to switch to flight mode.

Force the radio to 434.550MHz. This is useful with TeleMini devices
where the only way to talk to the device is through the radio. If
you don't know the frequency, it's really hard to make that
work.

Bug fixes:

Stale telemetry data reported when switching
frequencies. TeleDongle would accidentally re-transmit old
telemetry packets when the radio frequency was changed. This would
be harmless except that when scanning to find the frequency used by
an altimeter, you'd appear to get packets at every frequency.

AltosUI — Easier to use

AltosUI has also seen quite a bit of work for the 1.1 release. There
aren't any huge new features, but some activities are restructured to
make them easier to navigate. And, of course, we've fixed a bunch of
bugs.

New features:

Configure Ground Station activity. This provides
a way to set the default radio frequency for each TeleDongle. This
replicates the frequency menu present in the Monitor Flight
activity, but doesn't also bring up that giant window.

Support the apogee lockout timer. This just adds another entry in
the dialog for configuring the altimeter to configure the new
timer. By default, the timer is disabled, allowing the apogee
detection code in the flight computer to operate normally.

Add imperial units option. When enabled, this uses imperial units
(feet and miles) for all values on the screen and in the voice
announcements.

User interface changes:

Make the look-n-feel configurable. Java offers many different
user interface styles on each platform. This exposes the available
set and lets the user pick one. By default, we continue to use the
native platform appearance.

Add an 'Age' element to the Monitor Flight UI. This shows how long
it has been since the last valid telemetry packet was received,
making it easy to tell when communications are lost.

Change flight data downloading. Instead of selecting which to
download and which to delete at the same time, the interface now
has separate steps for downloading and then deleting files. This
makes it easier to verify that the files were downloaded before
deleting flights from the on-board memory.

Re-compute boost and landing times. Given the whole flight history,
it's easy to find the time when the rocket started and stopped
flying. Having these get recomputed means the boost time,
acceleration values and main descent rates are computed more
accurately.

Bug fixes:

Wait for 10 valid GPS messages before marking GPS as ready. Before
this fix, GPS was marked as ready when 10 valid packets were
received from the flight computer after the first valid GPS data
arrived. This waits for 10 valid GPS packets instead.

Fix Google Earth file export. The format requirements for Google
Earth files became more strict in recent releases; this patch
changes how the files are formatted to make them work again.

Make AltosUI run on Mac OS X “Lion”. Apple changed the default heap
size for Java applications with this release, dramatically reducing
the memory available to applications. This would cause map tiles to
fail to load and other random problems.

Improve COM port handling on Windows. This eliminates the need to
wait 5 seconds between closing and re-opening devices, and also
eliminates other spurious errors when opening devices.