f2ecc18bbb7562f57f69de3f2f08a7df91cd25c3
[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_6">F.1. Release Notes for Version 1.8.6</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><dt><span class="section"><a href="#_micropeak">F.1.3. MicroPeak</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_5">F.2. Release Notes for Version 1.8.5</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_2">F.2.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_telegps_2">F.2.2. AltosUI, TeleGPS</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_4">F.3. Release Notes for Version 1.8.4</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_3">F.3.1. AltOS</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_3">F.4. Release Notes for Version 1.8.3</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">F.4.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_2">F.5. Release Notes for Version 1.8.2</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_2">F.5.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8_1">F.6. Release Notes for Version 1.8.1</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_3">F.6.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_8">F.7. Release Notes for Version 1.8</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_4">F.7.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_7">F.8. Release Notes for Version 1.7</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_and_telegps_applications_5">F.8.2. AltosUI and TeleGPS Applications</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_8">F.9. Release Notes for Version 1.6.8</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">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_5">F.10. Release Notes for Version 1.6.5</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_2">F.10.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.11. Release Notes for Version 1.6.4</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_telegps_and_altosdroid_applications_3">F.11.2. AltosUI, TeleGPS and AltosDroid Applications</a></span></dt><dt><span class="section"><a href="#_documentation">F.11.3. Documentation</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_3">F.12. Release Notes for Version 1.6.3</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_6">F.12.2. AltosUI and TeleGPS Applications</a></span></dt><dt><span class="section"><a href="#_altosdroid">F.12.3. AltosDroid</a></span></dt><dt><span class="section"><a href="#_documentation_2">F.12.4. Documentation</a></span></dt></dl></dd><dt><span class="section"><a href="#_release_notes_for_version_1_6_2">F.13. Release Notes for Version 1.6.2</a></span></dt><dd><dl><dt><span class="section"><a href="#_altos_13">F.13.1. AltOS</a></span></dt><dt><span class="section"><a href="#_altosui_and_telegps_applications_7">F.13.2. AltosUI and TeleGPS Applications</a></span></dt><dt><span class="section"><a href="#_documentation_3">F.13.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="#idm558">Configure AltosUI Dialog</a></dt><dt>7.7. <a href="#idm592">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="#idm692">Data Storage on Altus Metrum altimeters</a></dt><dt>E.1. <a href="#idm723">Altus Metrum Flight Computer Electronics</a></dt><dt>E.2. <a href="#idm763">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 launch
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 class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>Firmware versions older than 1.8.6 have a
419 bug which resets the time since launch to zero each
420 time a motor starts burning. Update firmware to get
421 the correct behavior.</p></div></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
422 for each flight log. The available space will
423 be divided into chunks of this size. A smaller
424 value will allow more flights to be stored, a
425 larger value will record data from longer
426 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
427 channels (Apogee and Main) to be used in different
428 configurations.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
429 Dual Deploy
430 </span></dt><dd>
431 This is the usual mode of operation; the
432 <span class="emphasis"><em>apogee</em></span> channel is fired at apogee and the
433 <span class="emphasis"><em>main</em></span> channel at the height above ground
434 specified by the <span class="emphasis"><em>Main Deploy Altitude</em></span> during
435 descent.
436 </dd><dt><span class="term">
437 Redundant Apogee
438 </span></dt><dd>
439 This fires both channels at apogee, the
440 <span class="emphasis"><em>apogee</em></span> channel first followed after a two
441 second delay by the <span class="emphasis"><em>main</em></span> channel.
442 </dd><dt><span class="term">
443 Redundant Main
444 </span></dt><dd>
445 This fires both channels at the height above
446 ground specified by the Main Deploy Altitude
447 setting during descent. The <span class="emphasis"><em>apogee</em></span> channel
448 is fired first, followed after a two second
449 delay by the <span class="emphasis"><em>main</em></span> channel.
450 </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
451 computers works best at 4000Hz, however if you
452 have more than one flight computer in a single
453 airframe, having all of them sound at the same
454 frequency can be confusing. This parameter
455 lets you adjust the base beeper frequency
456 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="idm558"></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
457 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
458 flash data to this directory. This
459 directory is also used as the staring point
460 when selecting data files for display or
461 export.</p><p>Click on the directory name to bring up a
462 directory choosing dialog, select a new
463 directory and click <span class="emphasis"><em>Select Directory</em></span> to
464 change where AltosUI reads and writes data
465 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)
466 and imperial units (feet and miles). This
467 affects the display of values use during
468 flight monitoring, configuration, data
469 graphing and all of the voice
470 announcements. It does not change the units
471 used when exporting to CSV files, those are
472 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
473 device to be dumped to the console from which
474 AltosUI was started. If you’ve started it from
475 an icon or menu entry, the output will simply
476 be discarded. This mode can be useful to debug
477 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
478 monitor window. Choose between the small,
479 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
480 interface appearances. The default selection
481 is supposed to match the native window system
482 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
483 AltosUI window that includes all of the
484 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
485 firmware.
486 EasyMini is
487 programmed directly
488 over USB (self programming). Please read
489 the directions for flashing devices in
490 <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="idm592"></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
491 computer to help test recovery systems
492 deployment.</p><p>Selecting the <span class="emphasis"><em>Fire Igniter</em></span> button brings up the
493 usual device selection dialog. Pick the desired
494 device. This brings up another window which shows the
495 current continuity test status for all of the pyro
496 channels.</p><p>Next, select the desired igniter to fire. This will
497 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>
498 button. The word <span class="emphasis"><em>Arm</em></span> is replaced by a countdown
499 timer indicating that you have 10 seconds to press the
500 <span class="emphasis"><em>Fire</em></span> button or the system will deactivate, at which
501 point you start over again at selecting the desired
502 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
503 fundamental modes, “idle” and “flight”.  Which of these modes
504 the firmware operates in is determined at start up
505 time.
506 Since
507 EasyMini doesn’t
508 have an
509 accelerometer we can use to determine orientation, “idle” mode
510 is selected if the board is connected via USB to a computer,
511 otherwise the board enters “flight” mode.</p><p>At power on, the altimeter will beep out the battery voltage
512 to the nearest tenth of a volt.  Each digit is represented by
513 a sequence of short “dit” beeps, with a pause between
514 digits. A zero digit is represented with one long “dah”
515 beep. Then there will be a short pause while the altimeter
516 completes initialization and self test, and decides which mode
517 to enter next.</p><p>In flight or “pad” mode, the altimeter engages the flight
518 state machine, goes into transmit-only mode to send telemetry,
519 and waits for launch to be detected.  Flight mode is indicated
520 by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
521 followed by beeps or flashes indicating the state of the
522 pyrotechnic igniter continuity.  One beep/flash indicates
523 apogee continuity, two beeps/flashes indicate main continuity,
524 three beeps/flashes indicate both apogee and main continuity,
525 and one longer “brap” sound which is made by rapidly
526 alternating between two tones indicates no continuity.  For a
527 dual deploy flight, make sure you’re getting three beeps or
528 flashes before launching!  For apogee-only or motor eject
529 flights, do what makes sense.</p><p>If idle mode is entered, you will hear an audible “di-dit” or
530 see two short flashes (“I” for idle), and the flight state
531 machine is disengaged, thus no ejection charges will fire.
532 Idle mode is useful for configuring the altimeter, for
533 extracting data from the on-board storage chip after
534 flight, and for ground testing pyro charges.</p><p>In “Idle” and “Pad” modes, once the mode indication
535 beeps/flashes and continuity indication has been sent, if
536 there is no space available to log the flight in on-board
537 memory, the flight computer will emit a warbling tone (much
538 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
539 the audio signals used.</p><p>Once landed, the flight computer will signal that by emitting
540 the “Landed” sound described above, after which it will beep
541 out the apogee height (in meters). Each digit is represented
542 by a sequence of short “dit” beeps, with a pause between
543 digits. A zero digit is represented with one long “dah”
544 beep. The flight computer will continue to report landed mode
545 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
546 for flight is ground testing the recovery system.</p><p>Just prep the rocket for flight, then power up the altimeter
547 in “idle”
548 mode.
549 You can now command the altimeter to fire the apogee
550 or main charges from a safe distance using your
551 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
552 very simple.  Even on our baro-only TeleMini and
553 EasyMini boards, the use of a Kalman filter means
554 there is no need to set a “mach delay”.  All of the
555 configurable parameters can be set using AltosUI. Read
556 <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.
557 When handled gently and properly installed in an air-frame, they
558 will deliver impressive results.  However, as with all electronic
559 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
560 extraordinary power density.  This is great because we can fly with
561 much less battery mass than if we used alkaline batteries or previous
562 generation rechargeable batteries… but if they are punctured
563 or their leads are allowed to short, they can and will release their
564 energy very rapidly!
565 Thus we recommend that you take some care when handling our batteries
566 and consider giving them some extra protection in your air-frame.  We
567 often wrap them in suitable scraps of closed-cell packing foam before
568 strapping them down, for example.</p></div><p>The barometric sensors used on all of our flight computers are
569 sensitive to sunlight.  In normal mounting situations, the baro sensor
570 and all of the other surface mount components
571 are “down” towards whatever the underlying mounting surface is, so
572 this is not normally a problem.  Please consider this when designing an
573 installation in an air-frame with a see-through plastic payload bay.  It
574 is particularly important to
575 consider this with TeleMini v1.0, both because the baro sensor is on the
576 “top” of the board, and because many model rockets with payload bays
577 use clear plastic for the payload bay!  Replacing these with an opaque
578 cardboard tube, painting them, or wrapping them with a layer of masking
579 tape are all reasonable approaches to keep the sensor out of direct
580 sunlight.</p><p>The barometric sensor sampling port must be able to “breathe”,
581 both by not being covered by foam or tape or other materials that might
582 directly block the hole on the top of the sensor, and also by having a
583 suitable static vent to outside air.</p><p>As with all other rocketry electronics, Altus Metrum altimeters must
584 be protected from exposure to corrosive motor exhaust and ejection
585 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
586 programmed directly over their USB connectors (self
587 programming).</p><p>You may wish to begin by ensuring you have current firmware
588 images.  These are distributed as part of the AltOS software
589 bundle that also includes the AltosUI ground station program.
590 Newer ground station versions typically work fine with older
591 firmware versions, so you don’t need to update your devices
592 just to try out new software features.  You can always
593 download the most recent version from
594 <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
595 connecting them to your computer over USB.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
596 Attach a battery if necessary and power switch to
597 the target device. Power up the device.
598 </li><li class="listitem">
599 Using a Micro USB cable, connect the target device to your
600 computer’s USB socket.
601 </li><li class="listitem">
602 Run AltosUI, and select <span class="emphasis"><em>Flash Image</em></span> from the File menu.
603 </li><li class="listitem">
604 Select the target device in the Device Selection dialog.
605 </li><li class="listitem">
606 Select the image you want to flash to the device,
607 which should have a name in the form
608 &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx,
609 such as EasyMini-v1.0-1.6.0.ihx.
610 </li><li class="listitem">
611 Make sure the configuration parameters are
612 reasonable looking. If the serial number and/or RF
613 configuration values aren’t right, you’ll need to
614 change them.
615 </li><li class="listitem">
616 Hit the <span class="emphasis"><em>OK</em></span> button and the software should proceed
617 to flash the device with new firmware, showing a
618 progress bar.
619 </li><li class="listitem">
620 Verify that the device is working by using the
621 <span class="emphasis"><em>Configure Altimeter</em></span> or <span class="emphasis"><em>Configure Groundstation</em></span>
622 item to check over the configuration.
623 </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
624 unable to boot. Not to worry, you can force the device to
625 start the boot loader instead, which will let you try to
626 flash the device again.</p><p>On each device, connecting two pins from one of the exposed
627 connectors will force the boot loader to start, even if the
628 regular operating system has been corrupted in some way.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
629 EasyMini
630 </span></dt><dd>
631 Connect pin 6 and pin 1 of the debug connector, which
632 is the six holes next to the beeper. Pin 1 can be
633 identified by the square pad around it, and then the
634 pins could sequentially across the board, making Pin 6
635 the one on the other end of the row.
636 </dd></dl></div><p>Once you’ve located the right pins:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
637 Turn the altimeter power off.
638 </li><li class="listitem">
639 Connect a battery.
640 </li><li class="listitem">
641 Connect the indicated terminals together with a
642 short piece of wire. Take care not to accidentally
643 connect anything else.
644 </li><li class="listitem">
645 Connect USB
646 </li><li class="listitem">
647 Turn the board power on.
648 </li></ol></div><p>The board should now be visible over USB as
649 <span class="emphasis"><em>AltosFlash</em></span> and be ready to receive firmware.  Once
650 the board has been powered up, you can remove the
651 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
652 during ascent and 10 samples per second during
653 descent.
654 Data are logged to
655 an on-board flash memory part, which can be partitioned into
656 several equal-sized blocks, one for each flight.</p><div class="table"><a id="idm692"></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,
657 each of a fixed maximum size. Increase the maximum size of
658 each log and you reduce the number of flights that can be
659 stored. Decrease the size and you can store more flights.</p><p>Configuration data is also stored in the flash memory on
660 EasyMini.
661 This consumes 64kB
662 of flash space.  This configuration space is not available
663 for storing flight log data.</p><p>To compute the amount of space needed for a single flight, you
664 can multiply the expected ascent time (in seconds) by 100
665 times bytes-per-sample, multiply the expected descent time (in
666 seconds) by 10 times the bytes per sample and add the two
667 together. That will slightly under-estimate the storage (in
668 bytes) needed for the flight.</p><p>The default size allows for several flights on each flight
669 computer.
670 You can adjust the size.</p><p>Altus Metrum flight computers will not overwrite existing
671 flight data, so be sure to download flight data and erase it
672 from the flight computer before it fills up. The flight
673 computer will still successfully control the flight even if it
674 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
675 production and retired.</p><div class="table"><a id="idm723"></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="idm763"></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_6"></a>F.1. Release Notes for Version 1.8.6</h2></div></div></div><p>Version 1.8.6</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">
676 Use maximum of 64 previous tilt values in pyro tilt tests
677 </li><li class="listitem">
678 Eliminate 100m height requirement for coast detection
679 </li><li class="listitem">
680 Change After Motor pyro check to be &gt;= instead of ==
681 </li><li class="listitem">
682 Change Time since Boost to be Time since launch.
683 </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">
684 Clarify pyro test phrasing
685 </li><li class="listitem">
686 Remove ascending/descending from pyro config UI
687 </li><li class="listitem">
688 Fix accel calibration in Antenna Down mode
689 </li><li class="listitem">
690 Add mag sensor reporting for TeleMega v3 idle monitoring.
691 </li><li class="listitem">
692 Fix radio parameter saving at 2400 bps telmetry rate.
693 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_micropeak"></a>F.1.3. MicroPeak</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
694 Report altimeter-recorded maximum height value
695 </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_5"></a>F.2. Release Notes for Version 1.8.5</h2></div></div></div><p>Version 1.8.5 includes fixes to the ground software support
696 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_2"></a>F.2.1. AltOS</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
697 Fix startup beeps that indicate sensor failures.
698 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_telegps_2"></a>F.2.2. AltosUI, TeleGPS</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
699 When updating device firmware, make sure selected firmware
700 matches target device.
701 </li><li class="listitem">
702 Correct Bluetooth device matching when looking for TeleBT
703 devices.
704 </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.3. 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_3"></a>F.3.1. AltOS</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
705 Support for EasyMini version 2.0 hardware.
706 </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.4. Release Notes for Version 1.8.3</h2></div></div></div><p>Version 1.8.3 includes support for TeleMega version 3.0 along
707 with two important flight computer fixes. This version also
708 changes KML export data to make Tripoli Record reporting
709 better and some updates to graph presentation and data
710 downloading.</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><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">
711 Support for TeleMega version 3.0 hardware.
712 </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">
713 Ground testing EasyMega and TeleMega additional pyro
714 channels could result in a sticky <span class="emphasis"><em>fired</em></span> status which would
715 prevent these channels from firing on future flights.
716 </li><li class="listitem">
717 Corrupted flight log records could prevent future flights
718 from capturing log data.
719 </li><li class="listitem">
720 Fixed saving of pyro configuration that ended with
721 <span class="emphasis"><em>Descending</em></span>.
722 </li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications"></a>F.4.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">
723 Support for TeleMega version 3.0.
724 </li><li class="listitem">
725 Graph lines have improved appearance to make them easier to
726 distinguish. Markers may be placed at data points to show
727 captured recorded data values.
728 </li><li class="listitem">
729 Graphing offers the ability to adjust the smoothing of
730 computed speed and acceleration data.
731 </li><li class="listitem">
732 The download dialog now offers to graph new flights, checks
733 for existing files to avoid overwriting data and reports if
734 there are checksum errors in the downloaded data.
735 </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">
736 Restore TeleGPS tracking behavior.
737 </li><li class="listitem">
738 Display flight computer call sign and serial number in
739 Monitor Idle mode instead of ground station values.
740 </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">
741 KML export now reports both barometric and GPS altitude data
742 to make it more useful for Tripoli record reporting.
743 </li><li class="listitem">
744 CSV export now includes TeleMega/EasyMega pyro voltages and
745 tilt angle.
746 </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.5. Release Notes for Version 1.8.2</h2></div></div></div><p>Version 1.8.2 includes support for TeleGPS version 2.0 along
747 with accelerometer recalibration support in AltosUI.</p><p>1.8.2 also contains a couple of minor fixes for AltosUI when
748 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 New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
749 Support for TeleGPS version 2.0 hardware.
750 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_2"></a>F.5.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">
751 Support for TeleGPS version 2.0.
752 </li><li class="listitem">
753 Accelerometer re-calibration user interface.
754 </li></ul></div><p>AltosUI and TeleGPS Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
755 Prevent some crashes when reading older saved flight data
756 for graphing or KML export.
757 </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.6. Release Notes for Version 1.8.1</h2></div></div></div><p>Version 1.8.1 includes an important bug fix for Apogee Lockout
758 operation in all flight computers. Anyone using this option
759 must update firmware.</p><p>This release also contains a change in how flight computers
760 with accelerometers deal with speeds around and above Mach
761 1. In previous versions, the flight computer would completely
762 disregard the barometric sensor above 330m/s (around Mach
763 1). Now, the data from the barometric sensor is reduced in
764 effect without ever going away entirely. This prevents early
765 drogue deployment for flights which spend considerable time
766 above Mach 1.</p><p>1.8.1 also contains a couple of minor fixes for AltosUI when
767 analyzing saved data files.</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 Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
768 Handle time value wrapping in Apogee Lockout
769 correctly. Without this, apogee lockout would sometimes
770 prevent any drogue charge from firing.
771 </li><li class="listitem">
772 Change Kalman filter on flight computers with accelerometer
773 to continue using the barometric sensor even at high speeds
774 to avoid unintentional drogue deployment during
775 deceleration.
776 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_3"></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">
777 Add new <span class="emphasis"><em>Huge</em></span> font size to make text even bigger on high
778 resolution monitors.
779 </li></ul></div><p>AltosUI Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
780 Prevent some crashes when reading older saved flight data
781 for graphing or KML export.
782 </li><li class="listitem">
783 Load frequency preference at startup. The loading code was
784 broken, so you’d see only the default frequencies.
785 </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.7. Release Notes for Version 1.8</h2></div></div></div><p>Version 1.8 includes support for our new TeleBT v4.0 ground
786 station, updates for data analysis in our ground station
787 software and bug fixes in in the flight software for all our
788 boards 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">
789 Add support for TeleBT v4.0 boards.
790 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_4"></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">
791 Add support for TeleBT v4.0 hardware
792 </li><li class="listitem">
793 Rewrite graphing and export functions. This code now handles
794 each data series separately so that graphs are drawn
795 correctly. Smoothing now uses a filter that looks both
796 forward and backwards in time to make computed speed and
797 acceleration data more accurate.
798 </li></ul></div><p>AltosUI Bug Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
799 Correct axis labeling of magnetic sensor in TeleMega and
800 EasyMega. The Y and Z axes were flipped.
801 </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.8. Release Notes for Version 1.7</h2></div></div></div><p>Version 1.7 includes support for our new TeleMini v3.0
802 flight computer and bug fixes in in the flight software for all our boards
803 and ground station interfaces.</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 New Features</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
804 Add support for TeleMini v3.0 boards.
805 </li></ul></div><p>AltOS Fixes</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
806 Fix interrupt priorities on STM32L processors. Run timer
807 interrupt at lowest priority so that device interrupts get
808 serviced first.
809 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_5"></a>F.8.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">
810 Add support for TeleMini v3.0 hardware
811 </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.9. 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
812 the device could stop logging data and transmitting
813 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
814 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">
815 Fix STM32L DMA driver to work around STM32L SoC DMA priority
816 issue t lock-up in the logging or radio code, either of
817 which could stop data logging and telemetry.
818 </li><li class="listitem">
819 Avoid having TeleBT battery status values smash telemetry
820 packet data by holding a lock during both operations.
821 </li><li class="listitem">
822 Don’t start reporting <span class="emphasis"><em>flight 0</em></span> when the log fills in
823 flight.
824 </li></ul></div><p>AltOS changes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
825 Flash LEDS on all products briefly during power up so that
826 they can be tested during production.
827 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_telegps_and_altosdroid_applications"></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">
828 Re-enable go/no-go entries after they’ve been disabled due
829 to lack of data. If telemetry information is delayed when
830 the Ui starts up, sometimes important fields would get
831 disabled to never re-appear.
832 </li><li class="listitem">
833 Deal with ground station failure better during Configure
834 Ground Station operation by cleaning up pending operations.
835 </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.10. 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
836 the device would often stop logging data and transmitting
837 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
838 v2.0 users should update their flight firmware.</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">
839 Fix STM32L SPI driver to prevent lock-up in the logging or
840 radio code, either of which could stop data logging and
841 telemetry. Found and characterized by Chuck Haskin, who also
842 tested the new firmware before release.
843 </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.10.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">
844 Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with
845 Windows package.
846 </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.11. Release Notes for Version 1.6.4</h2></div></div></div><p>Version 1.6.4 fixes a bluetooth communication problem with
847 TeleBT v1.0 devices, along with some altosui and altosdroid
848 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_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">
849 Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS
850 doesn’t seem to work, switch from using the hardware to
851 driving these pins with software.
852 </li><li class="listitem">
853 Fix ARM USB drivers to deal with OS restarts. Needed to
854 reset all USB-related state when the USB bus is reset. These
855 fixes affect all STM32L, STM32F0 and LPC11U14 based devices.
856 </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.11.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">
857 Automatically switch from meters or feet to kilometers or
858 miles for distance units.
859 </li><li class="listitem">
860 Add Monitor Idle mode to TeleGPS application.
861 </li></ul></div><p>AltosUI, TeleGPS and AltosDroid Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
862 Abort map preloading when the preload map dialog is closed.
863 </li><li class="listitem">
864 In AltosDroid, Don’t reconnect to last device if the user
865 had disconnected it the last time the application was
866 active.
867 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_documentation"></a>F.11.3. Documentation</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
868 Mention TeleMega v2.0 in hardware specs table.
869 </li><li class="listitem">
870 Document TeleGPS RF output in telegps manual.
871 </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.12. 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
872 for our host software on desktops, laptops an android devices
873 along with BlueTooth support for Windows.</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 fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
874 Fix hardware flow control on TeleBT v3.0. RTS/CTS is
875 wired backwards on this board, switch from using the
876 hardware to driving these pins with software.
877 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_6"></a>F.12.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">
878 Add BlueTooth support for Windows operating system. This
879 supports connections to TeleBT over BlueTooth rather than
880 just USB.
881 </li></ul></div><p>AltosUI and TeleGPS Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
882 Change Java detection and install on Windows. Detection is
883 now done by looking for the <span class="emphasis"><em>javaw.exe</em></span> program, and
884 installation by opening a browser on the java.com web site.
885 </li><li class="listitem">
886 Delay polling while the Fire Igniters is visible to allow
887 for TeleMega to report back complete status over the radio.
888 </li><li class="listitem">
889 Disallow changing RF calibration numbers in the
890 configuration UI. There’s no good reason to change this from
891 the field, and recovering is really hard if you haven’t
892 written down the right number.
893 </li><li class="listitem">
894 Fix USB device discovery on Mac OS X El Capitan. This makes
895 the connected Altus Metrum USB devices appear again.
896 </li><li class="listitem">
897 Fix acceleration data presented in MonitorIdle mode for
898 TeleMetrum v2.0 flight computers.
899 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosdroid"></a>F.12.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">
900 Monitor Idle mode. Check state of flight computer while in
901 idle mode over the radio link
902 </li><li class="listitem">
903 Fire Igniters. Remotely fire ignires for recovery system
904 ground tests.
905 </li><li class="listitem">
906 Remote reboot. Cause the flight computer to reboot over the
907 radio link. This provides a method for switching the flight
908 computer from idle to flight mode without needing to reach
909 the power switch.
910 </li><li class="listitem">
911 Configurable frequency menu. Change the set of available
912 frequencies and provide more descriptive names.
913 </li></ul></div><p>AltosDroid bug fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
914 Don’t set target location if GPS hasn’t locked yet.
915 </li><li class="listitem">
916 Fix saving target states so they can be reloaded when the
917 application restarts. When the application is shut down and
918 restarted, all previous target state information will be
919 restored (including GPS position if available).
920 </li><li class="listitem">
921 Fix crash on some Android devices for offline maps when
922 changing the map scale or location.
923 </li><li class="listitem">
924 Don’t require USB OTG support. This kept the latest
925 AltosDroid from being offered on devices without USB device
926 support, although it can work without that just fine using
927 BlueTooth.
928 </li><li class="listitem">
929 Don’t require bluetooth to be enabled. This allows the
930 application to operate with USB devices or just show old
931 data without turning on the bluetooth radio.
932 </li><li class="listitem">
933 Recover old tracker positions when restarting
934 application. This finally allows you to safely stop and
935 restart the application without losing the last known
936 location of any tracker.
937 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_documentation_2"></a>F.12.4. Documentation</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
938 Document TeleMega and EasyMega additional pyro channel
939 continuity audio alert pattern.
940 </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.13. Release Notes for Version 1.6.2</h2></div></div></div><p>Version 1.6.2 includes support for our updated TeleMega v2.0
941 product and bug fixes in in the flight software for all our boards
942 and ground station interfaces.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altos_13"></a>F.13.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">
943 Add support for TeleMega v2.0 boards.
944 </li><li class="listitem">
945 Add PWM servo driver. There’s no higher level code using
946 this yet, but the driver allows testing of the TeleMega v2.0
947 servo output connector.
948 </li></ul></div><p>AltOS Fixes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
949 Slow down telemetry packets to allow receiver to keep
950 up.
951 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_altosui_and_telegps_applications_7"></a>F.13.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">
952 Fix post-flight orientation computation when processing
953 TeleMega and EasyMega eeprom data files.
954 </li><li class="listitem">
955 Capture complete eeprom data even when there are invalid
956 entries in the data. This keeps reading eeprom contents and
957 writing the associated .eeprom file when an error is detected.
958 </li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_documentation_3"></a>F.13.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">
959 HTML versions now have a table of contents on the left side.
960 </li><li class="listitem">
961 EasyMini now has its own shorter manual.
962 </li><li class="listitem">
963 Provide links between sections in each document.
964 </li><li class="listitem">
965 Lots of minor rewriting and restructuring to avoid
966 duplication of information
967 </li></ul></div></div></div></div></div></body></html>