update docs
[web/altusmetrum] / AltOS / doc / easymini.html
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>EasyMini Owner’s Manual</title><link rel="stylesheet" type="text/css" href="am.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /></head><body><div xml:lang="en" class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="idm1"></a>EasyMini Owner’s Manual</h1></div><div><h2 class="subtitle">A Dual-Deploy Rocketry Flight Computer</h2></div><div><h3 class="corpauthor">
3   <span class="inlinemediaobject"><img src="altusmetrum-oneline.svg" width="270" /></span>
4 </h3></div><div><div class="author"><h3 class="author"><span class="firstname">Bdale</span> <span class="surname">Garbee</span></h3><code class="email">&lt;<a class="email" href="mailto:bdale@gag.com">bdale@gag.com</a>&gt;</code></div></div><div><div class="author"><h3 class="author"><span class="firstname">Keith</span> <span class="surname">Packard</span></h3><code class="email">&lt;<a class="email" href="mailto:keithp@keithp.com">keithp@keithp.com</a>&gt;</code></div></div><div><p class="copyright">Copyright © 2016 Bdale Garbee and Keith Packard</p></div><div><div class="legalnotice"><a id="idm23"></a><p>
5     This document is released under the terms of the
6     <a class="ulink" href="http://creativecommons.org/licenses/by-sa/3.0/" target="_top">
7       Creative Commons ShareAlike 3.0
8     </a>
9     license.
10   </p></div></div><div><a href="easymini-revhistory.html">Revision History</a></div></div><hr /></div><div class="dedication"><div class="titlepage"><div><div><h1 class="title"><a id="_acknowledgments"></a>Acknowledgments</h1></div></div></div><p>Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The
11 Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
12 Kit” which formed the basis of the original Getting Started chapter
13 in this manual.  Bob was one of our first customers for a production
14 TeleMetrum, and his continued enthusiasm and contributions
15 are immensely gratifying and highly appreciated!</p><p>And thanks to Anthony (AJ) Towns for major contributions including
16 the AltosUI graphing and site map code and associated documentation.
17 Free software means that our customers and friends can become our
18 collaborators, and we certainly appreciate this level of
19 contribution!</p><p>Have fun using these products, and we hope to meet all of you
20 out on the rocket flight line somewhere.</p><div class="blockquote"><blockquote class="blockquote"><div class="literallayout"><p>Bdale Garbee, KB0G<br />
21 NAR #87103, TRA #12201</p></div></blockquote></div><div class="blockquote"><blockquote class="blockquote"><div class="literallayout"><p>Keith Packard, KD7SQG<br />
22 NAR #88757, TRA #12200</p></div></blockquote></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="#_introduction_and_overview">1. Introduction and Overview</a></span></dt><dt><span class="chapter"><a href="#_getting_started">2. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#_batteries">2.1. Batteries</a></span></dt><dt><span class="section"><a href="#_linux_mac_windows_ground_station_software">2.2. Linux/Mac/Windows Ground Station Software</a></span></dt></dl></dd><dt><span class="chapter"><a href="#_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</a></span></dt><dd><dl><dt><span class="section"><a href="#_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</a></span></dt><dt><span class="section"><a href="#_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</a></span></dt><dt><span class="section"><a href="#_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</a></span></dt><dt><span class="section"><a href="#_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</a></span></dt><dt><span class="section"><a href="#_understanding_beeps">3.5. Understanding Beeps</a></span></dt><dt><span class="section"><a href="#_turning_on_the_power">3.6. Turning On the Power</a></span></dt><dt><span class="section"><a href="#_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</a></span></dt><dt><span class="section"><a href="#_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</a></span></dt><dt><span class="section"><a href="#_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</a></span></dt></dl></dd><dt><span class="chapter"><a href="#_easymini">4. EasyMini</a></span></dt><dd><dl><dt><span class="section"><a href="#_easymini_screw_terminals">4.1. EasyMini Screw Terminals</a></span></dt><dt><span class="section"><a href="#_connecting_a_battery_to_easymini">4.2. Connecting A Battery To EasyMini</a></span></dt><dt><span class="section"><a href="#_charging_lithium_batteries">4.3. Charging Lithium Batteries</a></span></dt><dt><span class="section"><a href="#_using_a_separate_pyro_battery_with_easymini">4.4. Using a Separate Pyro Battery with EasyMini</a></span></dt><dt><span class="section"><a href="#_using_an_active_switch_with_easymini">4.5. Using an Active Switch with EasyMini</a></span></dt></dl></dd><dt><span class="chapter"><a href="#_installation">5. Installation</a></span></dt><dt><span class="chapter"><a href="#_using_altus_metrum_products">6. Using Altus Metrum Products</a></span></dt><dd><dl><dt><span class="section"><a href="#_in_the_rocket">6.1. In the Rocket</a></span></dt><dt><span class="section"><a href="#_on_the_ground">6.2. On the Ground</a></span></dt><dt><span class="section"><a href="#_data_analysis">6.3. Data Analysis</a></span></dt><dt><span class="section"><a href="#_future_plans">6.4. Future Plans</a></span></dt></dl></dd><dt><span class="chapter"><a href="#_altosui">7. AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#_save_flight_data">7.1. Save Flight Data</a></span></dt><dt><span class="section"><a href="#_replay_flight">7.2. Replay Flight</a></span></dt><dt><span class="section"><a href="#_graph_data">7.3. Graph Data</a></span></dt><dd><dl><dt><span class="section"><a href="#_flight_graph">7.3.1. Flight Graph</a></span></dt><dt><span class="section"><a href="#_configure_graph">7.3.2. Configure Graph</a></span></dt><dt><span class="section"><a href="#_flight_statistics">7.3.3. Flight Statistics</a></span></dt></dl></dd><dt><span class="section"><a href="#_export_data">7.4. Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#_comma_separated_value_format">7.4.1. Comma Separated Value Format</a></span></dt></dl></dd><dt><span class="section"><a href="#_configure_altimeter">7.5. Configure Altimeter</a></span></dt><dd><dl><dt><span class="section"><a href="#_main_deploy_altitude">7.5.1. Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#_apogee_delay">7.5.2. Apogee Delay</a></span></dt><dt><span class="section"><a href="#_apogee_lockout">7.5.3. Apogee Lockout</a></span></dt><dt><span class="section"><a href="#_maximum_flight_log_size">7.5.4. Maximum Flight Log Size</a></span></dt><dt><span class="section"><a href="#_ignitor_firing_mode">7.5.5. Ignitor Firing Mode</a></span></dt><dt><span class="section"><a href="#_beeper_frequency">7.5.6. Beeper Frequency</a></span></dt></dl></dd><dt><span class="section"><a href="#_configure_altosui">7.6. Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#_log_directory">7.6.1. Log Directory</a></span></dt><dt><span class="section"><a href="#_imperial_units">7.6.2. Imperial Units</a></span></dt><dt><span class="section"><a href="#_serial_debug">7.6.3. Serial Debug</a></span></dt><dt><span class="section"><a href="#_font_size">7.6.4. Font size</a></span></dt><dt><span class="section"><a href="#_look_amp_feel">7.6.5. Look &amp; feel</a></span></dt><dt><span class="section"><a href="#_menu_position">7.6.6. Menu position</a></span></dt></dl></dd><dt><span class="section"><a href="#_flash_image">7.7. Flash Image</a></span></dt><dt><span class="section"><a href="#_fire_igniter">7.8. Fire Igniter</a></span></dt></dl></dd><dt><span class="appendix"><a href="#_system_operation">A. System Operation</a></span></dt><dd><dl><dt><span class="section"><a href="#_firmware_modes">A.1. Firmware Modes</a></span></dt><dt><span class="section"><a href="#_ground_testing">A.2. Ground Testing</a></span></dt><dt><span class="section"><a href="#_configurable_parameters">A.3. Configurable Parameters</a></span></dt></dl></dd><dt><span class="appendix"><a href="#_handling_precautions">B. Handling Precautions</a></span></dt><dt><span class="appendix"><a href="#_updating_device_firmware">C. Updating Device Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#_updating_easymini_firmware">C.1. Updating EasyMini Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#_recovering_from_self_flashing_failure">C.1.1. Recovering From Self-Flashing Failure</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="#_flight_data_recording">D. Flight Data Recording</a></span></dt><dt><span class="appendix"><a href="#_altus_metrum_hardware_specifications">E. Altus Metrum Hardware Specifications</a></span></dt><dt><span class="appendix"><a href="#_release_notes">F. Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="#_release_notes_for_version_1_8_5">F.1. Release Notes for Version 1.8.5</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos">F.1.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_telegps">F.1.2. AltosUI, TeleGPS</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_4">F.2. Release Notes for Version 1.8.4</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_2">F.2.1. AltOS</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_3">F.3. Release Notes for Version 1.8.3</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_3">F.3.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications">F.3.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_2">F.4. Release Notes for Version 1.8.2</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_4">F.4.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_2">F.4.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_1">F.5. Release Notes for Version 1.8.1</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_5">F.5.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_3">F.5.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8">F.6. Release Notes for Version 1.8</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_6">F.6.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_4">F.6.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_7">F.7. Release Notes for Version 1.7</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_7">F.7.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_5">F.7.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_8">F.8. Release Notes for Version 1.6.8</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_8">F.8.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_telegps_and_altosdroid_applications">F.8.2. AltosUI, TeleGPS and AltosDroid Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_5">F.9. Release Notes for Version 1.6.5</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_9">F.9.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_telegps_and_altosdroid_applications_2">F.9.2. AltosUI, TeleGPS and AltosDroid Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_4">F.10. Release Notes for Version 1.6.4</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_10">F.10.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_telegps_and_altosdroid_applications_3">F.10.2. AltosUI, TeleGPS and AltosDroid Applications</a></span></dt><dt><span class="section"><a href="#_documentation">F.10.3. Documentation</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_3">F.11. Release Notes for Version 1.6.3</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_11">F.11.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_6">F.11.2. AltosUI and TeleGPS Applications</a></span></dt><dt><span class="section"><a href="#_altosdroid">F.11.3. AltosDroid</a></span></dt><dt><span class="section"><a href="#_documentation_2">F.11.4. Documentation</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_2">F.12. Release Notes for Version 1.6.2</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_12">F.12.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_7">F.12.2. AltosUI and TeleGPS Applications</a></span></dt><dt><span class="section"><a href="#_documentation_3">F.12.3. Documentation</a></span></dt></dl></dd></dl></dd></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>4.1. <a href="#idm280">EasyMini Board</a></dt><dt>7.1. <a href="#idm411">AltosUI Main Window</a></dt><dt>7.2. <a href="#idm438">Flight Data Graph</a></dt><dt>7.3. <a href="#idm449">Flight Graph Configuration</a></dt><dt>7.4. <a href="#idm468">Flight Statistics</a></dt><dt>7.5. <a href="#idm486">Altimeter Configuration</a></dt><dt>7.6. <a href="#idm556">Configure AltosUI Dialog</a></dt><dt>7.7. <a href="#idm590">Fire Igniter Window</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>3.1. <a href="#idm96">AltOS Modes</a></dt><dt>3.2. <a href="#idm204">Pad/Idle Indications</a></dt><dt>4.1. <a href="#idm292">EasyMini Screw Terminals</a></dt><dt>D.1. <a href="#idm690">Data Storage on Altus Metrum altimeters</a></dt><dt>E.1. <a href="#idm721">Altus Metrum Flight Computer Electronics</a></dt><dt>E.2. <a href="#idm761">Altus Metrum Flight Computer Mechanical Components</a></dt></dl></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_introduction_and_overview"></a>Chapter 1. Introduction and Overview</h1></div></div></div><p>Welcome to the Altus Metrum community!  Our circuits and software reflect
23 our passion for both hobby rocketry and Free Software.  We hope their
24 capabilities and performance will delight you in every way, but by
25 releasing all of our hardware and software designs under open licenses,
26 we also hope to empower you to take as active a role in our collective
27 future as you wish!</p><p>Our goal is to include in this document all of the information required
28 to successfully configure and use Altus Metrum products.  But
29 documentation is a lot like software in that it can contain "bugs",
30 and can probably always be improved!  If you have questions that
31 aren’t answered in this manual, or just need a little help figuring
32 things out, we strongly suggest joining the Altus Metrum user email
33 list, which you can do by visiting
34 <a class="ulink" href="https://lists.gag.com/mailman/listinfo/altusmetrum" target="_top">https://lists.gag.com/mailman/listinfo/altusmetrum</a>.  There’s a lot
35 of useful information in the mailing list archives!</p><p>The first device created for our community was TeleMetrum, a dual
36 deploy altimeter with fully integrated GPS and radio telemetry
37 as standard features, and a “companion interface” that will
38 support optional capabilities in the future. The latest version
39 of TeleMetrum, v2.0, has all of the same features but with
40 improved sensors and radio to offer increased performance.</p><p>Our second device was TeleMini, a dual deploy altimeter with
41 radio telemetry and radio direction finding. The first version
42 of this device was only 13mm by 38mm (½ inch by 1½ inches) and
43 could fit easily in an 18mm air-frame. The latest version, v3.0,
44 includes a beeper, higher power radio, extended on-board
45 flight logging and an improved barometric sensor.</p><p>TeleMega is our most sophisticated device, including six pyro
46 channels (four of which are fully programmable), integrated GPS,
47 integrated gyroscopes for staging/air-start inhibit and high
48 performance telemetry.</p><p>EasyMini is a dual-deploy altimeter with logging and built-in
49 USB data download.</p><p>EasyMega is essentially a TeleMega board with the GPS receiver
50 and telemetry transmitter removed. It offers the same 6 pyro
51 channels and integrated gyroscopes for staging/air-start inhibit.</p><p>TeleDongle v0.2 was our first ground station, providing a USB to RF
52 interfaces for communicating with the altimeters. Combined with
53 your choice of antenna and notebook computer, TeleDongle and our
54 associated user interface software form a complete ground
55 station capable of logging and displaying in-flight telemetry,
56 aiding rocket recovery, then processing and archiving flight
57 data for analysis and review. The latest version, TeleDongle
58 v3, has all new electronics with a higher performance radio
59 for improved range.</p><p>For a slightly more portable ground station experience that also
60 provides direct rocket recovery support, TeleBT offers flight
61 monitoring and data logging using a  Bluetooth™ connection between
62 the receiver and an Android device that has the AltosDroid
63 application installed from the Google Play store.</p><p>More products will be added to the Altus Metrum family over time, and
64 we currently envision that this will be a single, comprehensive manual
65 for the entire product family.</p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_getting_started"></a>Chapter 2. Getting Started</h1></div></div></div><p>The first thing to do after you open the box is to hook up a
66 battery and charge it if necessary.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_batteries"></a>2.1. Batteries</h2></div></div></div><p>The Lithium Polymer
67 EasyMini battery can be charged by disconnecting it
68 from the board and plugging it into a standalone
69 battery charger such as <a class="ulink" href="http://altusmetrum.org/LipoCharger" target="_top">LipoCharger</a>, and
70 connecting that via a USB cable to a laptop or other
71 USB power source.</p><p>You can also choose to use another battery with
72 EasyMini, anything supplying between 4 and 12 volts should
73 work fine (like a standard 9V battery), but if you are planning
74 to fire pyro charges, ground testing is required to verify that
75 the battery supplies enough current to fire your chosen e-matches.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_linux_mac_windows_ground_station_software"></a>2.2. Linux/Mac/Windows Ground Station Software</h2></div></div></div><p>Next you should obtain and install the AltOS software.
76 The AltOS distribution includes the AltosUI ground
77 station program, current firmware images for all of
78 the hardware, and a number of standalone utilities
79 that are rarely needed.  Pre-built binary packages are
80 available for Linux, Microsoft Windows, Mac OSX. Full
81 source code and build instructions are also
82 available. The latest version may always be downloaded
83 from <a class="ulink" href="http://altusmetrum.org/AltOS" target="_top">http://altusmetrum.org/AltOS</a></p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_using_altus_metrum_hardware"></a>Chapter 3. Using Altus Metrum Hardware</h1></div></div></div><p>Here are general instructions for hooking up an Altus Metrum
84 flight computer. Instructions specific to each model will be
85 found in the section devoted to that model below.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_wiring_and_electrical_interference"></a>3.1. Wiring and Electrical Interference</h2></div></div></div><p>To prevent electrical interference from affecting the
86 operation of the flight computer, it’s important to always
87 twist pairs of wires connected to the board. Twist the switch
88 leads, the pyro leads and the battery leads. This reduces
89 interference through a mechanism called common mode rejection.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_hooking_up_lithium_polymer_batteries"></a>3.2. Hooking Up Lithium Polymer Batteries</h2></div></div></div><p>All Altus Metrum flight computers have a two pin JST PH
90 series connector to connect up a single-cell Lithium Polymer
91 cell (3.7V nominal). You can purchase matching batteries
92 from the Altus Metrum store, or other vendors, or you can
93 make your own. Pin 1 of the connector is positive, pin 2 is
94 negative. Spark Fun sells a cable with the connector
95 attached, which they call a
96 <a class="ulink" href="https://www.sparkfun.com/products/9914" target="_top">JST Jumper 2 Wire Assembly</a></p><div class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>Many RC vendors also sell lithium polymer batteries with
97 this same connector. All that we have found use the opposite
98 polarity, and if you use them that way, you will damage or
99 destroy the flight computer.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_hooking_up_pyro_charges"></a>3.3. Hooking Up Pyro Charges</h2></div></div></div><p>Altus Metrum flight computers always have two screws for
100 each pyro charge. This means you shouldn’t need to put two
101 wires into a screw terminal or connect leads from pyro
102 charges together externally.</p><p>On the flight computer, one lead from each charge is hooked
103 to the positive battery terminal through the power switch.
104 The other lead is connected through the pyro circuit, which
105 is connected to the negative battery terminal when the pyro
106 circuit is fired.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_hooking_up_a_power_switch"></a>3.4. Hooking Up a Power Switch</h2></div></div></div><p>Altus Metrum flight computers need an external power switch
107 to turn them on. This disconnects both the computer and the
108 pyro charges from the battery, preventing the charges from
109 firing when in the Off position. The switch is in-line with
110 the positive battery terminal.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_understanding_beeps"></a>3.5. Understanding Beeps</h2></div></div></div><p>Altus Metrum flight computers include a beeper to
111 provide information about the state of the system.</p><p>Here’s a short summary of all of the modes and the
112 beeping
113 that accompanies each mode. In the description of the
114 beeping pattern, “dit” means a short beep while "dah"
115 means a long beep (three times as long). “Brap” means
116 a long dissonant tone.</p><div class="table"><a id="idm96"></a><p class="title"><strong>Table 3.1. AltOS Modes</strong></p><div class="table-contents"><table class="table" summary="AltOS Modes" cellpadding="4px" style="border-collapse: collapse;border-top: 1px solid #78079a; border-bottom: 1px solid #78079a; border-left: 1px solid #78079a; border-right: 1px solid #78079a; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /></colgroup><tbody><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Mode Name</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Abbreviation</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Beeps</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Description</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Startup</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>S</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>battery voltage in decivolts</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Calibrating sensors, detecting orientation.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Idle</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>I</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Ready to accept commands over USB</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Pad</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>P</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit dah dah dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Waiting for launch. Not listening for commands.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Boost</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>B</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dah dit dit dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Accelerating upwards.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Fast</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>F</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit dit dah dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Decelerating, but moving faster than 200m/s.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Coast</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>C</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dah dit dah dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Decelerating, moving slower than 200m/s</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Drogue</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>D</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dah dit dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Descending after apogee. Above main height.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Main</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>M</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dah dah</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Descending. Below main height.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Landed</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>L</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit dah dit dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Stable altitude for at least ten seconds.</p></td></tr><tr><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>Sensor error</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>X</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>dah dit dit dah</p></td><td style="" align="left" valign="top"><p>Error detected during sensor calibration.</p></td></tr></tbody></table></div></div><br class="table-break" /><p>Here’s a summary of all of the Pad and Idle mode
117 indications. In Idle mode, you’ll hear one of these
118 just once after the two short dits indicating idle
119 mode. In Pad mode, after the dit dah dah dit
120 indicating Pad mode, you’ll hear these once every five
121 seconds.</p><div class="table"><a id="idm204"></a><p class="title"><strong>Table 3.2. Pad/Idle Indications</strong></p><div class="table-contents"><table class="table" summary="Pad/Idle Indications" cellpadding="4px" style="border-collapse: collapse;border-top: 1px solid #78079a; border-bottom: 1px solid #78079a; border-left: 1px solid #78079a; border-right: 1px solid #78079a; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Name           </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Beeps          </th><th style="border-bottom: 1px solid #78079a; " align="left" valign="top">Description</th></tr></thead><tbody><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Neither</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>brap</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>No continuity detected on either apogee or main igniters.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Apogee</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Continuity detected only on apogee igniter.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Main</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Continuity detected only on main igniter.</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Both</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>dit dit dit</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Continuity detected on both igniters.</p></td></tr><tr><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>Storage Full</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>warble</p></td><td style="" align="left" valign="top"><p>On-board data logging storage is full. This will
122 not prevent the flight computer from safely
123 controlling the flight or transmitting telemetry
124 signals, but no record of the flight will be
125 stored in on-board flash.</p></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_turning_on_the_power"></a>3.6. Turning On the Power</h2></div></div></div><p>Connect a battery and power switch and turn the switch
126 to "on". The flight computer will signal power on by
127 reporting the battery voltage and then perform an internal self
128 test and sensor calibration.</p><p>Once the self test and calibration are complete, there
129 are two modes that an Altus Metrum flight computer can
130 operate in:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
131 Flight/Pad
132 </span></dt><dd>
133 The flight computer is waiting to detect
134 launch and then fly the rocket. In this mode, the USB
135 link is
136 disabled.
137 The only way to get out of this
138 mode is to power the flight computer down. See below for how to get the flight
139 computer to come up in Flight/Pad mode at power on.
140 </dd><dt><span class="term">
141 Idle
142 </span></dt><dd>
143 The flight computer is ready to communicate over USB
144 You can configure
145 the flight computer, download data or display
146 the current state. See below for how to get the flight
147 computer to come up in Idle mode at power on.
148 </dd></dl></div><p>For EasyMini, if the USB cable is connected to a
149 computer, it will enter Idle mode. Otherwise, it will
150 enter Flight/Pad mode.</p><p>You can see in <a class="xref" href="#_understanding_beeps" title="3.5. Understanding Beeps">Section 3.5, “Understanding Beeps”</a>
151 how to tell which mode the flight computer is in.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_an_external_active_switch_circuit"></a>3.7. Using an External Active Switch Circuit</h2></div></div></div><p>You can use an active switch circuit, such as the
152 Featherweight Magnetic Switch, with any Altus Metrum
153 flight computer. These require three connections, one to
154 the battery, one to the positive power input on the flight
155 computer and one to ground. Find instructions on how to
156 hook these up for each flight computer below. Then follow
157 the instructions that come with your active switch to
158 connect it up.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_a_separate_pyro_battery"></a>3.8. Using a Separate Pyro Battery</h2></div></div></div><p>As mentioned above in <a class="xref" href="#_hooking_up_pyro_charges" title="3.3. Hooking Up Pyro Charges">Section 3.3, “Hooking Up Pyro Charges”</a>, one
159 lead for each of the pyro charges is connected through
160 the power switch directly to the positive battery
161 terminal. The other lead is connected to the pyro
162 circuit, which connects it to the negative battery
163 terminal when the pyro circuit is fired. The pyro
164 circuit on all of the flight computers is designed to
165 handle up to 16V.</p><p>To use a separate pyro battery, connect the negative pyro
166 battery terminal to the flight computer ground terminal,
167 the positive battery terminal to the igniter and the other
168 igniter lead to the negative pyro terminal on the flight
169 computer. When the pyro channel fires, it will complete the
170 circuit between the negative pyro terminal and the ground
171 terminal, firing the igniter. Specific instructions on how
172 to hook this up for each flight computer will be found
173 in the section below for that flight computer.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_a_different_kind_of_battery"></a>3.9. Using a Different Kind of Battery</h2></div></div></div><p>EasyMini
174 is
175 designed to use either a
176 lithium polymer battery or any other battery producing
177 between 4 and 12 volts, such as a rectangular 9V
178 battery.</p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_easymini"></a>Chapter 4. EasyMini</h1></div></div></div><div class="figure"><a id="idm280"></a><p class="title"><strong>Figure 4.1. EasyMini Board</strong></p><div class="figure-contents"><div class="mediaobject"><img src="easymini-top.jpg" width="495" alt="easymini-top.jpg" /></div></div></div><br class="figure-break" /><p>EasyMini is built on a 0.8 inch by 1½ inch circuit board. It’s
179 designed to fit in a 24mm coupler tube.</p><p>You usually don’t need to configure EasyMini at all; it’s set
180 up to do dual-deployment with an event at apogee to separate
181 the airframe and deploy a drogue and another event at 250m
182 (820ft) to deploy the main. Install EasyMini in your airframe,
183 hook up a battery, igniters and a power switch and you’re
184 ready to fly.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_easymini_screw_terminals"></a>4.1. EasyMini Screw Terminals</h2></div></div></div><p>EasyMini has two sets of four screw terminals near one end of the
185 board. Using the picture
186 above, the top four have connections for the main pyro
187 circuit and an external battery and the bottom four have
188 connections for the apogee pyro circuit and the power
189 switch. Counting from the left, the connections are as follows:</p><div class="table"><a id="idm292"></a><p class="title"><strong>Table 4.1. EasyMini Screw Terminals</strong></p><div class="table-contents"><table class="table" summary="EasyMini Screw Terminals" cellpadding="4px" style="border-collapse: collapse;border-top: 1px solid #78079a; border-bottom: 1px solid #78079a; border-left: 1px solid #78079a; border-right: 1px solid #78079a; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /></colgroup><thead><tr><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Terminal #</th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Terminal Name</th><th style="border-bottom: 1px solid #78079a; " align="left" valign="top">Description</th></tr></thead><tbody><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Top 1</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Main -</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Main pyro channel connection to pyro circuit</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Top 2</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Main</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Main pyro channel common connection to battery</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Top 3</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Battery</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Positive external battery terminal</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Top 4</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Battery -</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Negative external battery terminal</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Bottom 1</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Apogee -</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Apogee pyro channel connection to pyro circuit</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Bottom 2</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Apogee</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Apogee pyro channel common connection to battery</p></td></tr><tr><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Bottom 3</p></td><td style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Switch Output</p></td><td style="border-bottom: 1px solid #78079a; " align="left" valign="top"><p>Switch connection to flight computer</p></td></tr><tr><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>Bottom 4</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>Switch Input</p></td><td style="" align="left" valign="top"><p>Switch connection to positive battery terminal</p></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_connecting_a_battery_to_easymini"></a>4.2. Connecting A Battery To EasyMini</h2></div></div></div><p>There are two possible battery connections on
190 EasyMini. You can use either method; both feed
191 through the power switch terminals.</p><p>One battery connection is the standard Altus Metrum
192 white JST plug. This mates with single-cell Lithium
193 Polymer batteries sold by Altus Metrum.</p><p>The other is a pair of screw terminals marked <span class="emphasis"><em>Battery
194 +</em></span> and <span class="emphasis"><em>Battery -</em></span>. Connect a battery from 4 to 12
195 volts to these terminals, being careful to match polarity.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_charging_lithium_batteries"></a>4.3. Charging Lithium Batteries</h2></div></div></div><p>Because EasyMini allows for batteries other than the
196 standard Altus Metrum Lithium Polymer cells, it cannot
197 incorporate a battery charger circuit. Therefore, when
198 using a Litium Polymer cell, you’ll need an external
199 charger. These are available from Altus Metrum, or
200 from Spark Fun.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_a_separate_pyro_battery_with_easymini"></a>4.4. Using a Separate Pyro Battery with EasyMini</h2></div></div></div><p>As described above, using an external pyro battery involves
201 connecting the negative battery terminal to the flight
202 computer ground, connecting the positive battery terminal to
203 one of the igniter leads and connecting the other igniter
204 lead to the per-channel pyro circuit connection.</p><p>To connect the negative pyro battery terminal to EasyMini
205 ground, connect it to the negative external battery
206 connection, top terminal 4.</p><p>Connecting the positive battery terminal to the pyro
207 charges must be done separate from EasyMini, by soldering
208 them together or using some other connector.</p><p>The other lead from each pyro charge is then inserted into
209 the appropriate per-pyro channel screw terminal (top
210 terminal 1 for the Main charge, bottom terminal 1 for the
211 Apogee charge).</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_an_active_switch_with_easymini"></a>4.5. Using an Active Switch with EasyMini</h2></div></div></div><p>As explained above, an external active switch requires three
212 connections, one to the positive battery terminal, one to
213 the flight computer positive input and one to ground. Use
214 the negative external battery connection, top terminal 4 for
215 ground.</p><p>The positive battery terminal is available on bottom
216 terminal 4, the positive flight computer input is on the
217 bottom terminal 3.</p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_installation"></a>Chapter 5. Installation</h1></div></div></div><p>A typical installation involves attaching
218 only a suitable battery, a single pole switch for
219 power on/off, and two pairs of wires connecting e-matches for the
220 apogee and main ejection charges.  All Altus Metrum products are
221 designed for use with single-cell batteries with 3.7 volts
222 nominal.
223 EasyMini may also be used with other
224 batteries as long as they supply between 4 and 12 volts.</p><p>The battery connectors are a standard 2-pin JST connector; you
225 can purchase suitable batteries from the any vendor selling
226 Altus Metrum products. These batteries are
227 single-cell Lithium Polymer batteries that nominally provide 3.7
228 volts.  Other vendors sell similar batteries for RC aircraft
229 using mating connectors, however the polarity for those is
230 generally reversed from the batteries used by Altus Metrum
231 products. In particular, the Tenergy batteries supplied for use
232 in Featherweight flight computers are not compatible with Altus
233 Metrum flight computers or battery chargers.</p><div class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>Check polarity and voltage before connecting any battery not
234 purchased from Altus Metrum.</p></div><div class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>Spark Fun sells batteries that have a matching connector with
235 the correct polarity. However, these batteries include an
236 integrated current limiting circuit. That circuit will cause
237 the battery to shut down when firing the igniter circuit. Do
238 not use these batteries unless you remove the current limiting
239 circuit.</p></div><p>By default, we use the unregulated output of the battery
240 directly to fire ejection charges.  This works marvelously
241 with standard low-current e-matches like the J-Tek from MJG
242 Technologies, and with Quest Q2G2 igniters.  However, if you
243 want or need to use a separate pyro battery, check out
244 <a class="xref" href="#_using_a_separate_pyro_battery" title="3.8. Using a Separate Pyro Battery">Section 3.8, “Using a Separate Pyro Battery”</a> for instructions on how to wire
245 that up. The altimeters are designed to work with an external
246 pyro battery of no more than 15 volts.</p><p>Ejection charges are wired directly to the screw terminal block
247 at the aft end of the altimeter.  You’ll need a very small straight
248 blade screwdriver for these screws, such as you might find in a
249 jeweler’s screwdriver set.
250 The screw terminal block is also used for the power switch leads.</p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_using_altus_metrum_products"></a>Chapter 6. Using Altus Metrum Products</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_in_the_rocket"></a>6.1. In the Rocket</h2></div></div></div><p>In the rocket itself, you just need a flight computer
251 and a single-cell, 3.7 volt nominal Li-Po rechargeable
252 battery.
253 A 110mAh battery weighs less
254 than a triple A battery and is a good choice for use
255 with
256 EasyMini.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_on_the_ground"></a>6.2. On the Ground</h2></div></div></div><p>The GUI tool, AltosUI, is written in Java and runs
257 across Linux, Mac OS and Windows. There’s also a suite
258 of C tools for Linux which can perform most of the
259 same tasks.</p><p>After the flight,
260 you can use a
261 USB cable to plug into the flight computer board directly.
262 A USB cable is also how you
263 charge the Li-Po battery, so you’ll want one of those
264 anyway. The same cable used by lots of digital
265 cameras and other modern electronic stuff will work
266 fine.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_data_analysis"></a>6.3. Data Analysis</h2></div></div></div><p>Our software makes it easy to log the data from each
267 flight, both the telemetry received during the flight
268 itself, and the more complete data log recorded in the
269 flash memory on the altimeter board.  Once this data
270 is on your computer, our post-flight tools make it
271 easy to quickly get to the numbers everyone wants,
272 like apogee altitude, max acceleration, and max
273 velocity.  You can also generate and view a standard
274 set of plots showing the altitude, acceleration, and
275 velocity of the rocket during flight.  And you can
276 even export a flight log in a format usable with Google
277 Maps and Google Earth for visualizing the flight path
278 in two or three dimensions!</p><p>Our ultimate goal is to emit a set of files for each
279 flight that can be published as a web page per flight,
280 or just viewed on your local disk with a web browser.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_future_plans"></a>6.4. Future Plans</h2></div></div></div><p>Because all of our work is open, both the hardware
281 designs and the software, if you have some great idea
282 for an addition to the current Altus Metrum family,
283 feel free to dive in and help!  Or let us know what
284 you’d like to see that we aren’t already working on,
285 and maybe we’ll get excited about it too…</p><p>Watch our <a class="ulink" href="http://altusmetrum.org/" target="_top">web site</a> for
286 more news and information as our family of products
287 evolves!</p></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="_altosui"></a>Chapter 7. AltosUI</h1></div></div></div><div class="figure"><a id="idm411"></a><p class="title"><strong>Figure 7.1. AltosUI Main Window</strong></p><div class="figure-contents"><div class="mediaobject"><img src="altosui.png" width="414" alt="altosui.png" /></div></div></div><br class="figure-break" /><p>The AltosUI program provides a graphical user interface for
288 interacting with the Altus Metrum product family. AltosUI can
289 monitor telemetry data, configure devices and many other
290 tasks. The primary interface window provides a selection of
291 buttons, one for each major activity in the system.  This
292 chapter is split into sections, each of which documents one of
293 the tasks provided from the top-level toolbar.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_save_flight_data"></a>7.1. Save Flight Data</h2></div></div></div><p>The altimeter records flight data to its internal
294 flash memory.
295 The <span class="emphasis"><em>Save Flight Data</em></span> button allows you to
296 read the flash memory and write it to disk.</p><p>Clicking on the <span class="emphasis"><em>Save Flight Data</em></span> button brings up a
297 list of connected flight computers and TeleDongle
298 devices. If you select a flight computer, the flight
299 data will be downloaded from that device directly.</p><p>After the device has been selected, a dialog showing
300 the flight data saved in the device will be shown
301 allowing you to select which flights to download and
302 which to delete. With version 0.9 or newer firmware,
303 you must erase flights in order for the space they
304 consume to be reused by another flight. This prevents
305 accidentally losing flight data if you neglect to
306 download data before flying again. Note that if there
307 is no more space available in the device, then no data
308 will be recorded during the next flight.</p><p>The file name for each flight log is computed
309 automatically from the recorded flight date, altimeter
310 serial number and flight number information.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_replay_flight"></a>7.2. Replay Flight</h2></div></div></div><p>Select this button and you are prompted to select a flight
311 record file, either a .telem file recording telemetry data or a
312 .eeprom file containing flight data saved from the altimeter
313 flash memory.</p><p>Once a flight record is selected, the flight monitor interface
314 is displayed and the flight is re-enacted in real
315 time.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_graph_data"></a>7.3. Graph Data</h2></div></div></div><p>Select this button and you are prompted to select a flight
316 record file, either a .telem file recording telemetry data or a
317 .eeprom file containing flight data saved from
318 flash memory.</p><p>Note that telemetry files will generally produce poor graphs
319 due to the lower sampling rate and missed telemetry packets.
320 Use saved flight data in .eeprom files for graphing where possible.</p><p>Once a flight record is selected, a window with multiple tabs is
321 opened.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_flight_graph"></a>7.3.1. Flight Graph</h3></div></div></div><div class="figure"><a id="idm438"></a><p class="title"><strong>Figure 7.2. Flight Data Graph</strong></p><div class="figure-contents"><div class="mediaobject"><img src="graph.png" width="495" alt="graph.png" /></div></div></div><br class="figure-break" /><p>By default, the graph contains acceleration (blue),
322 velocity (green) and altitude (red).</p><p>The graph can be zoomed into a particular area by
323 clicking and dragging down and to the right. Once
324 zoomed, the graph can be reset by clicking and
325 dragging up and to the left. Holding down control and
326 clicking and dragging allows the graph to be panned.
327 The right mouse button causes a pop-up menu to be
328 displayed, giving you the option save or print the
329 plot.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_configure_graph"></a>7.3.2. Configure Graph</h3></div></div></div><div class="figure"><a id="idm449"></a><p class="title"><strong>Figure 7.3. Flight Graph Configuration</strong></p><div class="figure-contents"><div class="mediaobject"><img src="graph-configure.png" width="495" alt="graph-configure.png" /></div></div></div><br class="figure-break" /><p>This selects which graph elements to show, and, at the
330 very bottom. It also lets you configure how
331 the graph is drawn:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
332 Whether to use metric or imperial units
333 </li><li class="listitem">
334 Whether to show a marker at each data
335 point. When displaying a small section of
336 the graph, these can be useful to know what
337 data values were recorded.
338 </li><li class="listitem">
339 How wide to draw the lines in the graph
340 </li><li class="listitem">
341 How to filter speed and acceleration data
342 computed from barometric data. Flight
343 computers with accelerometers never display
344 computed acceleration data, and only use
345 barometric data to compute speed during
346 descent. Flight computers without
347 accelerometers always compute both speed and
348 acceleration from barometric data. A larger
349 value smooths the data more.
350 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_flight_statistics"></a>7.3.3. Flight Statistics</h3></div></div></div><div class="figure"><a id="idm468"></a><p class="title"><strong>Figure 7.4. Flight Statistics</strong></p><div class="figure-contents"><div class="mediaobject"><img src="graph-stats.png" width="495" alt="graph-stats.png" /></div></div></div><br class="figure-break" /><p>Shows overall data computed from the flight.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_export_data"></a>7.4. Export Data</h2></div></div></div><p>This tool takes the raw data files and makes them
351 available for external analysis. When you select this
352 button, you are prompted to select a flight data file,
353 which can be either a .eeprom or .telem.  The .eeprom
354 files contain higher resolution and more continuous
355 data, while .telem files contain receiver signal
356 strength information.  Next, a second dialog appears
357 which is used to select where to write the resulting
358 file.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_comma_separated_value_format"></a>7.4.1. Comma Separated Value Format</h3></div></div></div><p>This is a text file containing the data in a form
359 suitable for import into a spreadsheet or other
360 external data analysis tool. The first few lines of
361 the file contain the version and configuration
362 information from the altimeter, then there is a single
363 header line which labels all of the fields. All of
364 these lines start with a <span class="emphasis"><em>#</em></span> character which many
365 tools can be configured to skip over.</p><p>The remaining lines of the file contain the data, with
366 each field separated by a comma and at least one
367 space. All of the sensor values are converted to
368 standard units, with the barometric data reported in
369 both pressure, altitude and height above pad units.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_configure_altimeter"></a>7.5. Configure Altimeter</h2></div></div></div><div class="figure"><a id="idm486"></a><p class="title"><strong>Figure 7.5. Altimeter Configuration</strong></p><div class="figure-contents"><div class="mediaobject"><img src="configure-altimeter.png" width="324" alt="configure-altimeter.png" /></div></div></div><br class="figure-break" /><p>Select this button and then select an altimeter.</p><p>The first few lines of the dialog provide information about the
370 connected device, including the product name,
371 software version and hardware serial number. Below that are the
372 individual configuration entries.</p><p>At the bottom of the dialog, there are four buttons:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
373 Save
374 </span></dt><dd>
375 This writes any changes to the configuration parameter
376 block in flash memory. If you don’t press this button,
377 any changes you make will be lost.
378 </dd><dt><span class="term">
379 Reset
380 </span></dt><dd>
381 This resets the dialog to the most recently saved
382 values, erasing any changes you have made.
383 </dd><dt><span class="term">
384 Reboot
385 </span></dt><dd>
386 This reboots the device. Use this to switch from idle
387 to pad mode by rebooting once the rocket is oriented
388 for flight, or to confirm changes you think you saved
389 are really saved.
390 </dd><dt><span class="term">
391 Close
392 </span></dt><dd>
393 This closes the dialog. Any unsaved changes will be
394 lost.
395 </dd></dl></div><p>The rest of the dialog contains the parameters to be configured.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_main_deploy_altitude"></a>7.5.1. Main Deploy Altitude</h3></div></div></div><p>This sets the altitude (above the recorded pad
396 altitude) at which the <span class="emphasis"><em>main</em></span> igniter will fire. The
397 drop-down menu shows some common values, but you can
398 edit the text directly and choose whatever you
399 like. If the apogee charge fires below this altitude,
400 then the main charge will fire two seconds after the
401 apogee charge fires.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_apogee_delay"></a>7.5.2. Apogee Delay</h3></div></div></div><p>When flying redundant electronics, it’s often
402 important to ensure that multiple apogee charges don’t
403 fire at precisely the same time, as that can over
404 pressurize the apogee deployment bay and cause a
405 structural failure of the air-frame. The Apogee Delay
406 parameter tells the flight computer to fire the apogee
407 charge a certain number of seconds after apogee has
408 been detected.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_apogee_lockout"></a>7.5.3. Apogee Lockout</h3></div></div></div><p>Apogee lockout is the number of seconds after boost
409 where the flight computer will not fire the apogee
410 charge, even if the rocket appears to be at
411 apogee. This is often called <span class="emphasis"><em>Mach Delay</em></span>, as it is
412 intended to prevent a flight computer from
413 unintentionally firing apogee charges due to the
414 pressure spike that occurrs across a mach
415 transition. Altus Metrum flight computers include a
416 Kalman filter which is not fooled by this sharp
417 pressure increase, and so this setting should be left
418 at the default value of zero to disable it.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_maximum_flight_log_size"></a>7.5.4. Maximum Flight Log Size</h3></div></div></div><p>This sets the space (in kilobytes) allocated
419 for each flight log. The available space will
420 be divided into chunks of this size. A smaller
421 value will allow more flights to be stored, a
422 larger value will record data from longer
423 flights.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_ignitor_firing_mode"></a>7.5.5. Ignitor Firing Mode</h3></div></div></div><p>This configuration parameter allows the two standard ignitor
424 channels (Apogee and Main) to be used in different
425 configurations.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
426 Dual Deploy
427 </span></dt><dd>
428 This is the usual mode of operation; the
429 <span class="emphasis"><em>apogee</em></span> channel is fired at apogee and the
430 <span class="emphasis"><em>main</em></span> channel at the height above ground
431 specified by the <span class="emphasis"><em>Main Deploy Altitude</em></span> during
432 descent.
433 </dd><dt><span class="term">
434 Redundant Apogee
435 </span></dt><dd>
436 This fires both channels at apogee, the
437 <span class="emphasis"><em>apogee</em></span> channel first followed after a two
438 second delay by the <span class="emphasis"><em>main</em></span> channel.
439 </dd><dt><span class="term">
440 Redundant Main
441 </span></dt><dd>
442 This fires both channels at the height above
443 ground specified by the Main Deploy Altitude
444 setting during descent. The <span class="emphasis"><em>apogee</em></span> channel
445 is fired first, followed after a two second
446 delay by the <span class="emphasis"><em>main</em></span> channel.
447 </dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_beeper_frequency"></a>7.5.6. Beeper Frequency</h3></div></div></div><p>The beeper on all Altus Metrum flight
448 computers works best at 4000Hz, however if you
449 have more than one flight computer in a single
450 airframe, having all of them sound at the same
451 frequency can be confusing. This parameter
452 lets you adjust the base beeper frequency
453 value.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_configure_altosui"></a>7.6. Configure AltosUI</h2></div></div></div><div class="figure"><a id="idm556"></a><p class="title"><strong>Figure 7.6. Configure AltosUI Dialog</strong></p><div class="figure-contents"><div class="mediaobject"><img src="configure-altosui.png" width="216" alt="configure-altosui.png" /></div></div></div><br class="figure-break" /><p>This button presents a dialog so that you can
454 configure the AltosUI global settings.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_log_directory"></a>7.6.1. Log Directory</h3></div></div></div><p>AltosUI logs all telemetry data and saves all
455 flash data to this directory. This
456 directory is also used as the staring point
457 when selecting data files for display or
458 export.</p><p>Click on the directory name to bring up a
459 directory choosing dialog, select a new
460 directory and click <span class="emphasis"><em>Select Directory</em></span> to
461 change where AltosUI reads and writes data
462 files.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_imperial_units"></a>7.6.2. Imperial Units</h3></div></div></div><p>This switches between metric units (meters)
463 and imperial units (feet and miles). This
464 affects the display of values use during
465 flight monitoring, configuration, data
466 graphing and all of the voice
467 announcements. It does not change the units
468 used when exporting to CSV files, those are
469 always produced in metric units.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_serial_debug"></a>7.6.3. Serial Debug</h3></div></div></div><p>This causes all communication with a connected
470 device to be dumped to the console from which
471 AltosUI was started. If you’ve started it from
472 an icon or menu entry, the output will simply
473 be discarded. This mode can be useful to debug
474 various serial communication issues.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_font_size"></a>7.6.4. Font size</h3></div></div></div><p>Selects the set of fonts used in the flight
475 monitor window. Choose between the small,
476 medium and large sets.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_look_amp_feel"></a>7.6.5. Look &amp; feel</h3></div></div></div><p>Switches between the available Java user
477 interface appearances. The default selection
478 is supposed to match the native window system
479 appearance for the target platform.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_menu_position"></a>7.6.6. Menu position</h3></div></div></div><p>Selects the initial position for the main
480 AltosUI window that includes all of the
481 command buttons.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_flash_image"></a>7.7. Flash Image</h2></div></div></div><p>This reprograms Altus Metrum devices with new
482 firmware.
483 EasyMini is
484 programmed directly
485 over USB (self programming). Please read
486 the directions for flashing devices in
487 <a class="xref" href="#_updating_device_firmware" title="Appendix C. Updating Device Firmware">Appendix C, <em>Updating Device Firmware</em></a>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_fire_igniter"></a>7.8. Fire Igniter</h2></div></div></div><div class="figure"><a id="idm590"></a><p class="title"><strong>Figure 7.7. Fire Igniter Window</strong></p><div class="figure-contents"><div class="mediaobject"><img src="fire-igniter.png" width="108" alt="fire-igniter.png" /></div></div></div><br class="figure-break" /><p>This activates the igniter circuits in the flight
488 computer to help test recovery systems
489 deployment.</p><p>Selecting the <span class="emphasis"><em>Fire Igniter</em></span> button brings up the
490 usual device selection dialog. Pick the desired
491 device. This brings up another window which shows the
492 current continuity test status for all of the pyro
493 channels.</p><p>Next, select the desired igniter to fire. This will
494 enable the <span class="emphasis"><em>Arm</em></span> button.</p><p>Select the <span class="emphasis"><em>Arm</em></span> button. This enables the <span class="emphasis"><em>Fire</em></span>
495 button. The word <span class="emphasis"><em>Arm</em></span> is replaced by a countdown
496 timer indicating that you have 10 seconds to press the
497 <span class="emphasis"><em>Fire</em></span> button or the system will deactivate, at which
498 point you start over again at selecting the desired
499 igniter.</p></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_system_operation"></a>Appendix A. System Operation</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_firmware_modes"></a>A.1. Firmware Modes</h2></div></div></div><p>The AltOS firmware build for the altimeters has two
500 fundamental modes, “idle” and “flight”.  Which of these modes
501 the firmware operates in is determined at start up
502 time.
503 Since
504 EasyMini doesn’t
505 have an
506 accelerometer we can use to determine orientation, “idle” mode
507 is selected if the board is connected via USB to a computer,
508 otherwise the board enters “flight” mode.</p><p>At power on, the altimeter will beep out the battery voltage
509 to the nearest tenth of a volt.  Each digit is represented by
510 a sequence of short “dit” beeps, with a pause between
511 digits. A zero digit is represented with one long “dah”
512 beep. Then there will be a short pause while the altimeter
513 completes initialization and self test, and decides which mode
514 to enter next.</p><p>In flight or “pad” mode, the altimeter engages the flight
515 state machine, goes into transmit-only mode to send telemetry,
516 and waits for launch to be detected.  Flight mode is indicated
517 by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
518 followed by beeps or flashes indicating the state of the
519 pyrotechnic igniter continuity.  One beep/flash indicates
520 apogee continuity, two beeps/flashes indicate main continuity,
521 three beeps/flashes indicate both apogee and main continuity,
522 and one longer “brap” sound which is made by rapidly
523 alternating between two tones indicates no continuity.  For a
524 dual deploy flight, make sure you’re getting three beeps or
525 flashes before launching!  For apogee-only or motor eject
526 flights, do what makes sense.</p><p>If idle mode is entered, you will hear an audible “di-dit” or
527 see two short flashes (“I” for idle), and the flight state
528 machine is disengaged, thus no ejection charges will fire.
529 Idle mode is useful for configuring the altimeter, for
530 extracting data from the on-board storage chip after
531 flight, and for ground testing pyro charges.</p><p>In “Idle” and “Pad” modes, once the mode indication
532 beeps/flashes and continuity indication has been sent, if
533 there is no space available to log the flight in on-board
534 memory, the flight computer will emit a warbling tone (much
535 slower than the “no continuity tone”)</p><p>See <a class="xref" href="#_understanding_beeps" title="3.5. Understanding Beeps">Section 3.5, “Understanding Beeps”</a> for a summary of all of
536 the audio signals used.</p><p>Once landed, the flight computer will signal that by emitting
537 the “Landed” sound described above, after which it will beep
538 out the apogee height (in meters). Each digit is represented
539 by a sequence of short “dit” beeps, with a pause between
540 digits. A zero digit is represented with one long “dah”
541 beep. The flight computer will continue to report landed mode
542 and beep out the maximum height until turned off.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_ground_testing"></a>A.2. Ground Testing</h2></div></div></div><p>An important aspect of preparing a rocket using electronic deployment
543 for flight is ground testing the recovery system.</p><p>Just prep the rocket for flight, then power up the altimeter
544 in “idle”
545 mode.
546 You can now command the altimeter to fire the apogee
547 or main charges from a safe distance using your
548 computer and the Fire Igniter tab to complete ejection testing.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_configurable_parameters"></a>A.3. Configurable Parameters</h2></div></div></div><p>Configuring an Altus Metrum altimeter for flight is
549 very simple.  Even on our baro-only TeleMini and
550 EasyMini boards, the use of a Kalman filter means
551 there is no need to set a “mach delay”.  All of the
552 configurable parameters can be set using AltosUI. Read
553 <a class="xref" href="#_configure_altimeter" title="7.5. Configure Altimeter">Section 7.5, “Configure Altimeter”</a> for more information.</p></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_handling_precautions"></a>Appendix B. Handling Precautions</h1></div></div></div><p>All Altus Metrum products are sophisticated electronic devices.
554 When handled gently and properly installed in an air-frame, they
555 will deliver impressive results.  However, as with all electronic
556 devices, there are some precautions you must take.</p><div class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>The Lithium Polymer rechargeable batteries have an
557 extraordinary power density.  This is great because we can fly with
558 much less battery mass than if we used alkaline batteries or previous
559 generation rechargeable batteries… but if they are punctured
560 or their leads are allowed to short, they can and will release their
561 energy very rapidly!
562 Thus we recommend that you take some care when handling our batteries
563 and consider giving them some extra protection in your air-frame.  We
564 often wrap them in suitable scraps of closed-cell packing foam before
565 strapping them down, for example.</p></div><p>The barometric sensors used on all of our flight computers are
566 sensitive to sunlight.  In normal mounting situations, the baro sensor
567 and all of the other surface mount components
568 are “down” towards whatever the underlying mounting surface is, so
569 this is not normally a problem.  Please consider this when designing an
570 installation in an air-frame with a see-through plastic payload bay.  It
571 is particularly important to
572 consider this with TeleMini v1.0, both because the baro sensor is on the
573 “top” of the board, and because many model rockets with payload bays
574 use clear plastic for the payload bay!  Replacing these with an opaque
575 cardboard tube, painting them, or wrapping them with a layer of masking
576 tape are all reasonable approaches to keep the sensor out of direct
577 sunlight.</p><p>The barometric sensor sampling port must be able to “breathe”,
578 both by not being covered by foam or tape or other materials that might
579 directly block the hole on the top of the sensor, and also by having a
580 suitable static vent to outside air.</p><p>As with all other rocketry electronics, Altus Metrum altimeters must
581 be protected from exposure to corrosive motor exhaust and ejection
582 charge gasses.</p></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_updating_device_firmware"></a>Appendix C. Updating Device Firmware</h1></div></div></div><p>EasyMini is
583 programmed directly over their USB connectors (self
584 programming).</p><p>You may wish to begin by ensuring you have current firmware
585 images.  These are distributed as part of the AltOS software
586 bundle that also includes the AltosUI ground station program.
587 Newer ground station versions typically work fine with older
588 firmware versions, so you don’t need to update your devices
589 just to try out new software features.  You can always
590 download the most recent version from
591 <a class="ulink" href="http://www.altusmetrum.org/AltOS/" target="_top">http://www.altusmetrum.org/AltOS/</a></p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_updating_easymini_firmware"></a>C.1. Updating EasyMini Firmware</h2></div></div></div><p>Self-programmable devices are reprogrammed by
592 connecting them to your computer over USB.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
593 Attach a battery if necessary and power switch to
594 the target device. Power up the device.
595 </li><li class="listitem">
596 Using a Micro USB cable, connect the target device to your
597 computer’s USB socket.
598 </li><li class="listitem">
599 Run AltosUI, and select <span class="emphasis"><em>Flash Image</em></span> from the File menu.
600 </li><li class="listitem">
601 Select the target device in the Device Selection dialog.
602 </li><li class="listitem">
603 Select the image you want to flash to the device,
604 which should have a name in the form
605 &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx,
606 such as EasyMini-v1.0-1.6.0.ihx.
607 </li><li class="listitem">
608 Make sure the configuration parameters are
609 reasonable looking. If the serial number and/or RF
610 configuration values aren’t right, you’ll need to
611 change them.
612 </li><li class="listitem">
613 Hit the <span class="emphasis"><em>OK</em></span> button and the software should proceed
614 to flash the device with new firmware, showing a
615 progress bar.
616 </li><li class="listitem">
617 Verify that the device is working by using the
618 <span class="emphasis"><em>Configure Altimeter</em></span> or <span class="emphasis"><em>Configure Groundstation</em></span>
619 item to check over the configuration.
620 </li></ol></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_recovering_from_self_flashing_failure"></a>C.1.1. Recovering From Self-Flashing Failure</h3></div></div></div><p>If the firmware loading fails, it can leave the device
621 unable to boot. Not to worry, you can force the device to
622 start the boot loader instead, which will let you try to
623 flash the device again.</p><p>On each device, connecting two pins from one of the exposed
624 connectors will force the boot loader to start, even if the
625 regular operating system has been corrupted in some way.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
626 EasyMini
627 </span></dt><dd>
628 Connect pin 6 and pin 1 of the debug connector, which
629 is the six holes next to the beeper. Pin 1 can be
630 identified by the square pad around it, and then the
631 pins could sequentially across the board, making Pin 6
632 the one on the other end of the row.
633 </dd></dl></div><p>Once you’ve located the right pins:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
634 Turn the altimeter power off.
635 </li><li class="listitem">
636 Connect a battery.
637 </li><li class="listitem">
638 Connect the indicated terminals together with a
639 short piece of wire. Take care not to accidentally
640 connect anything else.
641 </li><li class="listitem">
642 Connect USB
643 </li><li class="listitem">
644 Turn the board power on.
645 </li></ol></div><p>The board should now be visible over USB as
646 <span class="emphasis"><em>AltosFlash</em></span> and be ready to receive firmware.  Once
647 the board has been powered up, you can remove the
648 piece of wire.</p></div></div></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_flight_data_recording"></a>Appendix D. Flight Data Recording</h1></div></div></div><p>Each flight computer logs data at 100 samples per second
649 during ascent and 10 samples per second during
650 descent.
651 Data are logged to
652 an on-board flash memory part, which can be partitioned into
653 several equal-sized blocks, one for each flight.</p><div class="table"><a id="idm690"></a><p class="title"><strong>Table D.1. Data Storage on Altus Metrum altimeters</strong></p><div class="table-contents"><table class="table" summary="Data Storage on Altus Metrum altimeters" cellpadding="4px" style="border-collapse: collapse;border-top: 1px solid #78079a; border-bottom: 1px solid #78079a; border-left: 1px solid #78079a; border-right: 1px solid #78079a; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /></colgroup><thead><tr><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Device                 </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Bytes per Sample       </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Total Storage  </th><th style="border-bottom: 1px solid #78079a; " align="left" valign="top">Minutes at Full Rate</th></tr></thead><tbody><tr><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>EasyMini</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>16</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>1MB</p></td><td style="" align="left" valign="top"><p>10</p></td></tr></tbody></table></div></div><br class="table-break" /><p>The on-board flash is partitioned into separate flight logs,
654 each of a fixed maximum size. Increase the maximum size of
655 each log and you reduce the number of flights that can be
656 stored. Decrease the size and you can store more flights.</p><p>Configuration data is also stored in the flash memory on
657 EasyMini.
658 This consumes 64kB
659 of flash space.  This configuration space is not available
660 for storing flight log data.</p><p>To compute the amount of space needed for a single flight, you
661 can multiply the expected ascent time (in seconds) by 100
662 times bytes-per-sample, multiply the expected descent time (in
663 seconds) by 10 times the bytes per sample and add the two
664 together. That will slightly under-estimate the storage (in
665 bytes) needed for the flight.</p><p>The default size allows for several flights on each flight
666 computer.
667 You can adjust the size.</p><p>Altus Metrum flight computers will not overwrite existing
668 flight data, so be sure to download flight data and erase it
669 from the flight computer before it fills up. The flight
670 computer will still successfully control the flight even if it
671 cannot log data, so the only thing you will lose is the data.</p></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_altus_metrum_hardware_specifications"></a>Appendix E. Altus Metrum Hardware Specifications</h1></div></div></div><p>Here’s the full set of Altus Metrum products, both in
672 production and retired.</p><div class="table"><a id="idm721"></a><p class="title"><strong>Table E.1. Altus Metrum Flight Computer Electronics</strong></p><div class="table-contents"><table class="table" summary="Altus Metrum Flight Computer Electronics" cellpadding="4px" style="border-collapse: collapse;border-top: 1px solid #78079a; border-bottom: 1px solid #78079a; border-left: 1px solid #78079a; border-right: 1px solid #78079a; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /><col class="col_5" /><col class="col_6" /><col class="col_7" /><col class="col_8" /></colgroup><thead><tr><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Device </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"> Barometer </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"> Z-axis accel </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"> GPS </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"> 3D sensors </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"> Storage </th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top"> RF Output </th><th style="border-bottom: 1px solid #78079a; " align="left" valign="top"> Battery</th></tr></thead><tbody><tr><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>EasyMini v1.0</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>MS5607 30km (100k')</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>-</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>-</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>-</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>1MB</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>-</p></td><td style="" align="left" valign="top"><p>3.7-12V</p></td></tr></tbody></table></div></div><br class="table-break" /><p></p><div class="table"><a id="idm761"></a><p class="title"><strong>Table E.2. Altus Metrum Flight Computer Mechanical Components</strong></p><div class="table-contents"><table class="table" summary="Altus Metrum Flight Computer Mechanical Components" cellpadding="4px" style="border-collapse: collapse;border-top: 1px solid #78079a; border-bottom: 1px solid #78079a; border-left: 1px solid #78079a; border-right: 1px solid #78079a; "><colgroup><col class="col_1" /><col class="col_2" /><col class="col_3" /><col class="col_4" /><col class="col_5" /><col class="col_6" /></colgroup><thead><tr><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Device</th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Connectors</th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Screw Terminals</th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Width</th><th style="border-right: 1px solid #78079a; border-bottom: 1px solid #78079a; " align="left" valign="top">Length</th><th style="border-bottom: 1px solid #78079a; " align="left" valign="top">Tube Size</th></tr></thead><tbody><tr><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>EasyMini</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>Debug USB Battery</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>Apogee pyro Main pyro Battery</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>0.8 inch (2.03cm)</p></td><td style="border-right: 1px solid #78079a; " align="left" valign="top"><p>1½ inch (3.81cm)</p></td><td style="" align="left" valign="top"><p>24mm coupler</p></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="_release_notes"></a>Appendix F. Release Notes</h1></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_8_5"></a>F.1. Release Notes for Version 1.8.5</h2></div></div></div><p>Version 1.8.5 includes fixes to the ground software support
673 for TeleBT v4, along with a few other minor updates.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos"></a>F.1.1. AltOS</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
674 Fix startup beeps that indicate sensor failures.
675 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_telegps"></a>F.1.2. AltosUI, TeleGPS</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
676 When updating device firmware, make sure selected firmware
677 matches target device.
678 </li><li class="listitem">
679 Correct Bluetooth device matching when looking for TeleBT
680 devices.
681 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_8_4"></a>F.2. Release Notes for Version 1.8.4</h2></div></div></div><p>Version 1.8.4 includes support for EasyMini version 2.0</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_2"></a>F.2.1. AltOS</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
682 Support for EasyMini version 2.0 hardware.
683 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_8_3"></a>F.3. Release Notes for Version 1.8.3</h2></div></div></div><p>Version 1.8.3 includes support for TeleMega version 3.0 along
684 with two important flight computer fixes. This version also
685 changes KML export data to make Tripoli Record reporting
686 better and some updates to graph presentation and data
687 downloading.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_3"></a>F.3.1. AltOS</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_altos_new_features"></a>AltOS New Features</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
688 Support for TeleMega version 3.0 hardware.
689 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_altos_bug_fixes"></a>AltOS Bug Fixes</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
690 Ground testing EasyMega and TeleMega additional pyro
691 channels could result in a sticky <span class="emphasis"><em>fired</em></span> status which would
692 prevent these channels from firing on future flights.
693 </li><li class="listitem">
694 Corrupted flight log records could prevent future flights
695 from capturing log data.
696 </li><li class="listitem">
697 Fixed saving of pyro configuration that ended with
698 <span class="emphasis"><em>Descending</em></span>.
699 </li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications"></a>F.3.2. AltosUI and TeleGPS Applications</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_altosui_new_features"></a>AltosUI New Features</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
700 Support for TeleMega version 3.0.
701 </li><li class="listitem">
702 Graph lines have improved appearance to make them easier to
703 distinguish. Markers may be placed at data points to show
704 captured recorded data values.
705 </li><li class="listitem">
706 Graphing offers the ability to adjust the smoothing of
707 computed speed and acceleration data.
708 </li><li class="listitem">
709 The download dialog now offers to graph new flights, checks
710 for existing files to avoid overwriting data and reports if
711 there are checksum errors in the downloaded data.
712 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_altosui_telegps_bug_fixes"></a>AltosUI/TeleGPS Bug Fixes</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
713 Restore TeleGPS tracking behavior.
714 </li><li class="listitem">
715 Display flight computer call sign and serial number in
716 Monitor Idle mode instead of ground station values.
717 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_altosui_and_telegps_changes"></a>AltosUI and TeleGPS Changes</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
718 KML export now reports both barometric and GPS altitude data
719 to make it more useful for Tripoli record reporting.
720 </li><li class="listitem">
721 CSV export now includes TeleMega/EasyMega pyro voltages and
722 tilt angle.
723 </li></ul></div><p></p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_8_2"></a>F.4. Release Notes for Version 1.8.2</h2></div></div></div><p>Version 1.8.2 includes support for TeleGPS version 2.0 along
724 with accelerometer recalibration support in AltosUI.</p><p>1.8.2 also contains a couple of minor fixes for AltosUI when
725 analyzing saved data files.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_4"></a>F.4.1. AltOS</h3></div></div></div><p>AltOS New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
726 Support for TeleGPS version 2.0 hardware.
727 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_2"></a>F.4.2. AltosUI and TeleGPS Applications</h3></div></div></div><p>AltosUI and TeleGPS New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
728 Support for TeleGPS version 2.0.
729 </li><li class="listitem">
730 Accelerometer re-calibration user interface.
731 </li></ul></div><p>AltosUI and TeleGPS Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
732 Prevent some crashes when reading older saved flight data
733 for graphing or KML export.
734 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_8_1"></a>F.5. Release Notes for Version 1.8.1</h2></div></div></div><p>Version 1.8.1 includes an important bug fix for Apogee Lockout
735 operation in all flight computers. Anyone using this option
736 must update firmware.</p><p>This release also contains a change in how flight computers
737 with accelerometers deal with speeds around and above Mach
738 1. In previous versions, the flight computer would completely
739 disregard the barometric sensor above 330m/s (around Mach
740 1). Now, the data from the barometric sensor is reduced in
741 effect without ever going away entirely. This prevents early
742 drogue deployment for flights which spend considerable time
743 above Mach 1.</p><p>1.8.1 also contains a couple of minor fixes for AltosUI when
744 analyzing saved data files.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_5"></a>F.5.1. AltOS</h3></div></div></div><p>AltOS Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
745 Handle time value wrapping in Apogee Lockout
746 correctly. Without this, apogee lockout would sometimes
747 prevent any drogue charge from firing.
748 </li><li class="listitem">
749 Change Kalman filter on flight computers with accelerometer
750 to continue using the barometric sensor even at high speeds
751 to avoid unintentional drogue deployment during
752 deceleration.
753 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_3"></a>F.5.2. AltosUI and TeleGPS Applications</h3></div></div></div><p>AltosUI New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
754 Add new <span class="emphasis"><em>Huge</em></span> font size to make text even bigger on high
755 resolution monitors.
756 </li></ul></div><p>AltosUI Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
757 Prevent some crashes when reading older saved flight data
758 for graphing or KML export.
759 </li><li class="listitem">
760 Load frequency preference at startup. The loading code was
761 broken, so you’d see only the default frequencies.
762 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_8"></a>F.6. Release Notes for Version 1.8</h2></div></div></div><p>Version 1.8 includes support for our new TeleBT v4.0 ground
763 station, updates for data analysis in our ground station
764 software and bug fixes in in the flight software for all our
765 boards and ground station interfaces.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_6"></a>F.6.1. AltOS</h3></div></div></div><p>AltOS New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
766 Add support for TeleBT v4.0 boards.
767 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_4"></a>F.6.2. AltosUI and TeleGPS Applications</h3></div></div></div><p>AltosUI New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
768 Add support for TeleBT v4.0 hardware
769 </li><li class="listitem">
770 Rewrite graphing and export functions. This code now handles
771 each data series separately so that graphs are drawn
772 correctly. Smoothing now uses a filter that looks both
773 forward and backwards in time to make computed speed and
774 acceleration data more accurate.
775 </li></ul></div><p>AltosUI Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
776 Correct axis labeling of magnetic sensor in TeleMega and
777 EasyMega. The Y and Z axes were flipped.
778 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_7"></a>F.7. Release Notes for Version 1.7</h2></div></div></div><p>Version 1.7 includes support for our new TeleMini v3.0
779 flight computer and bug fixes in in the flight software for all our boards
780 and ground station interfaces.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_7"></a>F.7.1. AltOS</h3></div></div></div><p>AltOS New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
781 Add support for TeleMini v3.0 boards.
782 </li></ul></div><p>AltOS Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
783 Fix interrupt priorities on STM32L processors. Run timer
784 interrupt at lowest priority so that device interrupts get
785 serviced first.
786 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_5"></a>F.7.2. AltosUI and TeleGPS Applications</h3></div></div></div><p>AltosUI New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
787 Add support for TeleMini v3.0 hardware
788 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_6_8"></a>F.8. Release Notes for Version 1.6.8</h2></div></div></div><p>Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where
789 the device could stop logging data and transmitting
790 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
791 v2.0 users should update their flight firmware.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_8"></a>F.8.1. AltOS</h3></div></div></div><p>AltOS fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
792 Fix STM32L DMA driver to work around STM32L SoC DMA priority
793 issue t lock-up in the logging or radio code, either of
794 which could stop data logging and telemetry.
795 </li><li class="listitem">
796 Avoid having TeleBT battery status values smash telemetry
797 packet data by holding a lock during both operations.
798 </li><li class="listitem">
799 Don’t start reporting <span class="emphasis"><em>flight 0</em></span> when the log fills in
800 flight.
801 </li></ul></div><p>AltOS changes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
802 Flash LEDS on all products briefly during power up so that
803 they can be tested during production.
804 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_telegps_and_altosdroid_applications"></a>F.8.2. AltosUI, TeleGPS and AltosDroid Applications</h3></div></div></div><p>AltosUI fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
805 Re-enable go/no-go entries after they’ve been disabled due
806 to lack of data. If telemetry information is delayed when
807 the Ui starts up, sometimes important fields would get
808 disabled to never re-appear.
809 </li><li class="listitem">
810 Deal with ground station failure better during Configure
811 Ground Station operation by cleaning up pending operations.
812 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_6_5"></a>F.9. Release Notes for Version 1.6.5</h2></div></div></div><p>Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where
813 the device would often stop logging data and transmitting
814 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
815 v2.0 users should update their flight firmware.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_9"></a>F.9.1. AltOS</h3></div></div></div><p>AltOS fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
816 Fix STM32L SPI driver to prevent lock-up in the logging or
817 radio code, either of which could stop data logging and
818 telemetry. Found and characterized by Chuck Haskin, who also
819 tested the new firmware before release.
820 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_telegps_and_altosdroid_applications_2"></a>F.9.2. AltosUI, TeleGPS and AltosDroid Applications</h3></div></div></div><p>AltosUI fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
821 Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with
822 Windows package.
823 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_6_4"></a>F.10. Release Notes for Version 1.6.4</h2></div></div></div><p>Version 1.6.4 fixes a bluetooth communication problem with
824 TeleBT v1.0 devices, along with some altosui and altosdroid
825 minor nits. It also now ships firmware for some newer devices.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_10"></a>F.10.1. AltOS</h3></div></div></div><p>AltOS fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
826 Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS
827 doesn’t seem to work, switch from using the hardware to
828 driving these pins with software.
829 </li><li class="listitem">
830 Fix ARM USB drivers to deal with OS restarts. Needed to
831 reset all USB-related state when the USB bus is reset. These
832 fixes affect all STM32L, STM32F0 and LPC11U14 based devices.
833 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_telegps_and_altosdroid_applications_3"></a>F.10.2. AltosUI, TeleGPS and AltosDroid Applications</h3></div></div></div><p>AltosUI, TeleGPS and AltosDroid New Features:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
834 Automatically switch from meters or feet to kilometers or
835 miles for distance units.
836 </li><li class="listitem">
837 Add Monitor Idle mode to TeleGPS application.
838 </li></ul></div><p>AltosUI, TeleGPS and AltosDroid Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
839 Abort map preloading when the preload map dialog is closed.
840 </li><li class="listitem">
841 In AltosDroid, Don’t reconnect to last device if the user
842 had disconnected it the last time the application was
843 active.
844 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_documentation"></a>F.10.3. Documentation</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
845 Mention TeleMega v2.0 in hardware specs table.
846 </li><li class="listitem">
847 Document TeleGPS RF output in telegps manual.
848 </li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_6_3"></a>F.11. Release Notes for Version 1.6.3</h2></div></div></div><p>Version 1.6.3 adds idle mode to AltosDroid and has bug fixes
849 for our host software on desktops, laptops an android devices
850 along with BlueTooth support for Windows.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_11"></a>F.11.1. AltOS</h3></div></div></div><p>AltOS fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
851 Fix hardware flow control on TeleBT v3.0. RTS/CTS is
852 wired backwards on this board, switch from using the
853 hardware to driving these pins with software.
854 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_6"></a>F.11.2. AltosUI and TeleGPS Applications</h3></div></div></div><p>AltosUI and TeleGPS New Features:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
855 Add BlueTooth support for Windows operating system. This
856 supports connections to TeleBT over BlueTooth rather than
857 just USB.
858 </li></ul></div><p>AltosUI and TeleGPS Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
859 Change Java detection and install on Windows. Detection is
860 now done by looking for the <span class="emphasis"><em>javaw.exe</em></span> program, and
861 installation by opening a browser on the java.com web site.
862 </li><li class="listitem">
863 Delay polling while the Fire Igniters is visible to allow
864 for TeleMega to report back complete status over the radio.
865 </li><li class="listitem">
866 Disallow changing RF calibration numbers in the
867 configuration UI. There’s no good reason to change this from
868 the field, and recovering is really hard if you haven’t
869 written down the right number.
870 </li><li class="listitem">
871 Fix USB device discovery on Mac OS X El Capitan. This makes
872 the connected Altus Metrum USB devices appear again.
873 </li><li class="listitem">
874 Fix acceleration data presented in MonitorIdle mode for
875 TeleMetrum v2.0 flight computers.
876 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosdroid"></a>F.11.3. AltosDroid</h3></div></div></div><p>AltosDroid new features:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
877 Monitor Idle mode. Check state of flight computer while in
878 idle mode over the radio link
879 </li><li class="listitem">
880 Fire Igniters. Remotely fire ignires for recovery system
881 ground tests.
882 </li><li class="listitem">
883 Remote reboot. Cause the flight computer to reboot over the
884 radio link. This provides a method for switching the flight
885 computer from idle to flight mode without needing to reach
886 the power switch.
887 </li><li class="listitem">
888 Configurable frequency menu. Change the set of available
889 frequencies and provide more descriptive names.
890 </li></ul></div><p>AltosDroid bug fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
891 Don’t set target location if GPS hasn’t locked yet.
892 </li><li class="listitem">
893 Fix saving target states so they can be reloaded when the
894 application restarts. When the application is shut down and
895 restarted, all previous target state information will be
896 restored (including GPS position if available).
897 </li><li class="listitem">
898 Fix crash on some Android devices for offline maps when
899 changing the map scale or location.
900 </li><li class="listitem">
901 Don’t require USB OTG support. This kept the latest
902 AltosDroid from being offered on devices without USB device
903 support, although it can work without that just fine using
904 BlueTooth.
905 </li><li class="listitem">
906 Don’t require bluetooth to be enabled. This allows the
907 application to operate with USB devices or just show old
908 data without turning on the bluetooth radio.
909 </li><li class="listitem">
910 Recover old tracker positions when restarting
911 application. This finally allows you to safely stop and
912 restart the application without losing the last known
913 location of any tracker.
914 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_documentation_2"></a>F.11.4. Documentation</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
915 Document TeleMega and EasyMega additional pyro channel
916 continuity audio alert pattern.
917 </li></ul></div><p></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_release_notes_for_version_1_6_2"></a>F.12. Release Notes for Version 1.6.2</h2></div></div></div><p>Version 1.6.2 includes support for our updated TeleMega v2.0
918 product and bug fixes in in the flight software for all our boards
919 and ground station interfaces.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_12"></a>F.12.1. AltOS</h3></div></div></div><p>AltOS New Features:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
920 Add support for TeleMega v2.0 boards.
921 </li><li class="listitem">
922 Add PWM servo driver. There’s no higher level code using
923 this yet, but the driver allows testing of the TeleMega v2.0
924 servo output connector.
925 </li></ul></div><p>AltOS Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
926 Slow down telemetry packets to allow receiver to keep
927 up.
928 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_7"></a>F.12.2. AltosUI and TeleGPS Applications</h3></div></div></div><p>AltosUI and TeleGPS Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
929 Fix post-flight orientation computation when processing
930 TeleMega and EasyMega eeprom data files.
931 </li><li class="listitem">
932 Capture complete eeprom data even when there are invalid
933 entries in the data. This keeps reading eeprom contents and
934 writing the associated .eeprom file when an error is detected.
935 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_documentation_3"></a>F.12.3. Documentation</h3></div></div></div><p>We spent a bunch of time trying to improve our documentation</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
936 HTML versions now have a table of contents on the left side.
937 </li><li class="listitem">
938 EasyMini now has its own shorter manual.
939 </li><li class="listitem">
940 Provide links between sections in each document.
941 </li><li class="listitem">
942 Lots of minor rewriting and restructuring to avoid
943 duplication of information
944 </li></ul></div></div></div></div></div></body></html>