update docs
[web/altusmetrum] / AltOS / doc / easymini.html
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta name="generator" content="Asciidoctor 2.0.18">
8 <meta name="author" content="Keith Packard, Bdale Garbee">
9 <meta name="copyright" content="Bdale Garbee and Keith Packard 2022">
10 <title>EasyMini Owner&#8217;s Manual</title>
11 <link rel="stylesheet" href="./am.css">
12 </head>
13 <body class="book">
14 <div id="header">
15 <h1>EasyMini Owner&#8217;s Manual</h1>
16 <div class="details">
17 <span id="author" class="author">Keith Packard</span><br>
18 <span id="email" class="email"><a href="mailto:keithp@keithp.com">keithp@keithp.com</a></span><br>
19 <span id="author2" class="author">Bdale Garbee</span><br>
20 <span id="email2" class="email"><a href="mailto:bdale@gag.com">bdale@gag.com</a></span><br>
21 <span id="revnumber">version v1.9.13,</span>
22 <span id="revdate">19 Jan 2023</span>
23 </div>
24 <div id="toc" class="toc">
25 <div id="toctitle">Table of Contents</div>
26 <ul class="sectlevel1">
27 <li><a href="#_license">License</a></li>
28 <li><a href="#_acknowledgments">Acknowledgments</a></li>
29 <li><a href="#_introduction_and_overview">1. Introduction and Overview</a></li>
30 <li><a href="#_getting_started">2. Getting Started</a>
31 <ul class="sectlevel2">
32 <li><a href="#_batteries">2.1. Batteries</a></li>
33 <li><a href="#_linuxmacwindows_ground_station_software">2.2. Linux/Mac/Windows Ground Station Software</a></li>
34 </ul>
35 </li>
36 <li><a href="#_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</a>
37 <ul class="sectlevel2">
38 <li><a href="#_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</a></li>
39 <li><a href="#_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</a></li>
40 <li><a href="#_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</a></li>
41 <li><a href="#_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</a></li>
42 <li><a href="#_understanding_beeps">3.5. Understanding Beeps</a></li>
43 <li><a href="#_turning_on_the_power">3.6. Turning On the Power</a></li>
44 <li><a href="#_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</a></li>
45 <li><a href="#_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</a></li>
46 <li><a href="#_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</a></li>
47 <li><a href="#_using_packet_link_mode">3.10. Using Packet Link Mode</a></li>
48 </ul>
49 </li>
50 <li><a href="#_easymini">4. EasyMini</a>
51 <ul class="sectlevel2">
52 <li><a href="#_easymini_screw_terminals">4.1. EasyMini Screw Terminals</a></li>
53 <li><a href="#_connecting_a_battery_to_easymini">4.2. Connecting A Battery To EasyMini</a></li>
54 <li><a href="#_charging_lithium_batteries">4.3. Charging Lithium Batteries</a></li>
55 <li><a href="#_using_a_separate_pyro_battery_with_easymini">4.4. Using a Separate Pyro Battery with EasyMini</a></li>
56 <li><a href="#_using_an_active_switch_with_easymini">4.5. Using an Active Switch with EasyMini</a></li>
57 </ul>
58 </li>
59 <li><a href="#_installation">5. Installation</a></li>
60 <li><a href="#_using_altus_metrum_products">6. Using Altus Metrum Products</a>
61 <ul class="sectlevel2">
62 <li><a href="#_in_the_rocket">6.1. In the Rocket</a></li>
63 <li><a href="#_on_the_ground">6.2. On the Ground</a></li>
64 <li><a href="#_data_analysis">6.3. Data Analysis</a></li>
65 <li><a href="#_future_plans">6.4. Future Plans</a></li>
66 </ul>
67 </li>
68 <li><a href="#_altosui">7. AltosUI</a>
69 <ul class="sectlevel2">
70 <li><a href="#_save_flight_data">7.1. Save Flight Data</a></li>
71 <li><a href="#_replay_flight">7.2. Replay Flight</a></li>
72 <li><a href="#_graph_data">7.3. Graph Data</a></li>
73 <li><a href="#_export_data">7.4. Export Data</a></li>
74 <li><a href="#_configure_altimeter">7.5. Configure Altimeter</a></li>
75 <li><a href="#_configure_altosui">7.6. Configure AltosUI</a></li>
76 <li><a href="#_flash_image">7.7. Flash Image</a></li>
77 <li><a href="#_fire_igniter">7.8. Fire Igniter</a></li>
78 </ul>
79 </li>
80 <li><a href="#_system_operation">Appendix A: System Operation</a>
81 <ul class="sectlevel2">
82 <li><a href="#_firmware_modes">A.1. Firmware Modes</a></li>
83 <li><a href="#_ground_testing">A.2. Ground Testing</a></li>
84 <li><a href="#_configurable_parameters">A.3. Configurable Parameters</a></li>
85 </ul>
86 </li>
87 <li><a href="#_handling_precautions">Appendix B: Handling Precautions</a></li>
88 <li><a href="#_updating_device_firmware">Appendix C: Updating Device Firmware</a>
89 <ul class="sectlevel2">
90 <li><a href="#_updating_easymini_firmware">C.1. Updating EasyMini Firmware</a></li>
91 </ul>
92 </li>
93 <li><a href="#_flight_data_recording">Appendix D: Flight Data Recording</a></li>
94 <li><a href="#_altus_metrum_hardware_specifications">Appendix E: Altus Metrum Hardware Specifications</a></li>
95 <li><a href="#_release_notes">Appendix F: Release Notes</a>
96 <ul class="sectlevel2">
97 <li><a href="#_release_notes_for_version_1_9_13">F.1. Release Notes for Version 1.9.13</a></li>
98 <li><a href="#_release_notes_for_version_1_9_12">F.2. Release Notes for Version 1.9.12</a></li>
99 <li><a href="#_release_notes_for_version_1_9_11">F.3. Release Notes for Version 1.9.11</a></li>
100 <li><a href="#_release_notes_for_version_1_9_10">F.4. Release Notes for Version 1.9.10</a></li>
101 <li><a href="#_release_notes_for_version_1_9_9">F.5. Release Notes for Version 1.9.9</a></li>
102 <li><a href="#_release_notes_for_version_1_9_8">F.6. Release Notes for Version 1.9.8</a></li>
103 <li><a href="#_release_notes_for_version_1_9_7">F.7. Release Notes for Version 1.9.7</a></li>
104 <li><a href="#_release_notes_for_version_1_9_6">F.8. Release Notes for Version 1.9.6</a></li>
105 <li><a href="#_release_notes_for_version_1_9_5">F.9. Release Notes for Version 1.9.5</a></li>
106 <li><a href="#_release_notes_for_version_1_9_4">F.10. Release Notes for Version 1.9.4</a></li>
107 <li><a href="#_release_notes_for_version_1_9_3">F.11. Release Notes for Version 1.9.3</a></li>
108 <li><a href="#_release_notes_for_version_1_9_1">F.12. Release Notes for Version 1.9.1</a></li>
109 <li><a href="#_release_notes_for_version_1_9">F.13. Release Notes for Version 1.9</a></li>
110 <li><a href="#_release_notes_for_version_1_8_7">F.14. Release Notes for Version 1.8.7</a></li>
111 <li><a href="#_release_notes_for_version_1_8_6">F.15. Release Notes for Version 1.8.6</a></li>
112 <li><a href="#_release_notes_for_version_1_8_5">F.16. Release Notes for Version 1.8.5</a></li>
113 <li><a href="#_release_notes_for_version_1_8_4">F.17. Release Notes for Version 1.8.4</a></li>
114 <li><a href="#_release_notes_for_version_1_8_3">F.18. Release Notes for Version 1.8.3</a></li>
115 <li><a href="#_release_notes_for_version_1_8_2">F.19. Release Notes for Version 1.8.2</a></li>
116 <li><a href="#_release_notes_for_version_1_8_1">F.20. Release Notes for Version 1.8.1</a></li>
117 <li><a href="#_release_notes_for_version_1_8">F.21. Release Notes for Version 1.8</a></li>
118 <li><a href="#_release_notes_for_version_1_7">F.22. Release Notes for Version 1.7</a></li>
119 <li><a href="#_release_notes_for_version_1_6_8">F.23. Release Notes for Version 1.6.8</a></li>
120 <li><a href="#_release_notes_for_version_1_6_5">F.24. Release Notes for Version 1.6.5</a></li>
121 <li><a href="#_release_notes_for_version_1_6_4">F.25. Release Notes for Version 1.6.4</a></li>
122 <li><a href="#_release_notes_for_version_1_6_3">F.26. Release Notes for Version 1.6.3</a></li>
123 <li><a href="#_release_notes_for_version_1_6_2">F.27. Release Notes for Version 1.6.2</a></li>
124 </ul>
125 </li>
126 </ul>
127 </div>
128 </div>
129 <div id="content">
130 <div id="preamble">
131 <div class="sectionbody">
132 <div id="logo" class="imageblock">
133 <div class="content">
134 <a class="image" href="https://altusmetrum.org"><img src="altusmetrum-oneline.svg" alt="Altus Metrum"></a>
135 </div>
136 </div>
137 </div>
138 </div>
139 <div class="sect1">
140 <h2 id="_license">License</h2>
141 <div class="sectionbody">
142 <div class="paragraph">
143 <p>Copyright © 2023 Bdale Garbee and Keith Packard</p>
144 </div>
145 <div class="paragraph">
146 <p>This document is released under the terms of the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons ShareAlike 3.0 License</a></p>
147 </div>
148 </div>
149 </div>
150 <div class="sect1">
151 <h2 id="_acknowledgments">Acknowledgments</h2>
152 <div class="sectionbody">
153 <div class="paragraph">
154 <p>Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The
155 Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
156 Kit” which formed the basis of the original Getting Started chapter
157 in this manual.  Bob was one of our first customers for a production
158 TeleMetrum, and his continued enthusiasm and contributions
159 are immensely gratifying and highly appreciated!</p>
160 </div>
161 <div class="paragraph">
162 <p>And thanks to Anthony (AJ) Towns for major contributions including
163 the AltosUI graphing and site map code and associated documentation.
164 Free software means that our customers and friends can become our
165 collaborators, and we certainly appreciate this level of
166 contribution!</p>
167 </div>
168 <div class="paragraph">
169 <p>Have fun using these products, and we hope to meet all of you
170 out on the rocket flight line somewhere.</p>
171 </div>
172 <div class="verseblock">
173 <pre class="content">Bdale Garbee, KB0G
174 NAR #87103, TRA #12201</pre>
175 </div>
176 <div class="verseblock">
177 <pre class="content">Keith Packard, K7WQ
178 NAR #88757, TRA #12200</pre>
179 </div>
180 </div>
181 </div>
182 <div class="sect1">
183 <h2 id="_introduction_and_overview">1. Introduction and Overview</h2>
184 <div class="sectionbody">
185 <div class="paragraph">
186 <p>Welcome to the Altus Metrum community!  Our circuits and software reflect
187 our passion for both hobby rocketry and Free Software.  We hope their
188 capabilities and performance will delight you in every way, but by
189 releasing all of our hardware and software designs under open licenses,
190 we also hope to empower you to take as active a role in our collective
191 future as you wish!</p>
192 </div>
193 <div class="paragraph">
194 <p>Our goal is to include in this document all of the information required
195 to successfully configure and use Altus Metrum products.  But
196 documentation is a lot like software in that it can contain "bugs",
197 and can probably always be improved!  If you have questions that
198 aren&#8217;t answered in this manual, or just need a little help figuring
199 things out, we strongly suggest joining the Altus Metrum user email
200 list, which you can do by visiting
201 <a href="https://lists.gag.com/mailman/listinfo/altusmetrum" class="bare">https://lists.gag.com/mailman/listinfo/altusmetrum</a>.  There&#8217;s a lot
202 of useful information in the mailing list archives!</p>
203 </div>
204 <div class="paragraph">
205 <p>The first device created for our community was TeleMetrum, a dual
206 deploy altimeter with fully integrated GPS and radio telemetry
207 as standard features, and a “companion interface” that will
208 support optional capabilities in the future. The later versions
209 of TeleMetrum, v2 and newer, have all of the same features but with
210 improved sensors and radio to offer increased performance.</p>
211 </div>
212 <div class="paragraph">
213 <p>Our second device was TeleMini, a dual deploy altimeter with
214 radio telemetry and radio direction finding. The first version
215 of this device was only 13mm by 38mm (½ inch by 1½ inches) and
216 could fit easily in an 18mm air-frame. The latest version, v3.0,
217 includes a beeper, higher power radio, extended on-board
218 flight logging and an improved barometric sensor.</p>
219 </div>
220 <div class="paragraph">
221 <p>TeleMega is our most sophisticated device, including six pyro
222 channels (four of which are fully programmable), integrated GPS,
223 integrated gyroscopes for staging/air-start inhibit and high
224 performance telemetry.</p>
225 </div>
226 <div class="paragraph">
227 <p>EasyMini is a dual-deploy altimeter with logging and built-in
228 USB data download.</p>
229 </div>
230 <div class="paragraph">
231 <p>EasyMega is essentially a TeleMega board with the GPS receiver
232 and telemetry transmitter removed. It offers the same 6 pyro
233 channels and integrated gyroscopes for staging/air-start inhibit.</p>
234 </div>
235 <div class="paragraph">
236 <p>TeleDongle v0.2 was our first ground station, providing a USB to RF
237 interfaces for communicating with the altimeters. Combined with
238 your choice of antenna and notebook computer, TeleDongle and our
239 associated user interface software form a complete ground
240 station capable of logging and displaying in-flight telemetry,
241 aiding rocket recovery, then processing and archiving flight
242 data for analysis and review. The latest version, TeleDongle
243 v3, has all new electronics with a higher performance radio
244 for improved range.</p>
245 </div>
246 <div class="paragraph">
247 <p>For a slightly more portable ground station experience that also
248 provides direct rocket recovery support, TeleBT offers flight
249 monitoring and data logging using a  Bluetooth™ connection between
250 the receiver and an Android device that has the AltosDroid
251 application installed from the Google Play store.</p>
252 </div>
253 <div class="paragraph">
254 <p>More products will be added to the Altus Metrum family over time, and
255 we currently envision that this will be a single, comprehensive manual
256 for the entire product family.</p>
257 </div>
258 </div>
259 </div>
260 <div class="sect1">
261 <h2 id="_getting_started">2. Getting Started</h2>
262 <div class="sectionbody">
263 <div class="paragraph">
264 <p>The first thing to do after you open the box is to hook up a
265 battery and charge it if necessary.</p>
266 </div>
267 <div class="sect2">
268 <h3 id="_batteries">2.1. Batteries</h3>
269 <div class="paragraph">
270 <p>The Lithium Polymer
271 EasyMini battery can be charged by disconnecting it
272 from the board and plugging it into a standalone
273 battery charger such as <a href="http://altusmetrum.org/LipoCharger">LipoCharger</a>, and
274 connecting that via a USB cable to a laptop or other
275 USB power source.</p>
276 </div>
277 <div class="paragraph">
278 <p>You can also choose to use another battery with
279 EasyMini, anything supplying between 4 and 12 volts should
280 work fine (like a standard 9V battery), but if you are planning
281 to fire pyro charges, ground testing is required to verify that
282 the battery supplies enough current to fire your chosen e-matches.</p>
283 </div>
284 </div>
285 <div class="sect2">
286 <h3 id="_linuxmacwindows_ground_station_software">2.2. Linux/Mac/Windows Ground Station Software</h3>
287 <div class="paragraph">
288 <p>Next you should obtain and install the AltOS software.
289 The AltOS distribution includes the AltosUI ground
290 station program, current firmware images for all of
291 the hardware, and a number of standalone utilities
292 that are rarely needed.  Pre-built binary packages are
293 available for Linux, Microsoft Windows, Mac OSX. Full
294 source code and build instructions are also
295 available. The latest version may always be downloaded
296 from <a href="http://altusmetrum.org/AltOS" class="bare">http://altusmetrum.org/AltOS</a></p>
297 </div>
298 </div>
299 </div>
300 </div>
301 <div class="sect1">
302 <h2 id="_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</h2>
303 <div class="sectionbody">
304 <div class="paragraph">
305 <p>Here are general instructions for hooking up an Altus Metrum
306 flight computer. Instructions specific to each model will be
307 found in the section devoted to that model below.</p>
308 </div>
309 <div class="sect2">
310 <h3 id="_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</h3>
311 <div class="paragraph">
312 <p>To prevent electrical interference from affecting the
313 operation of the flight computer, it&#8217;s important to always
314 twist pairs of wires connected to the board. Twist the switch
315 leads, the pyro leads and the battery leads. This reduces
316 interference through a mechanism called common mode rejection.</p>
317 </div>
318 </div>
319 <div class="sect2">
320 <h3 id="_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</h3>
321 <div class="paragraph">
322 <p>All Altus Metrum flight computers have a two pin JST PH
323 series connector to connect up a single-cell Lithium Polymer
324 cell (3.7V nominal). You can purchase matching batteries
325 from the Altus Metrum store, or other vendors, or you can
326 make your own. Pin 1 of the connector is positive, pin 2 is
327 negative. Spark Fun sells a cable with the connector
328 attached, which they call a
329 <a href="https://www.sparkfun.com/products/9914">JST Jumper 2 Wire Assembly</a></p>
330 </div>
331 <div class="admonitionblock warning">
332 <table>
333 <tr>
334 <td class="icon">
335 <div class="title">Warning</div>
336 </td>
337 <td class="content">
338 Many RC vendors also sell lithium polymer batteries with
339 this same connector. All that we have found use the opposite
340 polarity, and if you use them that way, you will damage or
341 destroy the flight computer.
342 </td>
343 </tr>
344 </table>
345 </div>
346 </div>
347 <div class="sect2">
348 <h3 id="_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</h3>
349 <div class="paragraph">
350 <p>Altus Metrum flight computers always have two screws for
351 each pyro charge. This means you shouldn&#8217;t need to put two
352 wires into a screw terminal or connect leads from pyro
353 charges together externally.</p>
354 </div>
355 <div class="paragraph">
356 <p>On the flight computer, one lead from each charge is hooked
357 to the positive battery terminal through the power switch.
358 The other lead is connected through the pyro circuit, which
359 is connected to the negative battery terminal when the pyro
360 circuit is fired.</p>
361 </div>
362 </div>
363 <div class="sect2">
364 <h3 id="_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</h3>
365 <div class="paragraph">
366 <p>Altus Metrum flight computers need an external power switch
367 to turn them on. This disconnects both the computer and the
368 pyro charges from the battery, preventing the charges from
369 firing when in the Off position. The switch is in-line with
370 the positive battery terminal.</p>
371 </div>
372 </div>
373 <div class="sect2">
374 <h3 id="_understanding_beeps">3.5. Understanding Beeps</h3>
375 <div class="paragraph">
376 <p>Altus Metrum flight computers include a beeper to
377 provide information about the state of the system.</p>
378 </div>
379 <div class="paragraph">
380 <p>Here&#8217;s a short summary of all of the modes and the
381 beeping
382 that accompanies each mode. In the description of the
383 beeping pattern, “dit” means a short beep while "dah"
384 means a long beep (three times as long). “Brap” means
385 a long dissonant tone.</p>
386 </div>
387 <table class="tableblock frame-all grid-all stretch">
388 <caption class="title">Table 1. AltOS Modes</caption>
389 <colgroup>
390 <col style="width: 16.6666%;">
391 <col style="width: 16.6666%;">
392 <col style="width: 33.3333%;">
393 <col style="width: 33.3335%;">
394 </colgroup>
395 <tbody>
396 <tr>
397 <td class="tableblock halign-left valign-top"><p class="tableblock">Mode Name</p></td>
398 <td class="tableblock halign-left valign-top"><p class="tableblock">Abbreviation</p></td>
399 <td class="tableblock halign-left valign-top"><p class="tableblock">Beeps</p></td>
400 <td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
401 </tr>
402 <tr>
403 <td class="tableblock halign-left valign-top"><p class="tableblock">Startup</p></td>
404 <td class="tableblock halign-left valign-top"><p class="tableblock">S</p></td>
405 <td class="tableblock halign-left valign-top"><p class="tableblock">battery voltage in decivolts</p></td>
406 <td class="tableblock halign-left valign-top"><p class="tableblock">Calibrating sensors, detecting orientation.</p></td>
407 </tr>
408 <tr>
409 <td class="tableblock halign-left valign-top"><p class="tableblock">Idle</p></td>
410 <td class="tableblock halign-left valign-top"><p class="tableblock">I</p></td>
411 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
412 <td class="tableblock halign-left valign-top"><p class="tableblock">Ready to accept commands over USB</p></td>
413 </tr>
414 <tr>
415 <td class="tableblock halign-left valign-top"><p class="tableblock">Pad</p></td>
416 <td class="tableblock halign-left valign-top"><p class="tableblock">P</p></td>
417 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dah dit</p></td>
418 <td class="tableblock halign-left valign-top"><p class="tableblock">Waiting for launch. Not listening for commands.</p></td>
419 </tr>
420 <tr>
421 <td class="tableblock halign-left valign-top"><p class="tableblock">Boost</p></td>
422 <td class="tableblock halign-left valign-top"><p class="tableblock">B</p></td>
423 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dit</p></td>
424 <td class="tableblock halign-left valign-top"><p class="tableblock">Accelerating upwards.</p></td>
425 </tr>
426 <tr>
427 <td class="tableblock halign-left valign-top"><p class="tableblock">Fast</p></td>
428 <td class="tableblock halign-left valign-top"><p class="tableblock">F</p></td>
429 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dah dit</p></td>
430 <td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, but moving faster than 200m/s.</p></td>
431 </tr>
432 <tr>
433 <td class="tableblock halign-left valign-top"><p class="tableblock">Coast</p></td>
434 <td class="tableblock halign-left valign-top"><p class="tableblock">C</p></td>
435 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dah dit</p></td>
436 <td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, moving slower than 200m/s</p></td>
437 </tr>
438 <tr>
439 <td class="tableblock halign-left valign-top"><p class="tableblock">Drogue</p></td>
440 <td class="tableblock halign-left valign-top"><p class="tableblock">D</p></td>
441 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit</p></td>
442 <td class="tableblock halign-left valign-top"><p class="tableblock">Descending after apogee. Above main height.</p></td>
443 </tr>
444 <tr>
445 <td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
446 <td class="tableblock halign-left valign-top"><p class="tableblock">M</p></td>
447 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dah</p></td>
448 <td class="tableblock halign-left valign-top"><p class="tableblock">Descending. Below main height.</p></td>
449 </tr>
450 <tr>
451 <td class="tableblock halign-left valign-top"><p class="tableblock">Landed</p></td>
452 <td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
453 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dit dit</p></td>
454 <td class="tableblock halign-left valign-top"><p class="tableblock">Stable altitude for at least ten seconds.</p></td>
455 </tr>
456 <tr>
457 <td class="tableblock halign-left valign-top"><p class="tableblock">Sensor error</p></td>
458 <td class="tableblock halign-left valign-top"><p class="tableblock">X</p></td>
459 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dah</p></td>
460 <td class="tableblock halign-left valign-top"><p class="tableblock">Error detected during sensor calibration.</p></td>
461 </tr>
462 </tbody>
463 </table>
464 <div class="paragraph">
465 <p>Here&#8217;s a summary of all of the Pad and Idle mode
466 indications. In Idle mode, you&#8217;ll hear one of these
467 just once after the two short dits indicating idle
468 mode. In Pad mode, after the dit dah dah dit
469 indicating Pad mode, you&#8217;ll hear these once every five
470 seconds.</p>
471 </div>
472 <table class="tableblock frame-all grid-all stretch">
473 <caption class="title">Table 2. Pad/Idle Indications</caption>
474 <colgroup>
475 <col style="width: 20%;">
476 <col style="width: 20%;">
477 <col style="width: 60%;">
478 </colgroup>
479 <thead>
480 <tr>
481 <th class="tableblock halign-left valign-top">Name</th>
482 <th class="tableblock halign-left valign-top">Beeps</th>
483 <th class="tableblock halign-left valign-top">Description</th>
484 </tr>
485 </thead>
486 <tbody>
487 <tr>
488 <td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
489 <td class="tableblock halign-left valign-top"><p class="tableblock">brap</p></td>
490 <td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
491 </tr>
492 <tr>
493 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
494 <td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
495 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
496 </tr>
497 <tr>
498 <td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
499 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
500 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
501 </tr>
502 <tr>
503 <td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
504 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
505 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
506 </tr>
507 <tr>
508 <td class="tableblock halign-left valign-top"><p class="tableblock">Storage Full</p></td>
509 <td class="tableblock halign-left valign-top"><p class="tableblock">warble</p></td>
510 <td class="tableblock halign-left valign-top"><p class="tableblock">On-board data logging storage is full. This will
511 not prevent the flight computer from safely
512 controlling the flight or transmitting telemetry
513 signals, but no record of the flight will be
514 stored in on-board flash.</p></td>
515 </tr>
516 </tbody>
517 </table>
518 </div>
519 <div class="sect2">
520 <h3 id="_turning_on_the_power">3.6. Turning On the Power</h3>
521 <div class="paragraph">
522 <p>Connect a battery and power switch and turn the switch
523 to "on". The flight computer will signal power on by
524 reporting the battery voltage and then perform an internal self
525 test and sensor calibration.</p>
526 </div>
527 <div class="paragraph">
528 <p>Once the self test and calibration are complete, there
529 are two modes that an Altus Metrum flight computer can
530 operate in:</p>
531 </div>
532 <div class="dlist">
533 <dl>
534 <dt class="hdlist1">Flight/Pad</dt>
535 <dd>
536 <p>The flight computer is waiting to detect
537 launch and then fly the rocket. In this mode, the USB
538 link is
539 disabled.
540 The only way to get out of this
541 mode is to power the flight computer down. See below for how to get the flight
542 computer to come up in Flight/Pad mode at power on.</p>
543 </dd>
544 <dt class="hdlist1">Idle</dt>
545 <dd>
546 <p>The flight computer is ready to communicate over USB
547 You can configure
548 the flight computer, download data or display
549 the current state. See below for how to get the flight
550 computer to come up in Idle mode at power on.</p>
551 </dd>
552 </dl>
553 </div>
554 <div class="paragraph">
555 <p>For EasyMini, if the USB cable is connected to a
556 computer, it will enter Idle mode. Otherwise, it will
557 enter Flight/Pad mode.</p>
558 </div>
559 <div class="paragraph">
560 <p>You can see in <a href="#_understanding_beeps">Understanding Beeps</a>
561 how to tell which mode the flight computer is in.</p>
562 </div>
563 </div>
564 <div class="sect2">
565 <h3 id="_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</h3>
566 <div class="paragraph">
567 <p>You can use an active switch circuit, such as the
568 Featherweight Magnetic Switch, with any Altus Metrum
569 flight computer. These require three connections, one to
570 the battery, one to the positive power input on the flight
571 computer and one to ground. Find instructions on how to
572 hook these up for each flight computer below. Then follow
573 the instructions that come with your active switch to
574 connect it up.</p>
575 </div>
576 </div>
577 <div class="sect2">
578 <h3 id="_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</h3>
579 <div class="paragraph">
580 <p>As mentioned above in <a href="#_hooking_up_pyro_charges">Hooking Up Pyro Charges</a>, one
581 lead for each of the pyro charges is connected through
582 the power switch directly to the positive battery
583 terminal. The other lead is connected to the pyro
584 circuit, which connects it to the negative battery
585 terminal when the pyro circuit is fired. The pyro
586 circuit on all of the flight computers is designed to
587 handle up to 16V.</p>
588 </div>
589 <div class="paragraph">
590 <p>To use a separate pyro battery, connect the negative pyro
591 battery terminal to the flight computer ground terminal,
592 the the switched positive battery terminal to the igniter
593 and the other
594 igniter lead to the negative pyro terminal on the flight
595 computer. When the pyro channel fires, it will complete the
596 circuit between the negative pyro terminal and the ground
597 terminal, firing the igniter. Specific instructions on how
598 to hook this up for each flight computer will be found
599 in the section below for that flight computer.</p>
600 </div>
601 <div class="paragraph">
602 <p>Note that you must include a switch in the positive lead of
603 the pyro battery for safety, as the on-board power switch
604 circuit on our product only controls current flow from the
605 the primary or system battery!</p>
606 </div>
607 </div>
608 <div class="sect2">
609 <h3 id="_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</h3>
610 <div class="paragraph">
611 <p>EasyMini
612 is
613 designed to use either a
614 lithium polymer battery or any other battery producing
615 between 4 and 12 volts, such as a rectangular 9V
616 battery.</p>
617 </div>
618 </div>
619 <div class="sect2">
620 <h3 id="_using_packet_link_mode">3.10. Using Packet Link Mode</h3>
621 <div class="paragraph">
622 <p>All AltusMetrum flight computers that have a radio can
623 communicate with the ground station software for
624 configuration and other operations using the Packet
625 Link mode. This uses radio communication instead of a
626 USB cable. To set this up, the ground station software
627 must be configured to the correct data rate, frequency
628 and callsign.</p>
629 </div>
630 <div class="paragraph">
631 <p>You can monitor Packet Link mode from TeleBT or
632 TeleDongle by watching the LEDs. Each time the device
633 transmits, the red LED will flash. When the link is
634 busy, or when the link is not working, the device will
635 transmit 10 times per second, so the LED will flash
636 rapidly. When the link is working and there is no data
637 to send, the link will flash once per second, and the
638 LED will flash more slowly.</p>
639 </div>
640 </div>
641 </div>
642 </div>
643 <div class="sect1">
644 <h2 id="_easymini">4. EasyMini</h2>
645 <div class="sectionbody">
646 <div class="imageblock">
647 <div class="content">
648 <img src="easymini-top.jpg" alt="easymini top" width="400">
649 </div>
650 <div class="title">Figure 1. EasyMini Board</div>
651 </div>
652 <div class="paragraph">
653 <p>EasyMini is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
654 designed to fit in a 24mm coupler tube.</p>
655 </div>
656 <div class="paragraph">
657 <p>You usually don&#8217;t need to configure EasyMini at all; it&#8217;s set
658 up to do dual-deployment with an event at apogee to separate
659 the airframe and deploy a drogue and another event at 250m
660 (820ft) to deploy the main. Install EasyMini in your airframe,
661 hook up a battery, igniters and a power switch and you&#8217;re
662 ready to fly.</p>
663 </div>
664 <div class="sect2">
665 <h3 id="_easymini_screw_terminals">4.1. EasyMini Screw Terminals</h3>
666 <div class="paragraph">
667 <p>EasyMini has two sets of four screw terminals near one end of the
668 board. Using the picture
669 above, the top four have connections for the main pyro
670 circuit and an external battery and the bottom four have
671 connections for the apogee pyro circuit and the power
672 switch. Counting from the left, the connections are as follows:</p>
673 </div>
674 <table class="tableblock frame-all grid-all stretch">
675 <caption class="title">Table 3. EasyMini Screw Terminals</caption>
676 <colgroup>
677 <col style="width: 13.3333%;">
678 <col style="width: 20%;">
679 <col style="width: 66.6667%;">
680 </colgroup>
681 <thead>
682 <tr>
683 <th class="tableblock halign-left valign-top">Terminal #</th>
684 <th class="tableblock halign-left valign-top">Terminal Name</th>
685 <th class="tableblock halign-left valign-top">Description</th>
686 </tr>
687 </thead>
688 <tbody>
689 <tr>
690 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
691 <td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
692 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
693 </tr>
694 <tr>
695 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
696 <td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
697 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
698 </tr>
699 <tr>
700 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
701 <td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
702 <td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
703 </tr>
704 <tr>
705 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
706 <td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
707 <td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
708 </tr>
709 <tr>
710 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
711 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
712 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
713 </tr>
714 <tr>
715 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
716 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
717 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
718 </tr>
719 <tr>
720 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
721 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
722 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
723 </tr>
724 <tr>
725 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
726 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
727 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
728 </tr>
729 </tbody>
730 </table>
731 </div>
732 <div class="sect2">
733 <h3 id="_connecting_a_battery_to_easymini">4.2. Connecting A Battery To EasyMini</h3>
734 <div class="paragraph">
735 <p>There are two possible battery connections on
736 EasyMini. You can use either method; both feed
737 through the power switch terminals.</p>
738 </div>
739 <div class="paragraph">
740 <p>One battery connection is the standard Altus Metrum
741 white JST plug. This mates with single-cell Lithium
742 Polymer batteries sold by Altus Metrum.</p>
743 </div>
744 <div class="paragraph">
745 <p>The other is a pair of screw terminals marked 'Battery
746 +' and 'Battery -'. Connect a battery from 4 to 12
747 volts to these terminals, being careful to match polarity.</p>
748 </div>
749 </div>
750 <div class="sect2">
751 <h3 id="_charging_lithium_batteries">4.3. Charging Lithium Batteries</h3>
752 <div class="paragraph">
753 <p>Because EasyMini allows for batteries other than the
754 standard Altus Metrum Lithium Polymer cells, it cannot
755 incorporate a battery charger circuit. Therefore, when
756 using a Litium Polymer cell, you&#8217;ll need an external
757 charger. These are available from Altus Metrum, or
758 from Spark Fun.</p>
759 </div>
760 </div>
761 <div class="sect2">
762 <h3 id="_using_a_separate_pyro_battery_with_easymini">4.4. Using a Separate Pyro Battery with EasyMini</h3>
763 <div class="paragraph">
764 <p>As described above, using an external pyro battery involves
765 connecting the negative battery terminal to the flight
766 computer ground, connecting the positive battery terminal to
767 one of the igniter leads and connecting the other igniter
768 lead to the per-channel pyro circuit connection.</p>
769 </div>
770 <div class="paragraph">
771 <p>To connect the negative pyro battery terminal to EasyMini
772 ground, connect it to the negative external battery
773 connection, top terminal 4.</p>
774 </div>
775 <div class="paragraph">
776 <p>Connecting the switched positive battery terminal to the pyro
777 charges must be done separate from EasyMini, by soldering
778 them together or using some other connector.  Note that for
779 safety, you must put a switch between the pyro battery and
780 the rest of the circuit!</p>
781 </div>
782 <div class="paragraph">
783 <p>The other lead from each pyro charge is then inserted into
784 the appropriate per-pyro channel screw terminal (top
785 terminal 1 for the Main charge, bottom terminal 1 for the
786 Apogee charge).</p>
787 </div>
788 </div>
789 <div class="sect2">
790 <h3 id="_using_an_active_switch_with_easymini">4.5. Using an Active Switch with EasyMini</h3>
791 <div class="paragraph">
792 <p>As explained above, an external active switch requires three
793 connections, one to the positive battery terminal, one to
794 the flight computer positive input and one to ground. Use
795 the negative external battery connection, top terminal 4 for
796 ground.</p>
797 </div>
798 <div class="paragraph">
799 <p>The positive battery terminal is available on bottom
800 terminal 4, the positive flight computer input is on the
801 bottom terminal 3.</p>
802 </div>
803 </div>
804 </div>
805 </div>
806 <div class="sect1">
807 <h2 id="_installation">5. Installation</h2>
808 <div class="sectionbody">
809 <div class="paragraph">
810 <p>A typical installation involves attaching
811 only a suitable battery, a single pole switch for
812 power on/off, and two pairs of wires connecting e-matches for the
813 apogee and main ejection charges.  All Altus Metrum products are
814 designed for use with single-cell batteries with 3.7 volts
815 nominal.
816 EasyMini may also be used with other
817 batteries as long as they supply between 4 and 12 volts.</p>
818 </div>
819 <div class="paragraph">
820 <p>The battery connectors are a standard 2-pin JST connector; you
821 can purchase suitable batteries from the any vendor selling
822 Altus Metrum products. These batteries are
823 single-cell Lithium Polymer batteries that nominally provide 3.7
824 volts.  Other vendors sell similar batteries for RC aircraft
825 using mating connectors, however the polarity for those is
826 generally reversed from the batteries used by Altus Metrum
827 products. In particular, the Tenergy batteries supplied for use
828 in Featherweight flight computers are not compatible with Altus
829 Metrum flight computers or battery chargers.</p>
830 </div>
831 <div class="admonitionblock warning">
832 <table>
833 <tr>
834 <td class="icon">
835 <div class="title">Warning</div>
836 </td>
837 <td class="content">
838 Check polarity and voltage before connecting any battery not
839 purchased from Altus Metrum.
840 </td>
841 </tr>
842 </table>
843 </div>
844 <div class="admonitionblock warning">
845 <table>
846 <tr>
847 <td class="icon">
848 <div class="title">Warning</div>
849 </td>
850 <td class="content">
851 Spark Fun sells batteries that have a matching connector with
852 the correct polarity. However, these batteries include an
853 integrated current limiting circuit. That circuit will cause
854 the battery to shut down when firing the igniter circuit. Do
855 not use these batteries unless you remove the current limiting
856 circuit.
857 </td>
858 </tr>
859 </table>
860 </div>
861 <div class="paragraph">
862 <p>By default, we use the unregulated output of the battery
863 directly to fire ejection charges.  This works marvelously
864 with standard low-current e-matches like the J-Tek from MJG
865 Technologies, and with Quest Q2G2 igniters.  However, if you
866 want or need to use a separate pyro battery, check out
867 <a href="#_using_a_separate_pyro_battery">Using a Separate Pyro Battery</a> for instructions on how to wire
868 that up. The altimeters are designed to work with an external
869 pyro battery of no more than 15 volts.</p>
870 </div>
871 <div class="paragraph">
872 <p>Ejection charges are wired directly to the screw terminal block
873 at the aft end of the altimeter.  You&#8217;ll need a very small straight
874 blade screwdriver for these screws, such as you might find in a
875 jeweler&#8217;s screwdriver set.
876 The screw terminal block is also used for the power switch leads.</p>
877 </div>
878 </div>
879 </div>
880 <div class="sect1">
881 <h2 id="_using_altus_metrum_products">6. Using Altus Metrum Products</h2>
882 <div class="sectionbody">
883 <div class="sect2">
884 <h3 id="_in_the_rocket">6.1. In the Rocket</h3>
885 <div class="paragraph">
886 <p>In the rocket itself, you just need a flight computer
887 and a single-cell, 3.7 volt nominal Li-Po rechargeable
888 battery.
889 A 110mAh battery weighs less
890 than a triple A battery and is a good choice for use
891 with
892 EasyMini.</p>
893 </div>
894 </div>
895 <div class="sect2">
896 <h3 id="_on_the_ground">6.2. On the Ground</h3>
897 <div class="paragraph">
898 <p>The GUI tool, AltosUI, is written in Java and runs
899 across Linux, Mac OS and Windows. There&#8217;s also a suite
900 of C tools for Linux which can perform most of the
901 same tasks.</p>
902 </div>
903 <div class="paragraph">
904 <p>After the flight,
905 you can use a
906 USB cable to plug into the flight computer board directly.
907 A USB cable is also how you
908 charge the Li-Po battery, so you&#8217;ll want one of those
909 anyway. The same cable used by lots of digital
910 cameras and other modern electronic stuff will work
911 fine.</p>
912 </div>
913 </div>
914 <div class="sect2">
915 <h3 id="_data_analysis">6.3. Data Analysis</h3>
916 <div class="paragraph">
917 <p>Our software makes it easy to log the data from each
918 flight, both the telemetry received during the flight
919 itself, and the more complete data log recorded in the
920 flash memory on the altimeter board.  Once this data
921 is on your computer, our post-flight tools make it
922 easy to quickly get to the numbers everyone wants,
923 like apogee altitude, max acceleration, and max
924 velocity.  You can also generate and view a standard
925 set of plots showing the altitude, acceleration, and
926 velocity of the rocket during flight.  And you can
927 even export a flight log in a format usable with Google
928 Maps and Google Earth for visualizing the flight path
929 in two or three dimensions!</p>
930 </div>
931 <div class="paragraph">
932 <p>Our ultimate goal is to emit a set of files for each
933 flight that can be published as a web page per flight,
934 or just viewed on your local disk with a web browser.</p>
935 </div>
936 </div>
937 <div class="sect2">
938 <h3 id="_future_plans">6.4. Future Plans</h3>
939 <div class="paragraph">
940 <p>Because all of our work is open, both the hardware
941 designs and the software, if you have some great idea
942 for an addition to the current Altus Metrum family,
943 feel free to dive in and help!  Or let us know what
944 you&#8217;d like to see that we aren&#8217;t already working on,
945 and maybe we&#8217;ll get excited about it too&#8230;&#8203;</p>
946 </div>
947 <div class="paragraph">
948 <p>Watch our <a href="http://altusmetrum.org/">web site</a> for
949 more news and information as our family of products
950 evolves!</p>
951 </div>
952 </div>
953 </div>
954 </div>
955 <div class="sect1">
956 <h2 id="_altosui">7. AltosUI</h2>
957 <div class="sectionbody">
958 <div class="imageblock">
959 <div class="content">
960 <img src="altosui.png" alt="altosui" width="450">
961 </div>
962 <div class="title">Figure 2. AltosUI Main Window</div>
963 </div>
964 <div class="paragraph">
965 <p>The AltosUI program provides a graphical user interface for
966 interacting with the Altus Metrum product family. AltosUI can
967 monitor telemetry data, configure devices and many other
968 tasks. The primary interface window provides a selection of
969 buttons, one for each major activity in the system.  This
970 chapter is split into sections, each of which documents one of
971 the tasks provided from the top-level toolbar.</p>
972 </div>
973 <div class="sect2">
974 <h3 id="_save_flight_data">7.1. Save Flight Data</h3>
975 <div class="paragraph">
976 <p>The altimeter records flight data to its internal
977 flash memory.
978 The 'Save Flight Data' button allows you to
979 read the flash memory and write it to disk.</p>
980 </div>
981 <div class="paragraph">
982 <p>Clicking on the 'Save Flight Data' button brings up a
983 list of connected flight computers and TeleDongle
984 devices. If you select a flight computer, the flight
985 data will be downloaded from that device directly.</p>
986 </div>
987 <div class="paragraph">
988 <p>After the device has been selected, a dialog showing
989 the flight data saved in the device will be shown
990 allowing you to select which flights to download and
991 which to delete. With version 0.9 or newer firmware,
992 you must erase flights in order for the space they
993 consume to be reused by another flight. This prevents
994 accidentally losing flight data if you neglect to
995 download data before flying again. Note that if there
996 is no more space available in the device, then no data
997 will be recorded during the next flight.</p>
998 </div>
999 <div class="paragraph">
1000 <p>The file name for each flight log is computed
1001 automatically from the recorded flight date, altimeter
1002 serial number and flight number information.</p>
1003 </div>
1004 </div>
1005 <div class="sect2">
1006 <h3 id="_replay_flight">7.2. Replay Flight</h3>
1007 <div class="paragraph">
1008 <p>Select this button and you are prompted to select a flight
1009 record file, either a .telem file recording telemetry data or a
1010 .eeprom file containing flight data saved from the altimeter
1011 flash memory.</p>
1012 </div>
1013 <div class="paragraph">
1014 <p>Once a flight record is selected, the flight monitor interface
1015 is displayed and the flight is re-enacted in real
1016 time.</p>
1017 </div>
1018 </div>
1019 <div class="sect2">
1020 <h3 id="_graph_data">7.3. Graph Data</h3>
1021 <div class="paragraph">
1022 <p>Select this button and you are prompted to select a flight
1023 record file, either a .telem file recording telemetry data or a
1024 .eeprom file containing flight data saved from
1025 flash memory.</p>
1026 </div>
1027 <div class="paragraph">
1028 <p>Note that telemetry files will generally produce poor graphs
1029 due to the lower sampling rate and missed telemetry packets.
1030 Use saved flight data in .eeprom files for graphing where possible.</p>
1031 </div>
1032 <div class="paragraph">
1033 <p>Once a flight record is selected, a window with multiple tabs is
1034 opened.</p>
1035 </div>
1036 <div class="sect3">
1037 <h4 id="_flight_graph">7.3.1. Flight Graph</h4>
1038 <div class="imageblock">
1039 <div class="content">
1040 <img src="graph.png" alt="graph" width="400">
1041 </div>
1042 <div class="title">Figure 3. Flight Data Graph</div>
1043 </div>
1044 <div class="paragraph">
1045 <p>By default, the graph contains acceleration (blue),
1046 velocity (green) and altitude (red).</p>
1047 </div>
1048 <div class="paragraph">
1049 <p>The graph can be zoomed into a particular area by
1050 clicking and dragging down and to the right. Once
1051 zoomed, the graph can be reset by clicking and
1052 dragging up and to the left. Holding down control and
1053 clicking and dragging allows the graph to be panned.
1054 The right mouse button causes a pop-up menu to be
1055 displayed, giving you the option save or print the
1056 plot.</p>
1057 </div>
1058 </div>
1059 <div class="sect3">
1060 <h4 id="_configure_graph">7.3.2. Configure Graph</h4>
1061 <div class="imageblock">
1062 <div class="content">
1063 <img src="graph-configure.png" alt="graph configure" width="400">
1064 </div>
1065 <div class="title">Figure 4. Flight Graph Configuration</div>
1066 </div>
1067 <div class="paragraph">
1068 <p>This selects which graph elements to show, and, at the
1069 very bottom. It also lets you configure how
1070 the graph is drawn:</p>
1071 </div>
1072 <div class="ulist">
1073 <ul>
1074 <li>
1075 <p>Whether to use metric or imperial units</p>
1076 </li>
1077 <li>
1078 <p>Whether to show a marker at each data
1079 point. When displaying a small section of
1080 the graph, these can be useful to know what
1081 data values were recorded.</p>
1082 </li>
1083 <li>
1084 <p>How wide to draw the lines in the graph</p>
1085 </li>
1086 <li>
1087 <p>How to filter speed and acceleration data
1088 computed from barometric data. Flight
1089 computers with accelerometers never display
1090 computed acceleration data, and only use
1091 barometric data to compute speed during
1092 descent. Flight computers without
1093 accelerometers always compute both speed and
1094 acceleration from barometric data. A larger
1095 value smooths the data more.</p>
1096 </li>
1097 </ul>
1098 </div>
1099 </div>
1100 <div class="sect3">
1101 <h4 id="_flight_statistics">7.3.3. Flight Statistics</h4>
1102 <div class="imageblock">
1103 <div class="content">
1104 <img src="graph-stats.png" alt="graph stats" width="400">
1105 </div>
1106 <div class="title">Figure 5. Flight Statistics</div>
1107 </div>
1108 <div class="paragraph">
1109 <p>Shows overall data computed from the flight.</p>
1110 </div>
1111 </div>
1112 </div>
1113 <div class="sect2">
1114 <h3 id="_export_data">7.4. Export Data</h3>
1115 <div class="paragraph">
1116 <p>This tool takes the raw data files and makes them
1117 available for external analysis. When you select this
1118 button, you are prompted to select a flight data file,
1119 which can be either a .eeprom or .telem.  The .eeprom
1120 files contain higher resolution and more continuous
1121 data, while .telem files contain receiver signal
1122 strength information.  Next, a second dialog appears
1123 which is used to select where to write the resulting
1124 file.</p>
1125 </div>
1126 <div class="sect3">
1127 <h4 id="_comma_separated_value_format">7.4.1. Comma Separated Value Format</h4>
1128 <div class="paragraph">
1129 <p>This is a text file containing the data in a form
1130 suitable for import into a spreadsheet or other
1131 external data analysis tool. The first few lines of
1132 the file contain the version and configuration
1133 information from the altimeter, then there is a single
1134 header line which labels all of the fields. All of
1135 these lines start with a '#' character which many
1136 tools can be configured to skip over.</p>
1137 </div>
1138 <div class="paragraph">
1139 <p>The remaining lines of the file contain the data, with
1140 each field separated by a comma and at least one
1141 space. All of the sensor values are converted to
1142 standard units, with the barometric data reported in
1143 both pressure, altitude and height above pad units.</p>
1144 </div>
1145 </div>
1146 </div>
1147 <div class="sect2">
1148 <h3 id="_configure_altimeter">7.5. Configure Altimeter</h3>
1149 <div class="imageblock">
1150 <div class="content">
1151 <img src="configure-altimeter.png" alt="configure altimeter" width="350">
1152 </div>
1153 <div class="title">Figure 6. Altimeter Configuration</div>
1154 </div>
1155 <div class="paragraph">
1156 <p>Select this button and then select an altimeter.</p>
1157 </div>
1158 <div class="paragraph">
1159 <p>The first few lines of the dialog provide information about the
1160 connected device, including the product name,
1161 software version and hardware serial number. Below that are the
1162 individual configuration entries.</p>
1163 </div>
1164 <div class="paragraph">
1165 <p>At the bottom of the dialog, there are four buttons:</p>
1166 </div>
1167 <div class="dlist">
1168 <dl>
1169 <dt class="hdlist1">Save</dt>
1170 <dd>
1171 <p>This writes any changes to the configuration parameter
1172 block in flash memory. If you don&#8217;t press this button,
1173 any changes you make will be lost.</p>
1174 </dd>
1175 <dt class="hdlist1">Reset</dt>
1176 <dd>
1177 <p>This resets the dialog to the most recently saved
1178 values, erasing any changes you have made.</p>
1179 </dd>
1180 <dt class="hdlist1">Reboot</dt>
1181 <dd>
1182 <p>This reboots the device. Use this to switch from idle
1183 to pad mode by rebooting once the rocket is oriented
1184 for flight, or to confirm changes you think you saved
1185 are really saved.</p>
1186 </dd>
1187 <dt class="hdlist1">Close</dt>
1188 <dd>
1189 <p>This closes the dialog. Any unsaved changes will be
1190 lost.</p>
1191 </dd>
1192 </dl>
1193 </div>
1194 <div class="paragraph">
1195 <p>The rest of the dialog contains the parameters to be configured.</p>
1196 </div>
1197 <div class="sect3">
1198 <h4 id="_main_deploy_altitude">7.5.1. Main Deploy Altitude</h4>
1199 <div class="paragraph">
1200 <p>This sets the altitude (above the recorded pad
1201 altitude) at which the 'main' igniter will fire. The
1202 drop-down menu shows some common values, but you can
1203 edit the text directly and choose whatever you
1204 like. If the apogee charge fires below this altitude,
1205 then the main charge will fire two seconds after the
1206 apogee charge fires.</p>
1207 </div>
1208 </div>
1209 <div class="sect3">
1210 <h4 id="_apogee_delay">7.5.2. Apogee Delay</h4>
1211 <div class="paragraph">
1212 <p>When flying redundant electronics, it&#8217;s often
1213 important to ensure that multiple apogee charges don&#8217;t
1214 fire at precisely the same time, as that can over
1215 pressurize the apogee deployment bay and cause a
1216 structural failure of the air-frame. The Apogee Delay
1217 parameter tells the flight computer to fire the apogee
1218 charge a certain number of seconds after apogee has
1219 been detected.</p>
1220 </div>
1221 </div>
1222 <div class="sect3">
1223 <h4 id="_apogee_lockout">7.5.3. Apogee Lockout</h4>
1224 <div class="paragraph">
1225 <p>Apogee lockout is the number of seconds after launch
1226 where the flight computer will not fire the apogee
1227 charge, even if the rocket appears to be at
1228 apogee. This is often called 'Mach Delay', as it is
1229 intended to prevent a flight computer from
1230 unintentionally firing apogee charges due to the
1231 pressure spike that occurrs across a mach
1232 transition. Altus Metrum flight computers include a
1233 Kalman filter which is not fooled by this sharp
1234 pressure increase, and so this setting should be left
1235 at the default value of zero to disable it.</p>
1236 </div>
1237 <div class="admonitionblock warning">
1238 <table>
1239 <tr>
1240 <td class="icon">
1241 <div class="title">Warning</div>
1242 </td>
1243 <td class="content">
1244 Firmware versions older than 1.8.6 have a
1245 bug which resets the time since launch to zero each
1246 time a motor starts burning. Update firmware to get
1247 the correct behavior.
1248 </td>
1249 </tr>
1250 </table>
1251 </div>
1252 </div>
1253 <div class="sect3">
1254 <h4 id="_maximum_flight_log_size">7.5.4. Maximum Flight Log Size</h4>
1255 <div class="paragraph">
1256 <p>This sets the space (in kilobytes) allocated
1257 for each flight log. The available space will
1258 be divided into chunks of this size. A smaller
1259 value will allow more flights to be stored, a
1260 larger value will record data from longer
1261 flights.</p>
1262 </div>
1263 </div>
1264 <div class="sect3">
1265 <h4 id="_ignitor_firing_mode">7.5.5. Ignitor Firing Mode</h4>
1266 <div class="paragraph">
1267 <p>This configuration parameter allows the two standard ignitor
1268 channels (Apogee and Main) to be used in different
1269 configurations.</p>
1270 </div>
1271 <div class="dlist">
1272 <dl>
1273 <dt class="hdlist1">Dual Deploy</dt>
1274 <dd>
1275 <p>This is the usual mode of operation; the
1276 'apogee' channel is fired at apogee and the
1277 'main' channel at the height above ground
1278 specified by the 'Main Deploy Altitude' during
1279 descent.</p>
1280 </dd>
1281 <dt class="hdlist1">Redundant Apogee</dt>
1282 <dd>
1283 <p>This fires both channels at apogee, the
1284 'apogee' channel first followed after a two
1285 second delay by the 'main' channel.</p>
1286 </dd>
1287 <dt class="hdlist1">Redundant Main</dt>
1288 <dd>
1289 <p>This fires both channels at the height above
1290 ground specified by the Main Deploy Altitude
1291 setting during descent. The 'apogee' channel
1292 is fired first, followed after a two second
1293 delay by the 'main' channel.</p>
1294 </dd>
1295 <dt class="hdlist1">Separation &amp; Apogee</dt>
1296 <dd>
1297 <p>This fires the 'main' channel when the first motor
1298 burns out and fires the 'apogee' charge at apogee.</p>
1299 </dd>
1300 </dl>
1301 </div>
1302 </div>
1303 <div class="sect3">
1304 <h4 id="_beeper_frequency">7.5.6. Beeper Frequency</h4>
1305 <div class="paragraph">
1306 <p>The beeper on all Altus Metrum flight
1307 computers works best at 4000Hz, however if you
1308 have more than one flight computer in a single
1309 airframe, having all of them sound at the same
1310 frequency can be confusing. This parameter
1311 lets you adjust the base beeper frequency
1312 value.</p>
1313 </div>
1314 </div>
1315 </div>
1316 <div class="sect2">
1317 <h3 id="_configure_altosui">7.6. Configure AltosUI</h3>
1318 <div class="imageblock">
1319 <div class="content">
1320 <img src="configure-altosui.png" alt="configure altosui" width="230">
1321 </div>
1322 <div class="title">Figure 7. Configure AltosUI Dialog</div>
1323 </div>
1324 <div class="paragraph">
1325 <p>This button presents a dialog so that you can
1326 configure the AltosUI global settings.</p>
1327 </div>
1328 <div class="sect3">
1329 <h4 id="_log_directory">7.6.1. Log Directory</h4>
1330 <div class="paragraph">
1331 <p>AltosUI logs all telemetry data and saves all
1332 flash data to this directory. This
1333 directory is also used as the staring point
1334 when selecting data files for display or
1335 export.</p>
1336 </div>
1337 <div class="paragraph">
1338 <p>Click on the directory name to bring up a
1339 directory choosing dialog, select a new
1340 directory and click 'Select Directory' to
1341 change where AltosUI reads and writes data
1342 files.</p>
1343 </div>
1344 </div>
1345 <div class="sect3">
1346 <h4 id="_imperial_units">7.6.2. Imperial Units</h4>
1347 <div class="paragraph">
1348 <p>This switches between metric units (meters)
1349 and imperial units (feet and miles). This
1350 affects the display of values use during
1351 flight monitoring, configuration, data
1352 graphing and all of the voice
1353 announcements. It does not change the units
1354 used when exporting to CSV files, those are
1355 always produced in metric units.</p>
1356 </div>
1357 </div>
1358 <div class="sect3">
1359 <h4 id="_serial_debug">7.6.3. Serial Debug</h4>
1360 <div class="paragraph">
1361 <p>This causes all communication with a connected
1362 device to be dumped to the console from which
1363 AltosUI was started. If you&#8217;ve started it from
1364 an icon or menu entry, the output will simply
1365 be discarded. This mode can be useful to debug
1366 various serial communication issues.</p>
1367 </div>
1368 </div>
1369 <div class="sect3">
1370 <h4 id="_font_size">7.6.4. Font size</h4>
1371 <div class="paragraph">
1372 <p>Selects the set of fonts used in the flight
1373 monitor window. Choose between the small,
1374 medium and large sets.</p>
1375 </div>
1376 </div>
1377 <div class="sect3">
1378 <h4 id="_look_feel">7.6.5. Look &amp; feel</h4>
1379 <div class="paragraph">
1380 <p>Switches between the available Java user
1381 interface appearances. The default selection
1382 is supposed to match the native window system
1383 appearance for the target platform.</p>
1384 </div>
1385 </div>
1386 <div class="sect3">
1387 <h4 id="_menu_position">7.6.6. Menu position</h4>
1388 <div class="paragraph">
1389 <p>Selects the initial position for the main
1390 AltosUI window that includes all of the
1391 command buttons.</p>
1392 </div>
1393 </div>
1394 </div>
1395 <div class="sect2">
1396 <h3 id="_flash_image">7.7. Flash Image</h3>
1397 <div class="paragraph">
1398 <p>This reprograms Altus Metrum devices with new
1399 firmware.
1400 EasyMini is
1401 programmed directly
1402 over USB (self programming). Please read
1403 the directions for flashing devices in
1404 <a href="#_updating_device_firmware">Updating Device Firmware</a>.</p>
1405 </div>
1406 </div>
1407 <div class="sect2">
1408 <h3 id="_fire_igniter">7.8. Fire Igniter</h3>
1409 <div class="imageblock">
1410 <div class="content">
1411 <img src="fire-igniter.png" alt="fire igniter" width="120">
1412 </div>
1413 <div class="title">Figure 8. Fire Igniter Window</div>
1414 </div>
1415 <div class="paragraph">
1416 <p>This activates the igniter circuits in the flight
1417 computer to help test recovery systems
1418 deployment.</p>
1419 </div>
1420 <div class="paragraph">
1421 <p>Selecting the 'Fire Igniter' button brings up the
1422 usual device selection dialog. Pick the desired
1423 device. This brings up another window which shows the
1424 current continuity test status for all of the pyro
1425 channels.</p>
1426 </div>
1427 <div class="paragraph">
1428 <p>Next, select the desired igniter to fire. This will
1429 enable the 'Arm' button.</p>
1430 </div>
1431 <div class="paragraph">
1432 <p>Select the 'Arm' button. This enables the 'Fire'
1433 button. The word 'Arm' is replaced by a countdown
1434 timer indicating that you have 10 seconds to press the
1435 'Fire' button or the system will deactivate, at which
1436 point you start over again at selecting the desired
1437 igniter.</p>
1438 </div>
1439 </div>
1440 </div>
1441 </div>
1442 <div class="sect1">
1443 <h2 id="_system_operation">Appendix A: System Operation</h2>
1444 <div class="sectionbody">
1445 <div class="sect2">
1446 <h3 id="_firmware_modes">A.1. Firmware Modes</h3>
1447 <div class="paragraph">
1448 <p>The AltOS firmware build for the altimeters has two
1449 fundamental modes, “idle” and “flight”.  Which of these modes
1450 the firmware operates in is determined at start up
1451 time.
1452 Since
1453 EasyMini doesn&#8217;t
1454 have an
1455 accelerometer we can use to determine orientation, “idle” mode
1456 is selected if the board is connected via USB to a computer,
1457 otherwise the board enters “flight” mode.</p>
1458 </div>
1459 <div class="paragraph">
1460 <p>At power on, the altimeter will beep out the battery voltage
1461 to the nearest tenth of a volt.  Each digit is represented by
1462 a sequence of short “dit” beeps, with a pause between
1463 digits. A zero digit is represented with one long “dah”
1464 beep. Then there will be a short pause while the altimeter
1465 completes initialization and self test, and decides which mode
1466 to enter next.</p>
1467 </div>
1468 <div class="paragraph">
1469 <p>In flight or “pad” mode, the altimeter engages the flight
1470 state machine, goes into transmit-only mode to send telemetry,
1471 and waits for launch to be detected.  Flight mode is indicated
1472 by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
1473 followed by beeps or flashes indicating the state of the
1474 pyrotechnic igniter continuity.  One beep/flash indicates
1475 apogee continuity, two beeps/flashes indicate main continuity,
1476 three beeps/flashes indicate both apogee and main continuity,
1477 and one longer “brap” sound which is made by rapidly
1478 alternating between two tones indicates no continuity.  For a
1479 dual deploy flight, make sure you&#8217;re getting three beeps or
1480 flashes before launching!  For apogee-only or motor eject
1481 flights, do what makes sense.</p>
1482 </div>
1483 <div class="paragraph">
1484 <p>If idle mode is entered, you will hear an audible “di-dit” or
1485 see two short flashes (“I” for idle), and the flight state
1486 machine is disengaged, thus no ejection charges will fire.
1487 Idle mode is useful for configuring the altimeter, for
1488 extracting data from the on-board storage chip after
1489 flight, and for ground testing pyro charges.</p>
1490 </div>
1491 <div class="paragraph">
1492 <p>In “Idle” and “Pad” modes, once the mode indication
1493 beeps/flashes and continuity indication has been sent, if
1494 there is no space available to log the flight in on-board
1495 memory, the flight computer will emit a warbling tone (much
1496 slower than the “no continuity tone”)</p>
1497 </div>
1498 <div class="paragraph">
1499 <p>See <a href="#_understanding_beeps">Understanding Beeps</a> for a summary of all of
1500 the audio signals used.</p>
1501 </div>
1502 <div class="paragraph">
1503 <p>Once landed, the flight computer will signal that by emitting
1504 the “Landed” sound described above, after which it will beep
1505 out the apogee height (in meters). Each digit is represented
1506 by a sequence of short “dit” beeps, with a pause between
1507 digits. A zero digit is represented with one long “dah”
1508 beep. The flight computer will continue to report landed mode
1509 and beep out the maximum height until turned off.</p>
1510 </div>
1511 </div>
1512 <div class="sect2">
1513 <h3 id="_ground_testing">A.2. Ground Testing</h3>
1514 <div class="paragraph">
1515 <p>An important aspect of preparing a rocket using electronic deployment
1516 for flight is ground testing the recovery system.</p>
1517 </div>
1518 <div class="paragraph">
1519 <p>Just prep the rocket for flight, then power up the altimeter
1520 in “idle”
1521 mode.
1522 You can now command the altimeter to fire the apogee
1523 or main charges from a safe distance using your
1524 computer and the Fire Igniter tab to complete ejection testing.</p>
1525 </div>
1526 </div>
1527 <div class="sect2">
1528 <h3 id="_configurable_parameters">A.3. Configurable Parameters</h3>
1529 <div class="paragraph">
1530 <p>Configuring an Altus Metrum altimeter for flight is
1531 very simple.  Even on our baro-only TeleMini and
1532 EasyMini boards, the use of a Kalman filter means
1533 there is no need to set a “mach delay”.  All of the
1534 configurable parameters can be set using AltosUI. Read
1535 <a href="#_configure_altimeter">Configure Altimeter</a> for more information.</p>
1536 </div>
1537 </div>
1538 </div>
1539 </div>
1540 <div class="sect1">
1541 <h2 id="_handling_precautions">Appendix B: Handling Precautions</h2>
1542 <div class="sectionbody">
1543 <div class="paragraph">
1544 <p>All Altus Metrum products are sophisticated electronic devices.
1545 When handled gently and properly installed in an air-frame, they
1546 will deliver impressive results.  However, as with all electronic
1547 devices, there are some precautions you must take.</p>
1548 </div>
1549 <div class="admonitionblock warning">
1550 <table>
1551 <tr>
1552 <td class="icon">
1553 <div class="title">Warning</div>
1554 </td>
1555 <td class="content">
1556 The Lithium Polymer rechargeable batteries have an
1557 extraordinary power density.  This is great because we can fly with
1558 much less battery mass than if we used alkaline batteries or previous
1559 generation rechargeable batteries&#8230;&#8203; but if they are punctured
1560 or their leads are allowed to short, they can and will release their
1561 energy very rapidly!
1562 Thus we recommend that you take some care when handling our batteries
1563 and consider giving them some extra protection in your air-frame.  We
1564 often wrap them in suitable scraps of closed-cell packing foam before
1565 strapping them down, for example.
1566 </td>
1567 </tr>
1568 </table>
1569 </div>
1570 <div class="paragraph">
1571 <p>The barometric sensors used on all of our flight computers are
1572 sensitive to sunlight.  In normal mounting situations, the baro sensor
1573 and all of the other surface mount components
1574 are “down” towards whatever the underlying mounting surface is, so
1575 this is not normally a problem.  Please consider this when designing an
1576 installation in an air-frame with a see-through plastic payload bay.  It
1577 is particularly important to
1578 consider this with TeleMini v1.0, both because the baro sensor is on the
1579 “top” of the board, and because many model rockets with payload bays
1580 use clear plastic for the payload bay!  Replacing these with an opaque
1581 cardboard tube, painting them, or wrapping them with a layer of masking
1582 tape are all reasonable approaches to keep the sensor out of direct
1583 sunlight.</p>
1584 </div>
1585 <div class="paragraph">
1586 <p>The barometric sensor sampling port must be able to “breathe”,
1587 both by not being covered by foam or tape or other materials that might
1588 directly block the hole on the top of the sensor, and also by having a
1589 suitable static vent to outside air.</p>
1590 </div>
1591 <div class="paragraph">
1592 <p>As with all other rocketry electronics, Altus Metrum altimeters must
1593 be protected from exposure to corrosive motor exhaust and ejection
1594 charge gasses.</p>
1595 </div>
1596 </div>
1597 </div>
1598 <div class="sect1">
1599 <h2 id="_updating_device_firmware">Appendix C: Updating Device Firmware</h2>
1600 <div class="sectionbody">
1601 <div class="paragraph">
1602 <p>EasyMini is
1603 programmed directly over their USB connectors (self
1604 programming).</p>
1605 </div>
1606 <div class="paragraph">
1607 <p>TeleMini v3 can be updated directly over USB, but has no USB connector
1608 on the board.  Instead, the USB signals are present on a row of 6
1609 holes adjacent to the copyright assertion in the silk screen.  Thus,
1610 updating firmware on TeleMini v3 requires making up a special cable,
1611 after which you can treat it just like TeleMetrum or TeleMega.  Many
1612 USB cables seem to follow the color code of red is +5V, black is GND,
1613 green is USB +, and white is USB -.  On TeleMini v3, pin 3 which has
1614 a square copper pad is ground, pin 1 is USB -, and pin 2 is USB +.</p>
1615 </div>
1616 <div class="paragraph">
1617 <p>You may wish to begin by ensuring you have current firmware
1618 images.  These are distributed as part of the AltOS software
1619 bundle that also includes the AltosUI ground station program.
1620 Newer ground station versions typically work fine with older
1621 firmware versions, so you don&#8217;t need to update your devices
1622 just to try out new software features.  You can always
1623 download the most recent version from
1624 <a href="http://www.altusmetrum.org/AltOS/" class="bare">http://www.altusmetrum.org/AltOS/</a></p>
1625 </div>
1626 <div class="sect2">
1627 <h3 id="_updating_easymini_firmware">C.1. Updating EasyMini Firmware</h3>
1628 <div class="paragraph">
1629 <p>Self-programmable devices are reprogrammed by
1630 connecting them to your computer over USB.</p>
1631 </div>
1632 <div class="olist arabic">
1633 <ol class="arabic">
1634 <li>
1635 <p>Attach a battery if necessary and power switch to
1636 the target device. Power up the device.</p>
1637 </li>
1638 <li>
1639 <p>Using a Micro USB cable, connect the target device to your
1640 computer&#8217;s USB socket.  If the target is a TeleMini v3,
1641 make up and attach a special USB cable.</p>
1642 </li>
1643 <li>
1644 <p>Run AltosUI, and select 'Flash Image' from the File menu.</p>
1645 </li>
1646 <li>
1647 <p>Select the target device in the Device Selection dialog.</p>
1648 </li>
1649 <li>
1650 <p>Select the image you want to flash to the device,
1651 which should have a name in the form
1652 &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx,
1653 such as EasyMini-v1.0-1.6.0.ihx.</p>
1654 </li>
1655 <li>
1656 <p>Make sure the configuration parameters are
1657 reasonable looking. If the serial number and/or RF
1658 configuration values aren&#8217;t right, you&#8217;ll need to
1659 change them.</p>
1660 </li>
1661 <li>
1662 <p>Hit the 'OK' button and the software should proceed
1663 to flash the device with new firmware, showing a
1664 progress bar.</p>
1665 </li>
1666 <li>
1667 <p>Verify that the device is working by using the
1668 'Configure Altimeter' or 'Configure Groundstation'
1669 item to check over the configuration.</p>
1670 </li>
1671 </ol>
1672 </div>
1673 <div class="sect3">
1674 <h4 id="_recovering_from_self_flashing_failure">C.1.1. Recovering From Self-Flashing Failure</h4>
1675 <div class="paragraph">
1676 <p>If the firmware loading fails, it can leave the device
1677 unable to boot. Not to worry, you can force the device to
1678 start the boot loader instead, which will let you try to
1679 flash the device again.</p>
1680 </div>
1681 <div class="paragraph">
1682 <p>On each device, connecting two pins from one of the exposed
1683 connectors will force the boot loader to start, even if the
1684 regular operating system has been corrupted in some way.</p>
1685 </div>
1686 <div class="dlist">
1687 <dl>
1688 <dt class="hdlist1">EasyMini</dt>
1689 <dd>
1690 <p>Connect pin 6 and pin 1 of the debug connector, which
1691 is the six holes next to the beeper. Pin 1 can be
1692 identified by the square pad around it, and then the
1693 pins count sequentially across the board, making Pin 6
1694 the one on the other end of the row.</p>
1695 </dd>
1696 <dt class="hdlist1">TeleGPS v1</dt>
1697 <dd>
1698 <p>Connect pin 32 on the CPU to ground.  Pin 32 is the
1699 right-most pin on the bottom edge of the CPU when the
1700 board is oriented with the USB and battery connectors
1701 to the right.</p>
1702 </dd>
1703 <dt class="hdlist1">TeleGPS v2</dt>
1704 <dd>
1705 <p>Connect together pins 1 and 5 of the Debug connector.
1706 Pin 1 is the pin with the square pad around the hole.</p>
1707 </dd>
1708 </dl>
1709 </div>
1710 <div class="paragraph">
1711 <p>Once you&#8217;ve located the right pins:</p>
1712 </div>
1713 <div class="olist arabic">
1714 <ol class="arabic">
1715 <li>
1716 <p>Turn the altimeter power off.</p>
1717 </li>
1718 <li>
1719 <p>Connect a battery.</p>
1720 </li>
1721 <li>
1722 <p>Connect the indicated terminals together with a
1723 short piece of wire. Take care not to accidentally
1724 connect anything else.</p>
1725 </li>
1726 <li>
1727 <p>Connect USB</p>
1728 </li>
1729 <li>
1730 <p>Turn the board power on.</p>
1731 </li>
1732 </ol>
1733 </div>
1734 <div class="paragraph">
1735 <p>The board should now be visible over USB as
1736 'AltosFlash' and be ready to receive firmware.  Once
1737 the board has been powered up, you can remove the
1738 piece of wire.</p>
1739 </div>
1740 </div>
1741 </div>
1742 </div>
1743 </div>
1744 <div class="sect1">
1745 <h2 id="_flight_data_recording">Appendix D: Flight Data Recording</h2>
1746 <div class="sectionbody">
1747 <div class="paragraph">
1748 <p>Each flight computer logs data at 100 samples per second
1749 during ascent and 10 samples per second during
1750 descent.
1751 Data are logged to
1752 an on-board flash memory part, which can be partitioned into
1753 several equal-sized blocks, one for each flight.</p>
1754 </div>
1755 <table class="tableblock frame-all grid-all stretch">
1756 <caption class="title">Table 4. Data Storage on Altus Metrum altimeters</caption>
1757 <colgroup>
1758 <col style="width: 25%;">
1759 <col style="width: 25%;">
1760 <col style="width: 25%;">
1761 <col style="width: 25%;">
1762 </colgroup>
1763 <thead>
1764 <tr>
1765 <th class="tableblock halign-left valign-top">Device</th>
1766 <th class="tableblock halign-left valign-top">Bytes per Sample</th>
1767 <th class="tableblock halign-left valign-top">Total Storage</th>
1768 <th class="tableblock halign-left valign-top">Minutes at Full Rate</th>
1769 </tr>
1770 </thead>
1771 <tbody>
1772 <tr>
1773 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
1774 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
1775 <td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
1776 <td class="tableblock halign-left valign-top"><p class="tableblock">10</p></td>
1777 </tr>
1778 </tbody>
1779 </table>
1780 <div class="paragraph">
1781 <p>The on-board flash is partitioned into separate flight logs,
1782 each of a fixed maximum size. Increase the maximum size of
1783 each log and you reduce the number of flights that can be
1784 stored. Decrease the size and you can store more flights.</p>
1785 </div>
1786 <div class="paragraph">
1787 <p>Configuration data is also stored in the flash memory on
1788 EasyMini.
1789 This consumes 64kB
1790 of flash space.  This configuration space is not available
1791 for storing flight log data.</p>
1792 </div>
1793 <div class="paragraph">
1794 <p>To compute the amount of space needed for a single flight, you
1795 can multiply the expected ascent time (in seconds) by 100
1796 times bytes-per-sample, multiply the expected descent time (in
1797 seconds) by 10 times the bytes per sample and add the two
1798 together. That will slightly under-estimate the storage (in
1799 bytes) needed for the flight.</p>
1800 </div>
1801 <div class="paragraph">
1802 <p>The default size allows for several flights on each flight
1803 computer.
1804 You can adjust the size.</p>
1805 </div>
1806 <div class="paragraph">
1807 <p>Altus Metrum flight computers will not overwrite existing
1808 flight data, so be sure to download flight data and erase it
1809 from the flight computer before it fills up. The flight
1810 computer will still successfully control the flight even if it
1811 cannot log data, so the only thing you will lose is the data.</p>
1812 </div>
1813 </div>
1814 </div>
1815 <div class="sect1">
1816 <h2 id="_altus_metrum_hardware_specifications">Appendix E: Altus Metrum Hardware Specifications</h2>
1817 <div class="sectionbody">
1818 <div class="paragraph">
1819 <p>Here&#8217;s the full set of Altus Metrum products, both in
1820 production and retired.</p>
1821 </div>
1822 <table class="tableblock frame-all grid-all stretch">
1823 <caption class="title">Table 5. Altus Metrum Flight Computer Electronics</caption>
1824 <colgroup>
1825 <col style="width: 12.5%;">
1826 <col style="width: 12.5%;">
1827 <col style="width: 12.5%;">
1828 <col style="width: 12.5%;">
1829 <col style="width: 12.5%;">
1830 <col style="width: 12.5%;">
1831 <col style="width: 12.5%;">
1832 <col style="width: 12.5%;">
1833 </colgroup>
1834 <thead>
1835 <tr>
1836 <th class="tableblock halign-left valign-top">Device</th>
1837 <th class="tableblock halign-left valign-top">Barometer</th>
1838 <th class="tableblock halign-left valign-top">Z-axis accel</th>
1839 <th class="tableblock halign-left valign-top">GPS</th>
1840 <th class="tableblock halign-left valign-top">3D sensors</th>
1841 <th class="tableblock halign-left valign-top">Storage</th>
1842 <th class="tableblock halign-left valign-top">RF Output</th>
1843 <th class="tableblock halign-left valign-top">Battery</th>
1844 </tr>
1845 </thead>
1846 <tbody>
1847 <tr>
1848 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini v1.0-v3.0</p></td>
1849 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
1850 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
1851 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
1852 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
1853 <td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
1854 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
1855 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
1856 </tr>
1857 </tbody>
1858 </table>
1859 <div style="page-break-after: always;"></div>
1860 <table class="tableblock frame-all grid-all stretch">
1861 <caption class="title">Table 6. Altus Metrum Flight Computer Mechanical Components</caption>
1862 <colgroup>
1863 <col style="width: 16.6666%;">
1864 <col style="width: 16.6666%;">
1865 <col style="width: 16.6666%;">
1866 <col style="width: 16.6666%;">
1867 <col style="width: 16.6666%;">
1868 <col style="width: 16.667%;">
1869 </colgroup>
1870 <thead>
1871 <tr>
1872 <th class="tableblock halign-left valign-top">Device</th>
1873 <th class="tableblock halign-left valign-top">Connectors</th>
1874 <th class="tableblock halign-left valign-top">Screw Terminals</th>
1875 <th class="tableblock halign-left valign-top">Width</th>
1876 <th class="tableblock halign-left valign-top">Length</th>
1877 <th class="tableblock halign-left valign-top">Tube Size</th>
1878 </tr>
1879 </thead>
1880 <tbody>
1881 <tr>
1882 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
1883 <td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
1884 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery</p></td>
1885 <td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
1886 <td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
1887 <td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
1888 </tr>
1889 </tbody>
1890 </table>
1891 </div>
1892 </div>
1893 <div class="sect1">
1894 <h2 id="_release_notes">Appendix F: Release Notes</h2>
1895 <div class="sectionbody">
1896 <div class="sect2">
1897 <h3 id="_release_notes_for_version_1_9_13">F.1. Release Notes for Version 1.9.13</h3>
1898 <div class="paragraph">
1899 <p>Version 1.9.13</p>
1900 </div>
1901 <div class="sect3">
1902 <h4 id="_altos">F.1.1. AltOS</h4>
1903 <div class="ulist">
1904 <ul>
1905 <li>
1906 <p>Add option to beep max height in feet after landing</p>
1907 </li>
1908 <li>
1909 <p>Fix APRS reports to be sent at the correct time and spacing.</p>
1910 </li>
1911 <li>
1912 <p>Fix possible barometric sensor communication failure when
1913 the CPU is busy talking to the radio at the same time. This
1914 would cause loss of telemetry and failure to track the state
1915 of the rocket during flight. This was aggrevated by the APRS
1916 reports getting sent more often than they should.</p>
1917 </li>
1918 <li>
1919 <p>Change EasyMotor v3 code to base logging on motor pressure
1920 rather than the accelerometer. This allows use of EasyMotor
1921 v3 in a static test stand.</p>
1922 </li>
1923 </ul>
1924 </div>
1925 </div>
1926 <div class="sect3">
1927 <h4 id="_altosui_2">F.1.2. AltosUI</h4>
1928 <div class="ulist">
1929 <ul>
1930 <li>
1931 <p>Add support for configuring the units used to report height
1932 after landing on the beeper.</p>
1933 </li>
1934 </ul>
1935 </div>
1936 <div style="page-break-after: always;"></div>
1937 </div>
1938 </div>
1939 <div class="sect2">
1940 <h3 id="_release_notes_for_version_1_9_12">F.2. Release Notes for Version 1.9.12</h3>
1941 <div class="paragraph">
1942 <p>Version 1.9.12</p>
1943 </div>
1944 <div class="sect3">
1945 <h4 id="_altos_2">F.2.1. AltOS</h4>
1946 <div class="ulist">
1947 <ul>
1948 <li>
1949 <p>Add EasyMini v3.0 and EasyMotor v3.0 support</p>
1950 </li>
1951 <li>
1952 <p>Fix TeleMetrum v2.0 configuration. Saving config would
1953 crash the board.</p>
1954 </li>
1955 </ul>
1956 </div>
1957 </div>
1958 <div class="sect3">
1959 <h4 id="_altosui_3">F.2.2. AltosUI</h4>
1960 <div class="ulist">
1961 <ul>
1962 <li>
1963 <p>Add EasyMotor log parsing and graphing.</p>
1964 </li>
1965 </ul>
1966 </div>
1967 <div style="page-break-after: always;"></div>
1968 </div>
1969 </div>
1970 <div class="sect2">
1971 <h3 id="_release_notes_for_version_1_9_11">F.3. Release Notes for Version 1.9.11</h3>
1972 <div class="paragraph">
1973 <p>Version 1.9.11</p>
1974 </div>
1975 <div class="sect3">
1976 <h4 id="_altos_3">F.3.1. AltOS</h4>
1977 <div class="ulist">
1978 <ul>
1979 <li>
1980 <p>Make Apogee Delay work again.</p>
1981 </li>
1982 <li>
1983 <p>Allow TX power to be limited to 10mW for compliance with
1984 some uses under UK regulations.</p>
1985 </li>
1986 <li>
1987 <p>Fix numerous minor issues with 16- vs 32- bit time values.</p>
1988 </li>
1989 </ul>
1990 </div>
1991 </div>
1992 <div class="sect3">
1993 <h4 id="_altosui_4">F.3.2. AltosUI</h4>
1994 <div class="ulist">
1995 <ul>
1996 <li>
1997 <p>Support M1-based Macs, follow AdoptOpenJDK to Adoptium</p>
1998 </li>
1999 </ul>
2000 </div>
2001 </div>
2002 <div class="sect3">
2003 <h4 id="_altosdroid">F.3.3. AltosDroid</h4>
2004 <div class="ulist">
2005 <ul>
2006 <li>
2007 <p>Handle Bluetooth permissions reliably.</p>
2008 </li>
2009 <li>
2010 <p>Fix some screen rotation bugs.</p>
2011 </li>
2012 </ul>
2013 </div>
2014 <div style="page-break-after: always;"></div>
2015 </div>
2016 </div>
2017 <div class="sect2">
2018 <h3 id="_release_notes_for_version_1_9_10">F.4. Release Notes for Version 1.9.10</h3>
2019 <div class="paragraph">
2020 <p>Version 1.9.10</p>
2021 </div>
2022 <div class="paragraph">
2023 <p>This release contains a couple of bug fixes for ground station software.</p>
2024 </div>
2025 <div class="sect3">
2026 <h4 id="_altosui_5">F.4.1. AltosUI</h4>
2027 <div class="ulist">
2028 <ul>
2029 <li>
2030 <p>Rework the windows DLL build to make AltosUI run on more
2031 instances of Windows 10.</p>
2032 </li>
2033 </ul>
2034 </div>
2035 </div>
2036 <div class="sect3">
2037 <h4 id="_altosdroid_2">F.4.2. AltosDroid</h4>
2038 <div class="ulist">
2039 <ul>
2040 <li>
2041 <p>Adapt to Android security changes which prevent AltosDroid
2042 from storing flights in
2043 /storage/emulated/0/AltusMetrum. Now, flights are stored in
2044 /storage/emulated/0/media/org.altusmetrum.AltosDroid/AltusMetrum
2045 instead.  Also, AltosDroid will display an error message if
2046 flight data cannot be logged.</p>
2047 </li>
2048 </ul>
2049 </div>
2050 <div style="page-break-after: always;"></div>
2051 </div>
2052 </div>
2053 <div class="sect2">
2054 <h3 id="_release_notes_for_version_1_9_9">F.5. Release Notes for Version 1.9.9</h3>
2055 <div class="paragraph">
2056 <p>Version 1.9.9</p>
2057 </div>
2058 <div class="paragraph">
2059 <p>This release contains a critical bug fix for a problem
2060 introduced in version 1.9.8 for TeleMega and EasyMega
2061 boards. This problem occurs when using the stored
2062 configuration from 1.9.7 or earlier.</p>
2063 </div>
2064 <div class="paragraph">
2065 <p>If you are running 1.9.8 or are upgrading from 1.9.8 on any
2066 version of TeleMega or EasyMega, you must reconfigure all pyro
2067 channels, recalibrate accelerometers, reset the APRS interval,
2068 adjust the beep tone and reset the pyro time.</p>
2069 </div>
2070 <div class="sect3">
2071 <h4 id="_altos_4">F.5.1. AltOS</h4>
2072 <div class="ulist">
2073 <ul>
2074 <li>
2075 <p>Fix EasyMega and TeleMega upgrade process from 1.9.7 or
2076 earlier.  1.9.8 introduced larger delay values, which
2077 required modifying the configuration in-place, and the 1.9.8
2078 version had a flaw which broke the pyro channel config and
2079 all of the config values beyond that in memory, including
2080 APRS interval, IMU accel calibation, beep tone and pyro
2081 time.</p>
2082 </li>
2083 <li>
2084 <p>Fix TeleMega v5.0 mag sensor driver. This driver was quite
2085 broken due to developing it in the presence of the magnetic
2086 beeper on the board. Because of that beeper, the values this
2087 sensor records are not accurate. Fortunately, they are not
2088 used for controlling the flight.</p>
2089 </li>
2090 </ul>
2091 </div>
2092 </div>
2093 <div class="sect3">
2094 <h4 id="_altosui_6">F.5.2. AltosUI</h4>
2095 <div class="ulist">
2096 <ul>
2097 <li>
2098 <p>Parse TeleMega v5.0 log files. A missing check in the code
2099 meant that the TeleMega v5.0 log files would cause an error
2100 when attempting to load them. Logs saved with AltosUI
2101 1.9.8 were not affected, only the presentation of the data
2102 was broken.</p>
2103 </li>
2104 </ul>
2105 </div>
2106 <div style="page-break-after: always;"></div>
2107 </div>
2108 </div>
2109 <div class="sect2">
2110 <h3 id="_release_notes_for_version_1_9_8">F.6. Release Notes for Version 1.9.8</h3>
2111 <div class="paragraph">
2112 <p>Version 1.9.8</p>
2113 </div>
2114 <div class="sect3">
2115 <h4 id="_altos_5">F.6.1. AltOS</h4>
2116 <div class="ulist">
2117 <ul>
2118 <li>
2119 <p>Add support for TeleMega v5.0</p>
2120 </li>
2121 <li>
2122 <p>Extend extra pyro channel times to support delay &gt; 327 seconds</p>
2123 </li>
2124 </ul>
2125 </div>
2126 </div>
2127 <div class="sect3">
2128 <h4 id="_altosui_7">F.6.2. AltosUI</h4>
2129 <div class="ulist">
2130 <ul>
2131 <li>
2132 <p>Support ARM devices in Linux binary release</p>
2133 </li>
2134 <li>
2135 <p>Add support for TeleMega v5.0</p>
2136 </li>
2137 </ul>
2138 </div>
2139 </div>
2140 <div class="sect3">
2141 <h4 id="_altosdroid_3">F.6.3. AltosDroid</h4>
2142 <div class="ulist">
2143 <ul>
2144 <li>
2145 <p>Show tilt angle in pad and flight tabs</p>
2146 </li>
2147 <li>
2148 <p>Show altitude as well as height (useful for TeleGPS)</p>
2149 </li>
2150 <li>
2151 <p>Support devices without GPS receivers</p>
2152 </li>
2153 </ul>
2154 </div>
2155 </div>
2156 <div class="sect3">
2157 <h4 id="_micropeak_gui">F.6.4. MicroPeak GUI</h4>
2158 <div class="ulist">
2159 <ul>
2160 <li>
2161 <p>Show error dialog if device open fails</p>
2162 </li>
2163 </ul>
2164 </div>
2165 <div style="page-break-after: always;"></div>
2166 </div>
2167 </div>
2168 <div class="sect2">
2169 <h3 id="_release_notes_for_version_1_9_7">F.7. Release Notes for Version 1.9.7</h3>
2170 <div class="paragraph">
2171 <p>Version 1.9.7</p>
2172 </div>
2173 <div class="sect3">
2174 <h4 id="_altos_6">F.7.1. AltOS</h4>
2175 <div class="ulist">
2176 <ul>
2177 <li>
2178 <p>Fix TeleGPS logging so that new data are appended to an existing log correctly</p>
2179 </li>
2180 </ul>
2181 </div>
2182 </div>
2183 <div class="sect3">
2184 <h4 id="_altosui_8">F.7.2. AltosUI</h4>
2185 <div class="ulist">
2186 <ul>
2187 <li>
2188 <p>Support Mac OS X 11 (Big Sur)</p>
2189 </li>
2190 <li>
2191 <p>Support Monitor Idle on Easy Timer</p>
2192 </li>
2193 <li>
2194 <p>Fix TeleMega v4.0 and TeleMetrum v3.0 configuration in Antenna Down mode</p>
2195 </li>
2196 <li>
2197 <p>Show launch sites in Load Maps view</p>
2198 </li>
2199 <li>
2200 <p>Add IMU header names to CSV files</p>
2201 </li>
2202 <li>
2203 <p>Clean up TeleGPS log corruption due to firmware bugs during firmware update</p>
2204 </li>
2205 </ul>
2206 </div>
2207 </div>
2208 <div class="sect3">
2209 <h4 id="_altosdroid_4">F.7.3. AltosDroid</h4>
2210 <div class="ulist">
2211 <ul>
2212 <li>
2213 <p>Support older devices back to Android version 5.1</p>
2214 </li>
2215 <li>
2216 <p>Fix a number of issues that could result in app crashes</p>
2217 </li>
2218 </ul>
2219 </div>
2220 <div style="page-break-after: always;"></div>
2221 </div>
2222 </div>
2223 <div class="sect2">
2224 <h3 id="_release_notes_for_version_1_9_6">F.8. Release Notes for Version 1.9.6</h3>
2225 <div class="paragraph">
2226 <p>Version 1.9.6</p>
2227 </div>
2228 <div class="sect3">
2229 <h4 id="_altos_7">F.8.1. AltOS</h4>
2230 <div class="ulist">
2231 <ul>
2232 <li>
2233 <p>Fix EasyTimer bug where it might mis-detect boost (either
2234 detect it early or not at all) due to small errors in
2235 accelerometer calibration leading to large accumulated error
2236 in speed.</p>
2237 </li>
2238 <li>
2239 <p>Adjust self-test of new 9-axis IMU (BMX-160) so that it
2240 doesn&#8217;t think the part has a failure when tested sitting
2241 horizontally.</p>
2242 </li>
2243 </ul>
2244 </div>
2245 <div style="page-break-after: always;"></div>
2246 </div>
2247 </div>
2248 <div class="sect2">
2249 <h3 id="_release_notes_for_version_1_9_5">F.9. Release Notes for Version 1.9.5</h3>
2250 <div class="paragraph">
2251 <p>Version 1.9.5</p>
2252 </div>
2253 <div class="sect3">
2254 <h4 id="_altos_8">F.9.1. AltOS</h4>
2255 <div class="ulist">
2256 <ul>
2257 <li>
2258 <p>Add Booster mode for all dual-deploy altimeters. Select
2259 "Separation &amp; Apogee" mode in AltosUI to fire the 'main'
2260 channel at first motor burnout and the 'apogee' channel at
2261 apogee.</p>
2262 </li>
2263 <li>
2264 <p>Improve reliability of stm32l firmware under heavy
2265 load. This was found using Monitor Idle on TeleMega with all
2266 flash slots full of data which would occasionally lock up.</p>
2267 </li>
2268 <li>
2269 <p>Fix orientation label in AltosUI for devices with
2270 radios. This makes the orientation say 'Antenna up' and
2271 'Antenna Down' for TeleMetrum and TeleMega again.</p>
2272 </li>
2273 <li>
2274 <p>Fix log data for pyro channels which were inhibited (often
2275 because of a tilt limit). They used to report 'fired' as
2276 soon as they were inhibited, which was misleading. Now they
2277 never report as having been fired.</p>
2278 </li>
2279 <li>
2280 <p>Allow Igniter Test to fire each igniter more than once.</p>
2281 </li>
2282 </ul>
2283 </div>
2284 </div>
2285 <div class="sect3">
2286 <h4 id="_altosui_9">F.9.2. AltosUI</h4>
2287 <div class="ulist">
2288 <ul>
2289 <li>
2290 <p>Improve performance of Monitor Idle mode by sending less data for each
2291 update.</p>
2292 </li>
2293 <li>
2294 <p>Improve Mac OS X install scripts so that they work on
2295 Catalina. This involves sending the user to get Java from
2296 the AdoptOpenJDK project which provides a version that works
2297 with Java applications.</p>
2298 </li>
2299 <li>
2300 <p>Make larger dialogs scrollable for use on smaller screens.</p>
2301 </li>
2302 <li>
2303 <p>Fix troubles re-flashing EasyMega boards running older
2304 firmware.</p>
2305 </li>
2306 <li>
2307 <p>Add TeleMetrum v3.0 firmware to the Windows
2308 AltosUI packages.</p>
2309 </li>
2310 </ul>
2311 </div>
2312 <div style="page-break-after: always;"></div>
2313 </div>
2314 </div>
2315 <div class="sect2">
2316 <h3 id="_release_notes_for_version_1_9_4">F.10. Release Notes for Version 1.9.4</h3>
2317 <div class="paragraph">
2318 <p>Version 1.9.4</p>
2319 </div>
2320 <div class="sect3">
2321 <h4 id="_altos_9">F.10.1. AltOS</h4>
2322 <div class="ulist">
2323 <ul>
2324 <li>
2325 <p>Fixed firmware for TeleDongle v3.0 and TeleBT v4.0. Version 1.9.3 bricked those
2326 devices requiring them to be opened up to get them working again.</p>
2327 </li>
2328 <li>
2329 <p>Fixed firmware for EasyMini v1.0. Changes in the storage
2330 code caused it to use significantly more RAM which made the
2331 interrupt stack smash into other data structures and cause
2332 the device to panic at startup time.</p>
2333 </li>
2334 </ul>
2335 </div>
2336 </div>
2337 <div class="sect3">
2338 <h4 id="_altosui_10">F.10.2. AltosUI</h4>
2339 <div class="ulist">
2340 <ul>
2341 <li>
2342 <p>Add TeleMetrum v3.0 firmware to the Linux and Mac OSX
2343 AltosUI packages.</p>
2344 </li>
2345 </ul>
2346 </div>
2347 <div style="page-break-after: always;"></div>
2348 </div>
2349 </div>
2350 <div class="sect2">
2351 <h3 id="_release_notes_for_version_1_9_3">F.11. Release Notes for Version 1.9.3</h3>
2352 <div class="paragraph">
2353 <p>Version 1.9.3</p>
2354 </div>
2355 <div class="sect3">
2356 <h4 id="_altos_10">F.11.1. AltOS</h4>
2357 <div class="ulist">
2358 <ul>
2359 <li>
2360 <p>Add APRS offset. Allows multiple APRS transmitters to coordinate when
2361 transmission occurs to allow them to share a frequency.</p>
2362 </li>
2363 <li>
2364 <p>Fix max log size. Flight computer storage is erased in 64kB chunks. Adjust max
2365 log size to be a multiple of this size.</p>
2366 </li>
2367 <li>
2368 <p>Check flight erasing more carefully. Handle interrupting erasing in the
2369 middle.</p>
2370 </li>
2371 <li>
2372 <p>Add EasyTimer support.</p>
2373 </li>
2374 </ul>
2375 </div>
2376 </div>
2377 <div class="sect3">
2378 <h4 id="_altosui_telegps_micropeak">F.11.2. AltosUI, TeleGPS, MicroPeak</h4>
2379 <div class="ulist">
2380 <ul>
2381 <li>
2382 <p>Add configuration support for APRS offset.</p>
2383 </li>
2384 <li>
2385 <p>Adjust flight log sizes to be a multiple of the flight
2386 computer erase block size.</p>
2387 </li>
2388 <li>
2389 <p>Report barometric pad altitude in Pad tab for TeleMini.</p>
2390 </li>
2391 </ul>
2392 </div>
2393 <div style="page-break-after: always;"></div>
2394 </div>
2395 </div>
2396 <div class="sect2">
2397 <h3 id="_release_notes_for_version_1_9_1">F.12. Release Notes for Version 1.9.1</h3>
2398 <div class="paragraph">
2399 <p>Version 1.9.1</p>
2400 </div>
2401 <div class="sect3">
2402 <h4 id="_altos_11">F.12.1. AltOS</h4>
2403 <div class="ulist">
2404 <ul>
2405 <li>
2406 <p>Add support for TeleMetrum v3.0</p>
2407 </li>
2408 <li>
2409 <p>Fix accel cal value when changing EasyMega v2.0 pad orientation</p>
2410 </li>
2411 <li>
2412 <p>Correct EasyMega v2.0 magnetometer data axes</p>
2413 </li>
2414 <li>
2415 <p>Fix EasyMega v2.0 idle monitor display of IMU data</p>
2416 </li>
2417 <li>
2418 <p>Report all sensor failures at power-up time.</p>
2419 </li>
2420 </ul>
2421 </div>
2422 </div>
2423 <div class="sect3">
2424 <h4 id="_altosui_telegps_micropeak_2">F.12.2. AltosUI, TeleGPS, MicroPeak</h4>
2425 <div class="ulist">
2426 <ul>
2427 <li>
2428 <p>Display error message when attempting to graph unknown format file.</p>
2429 </li>
2430 <li>
2431 <p>Make it possible to disable APRS once enabled.</p>
2432 </li>
2433 <li>
2434 <p>Display some data for point near cursor in map tab.</p>
2435 </li>
2436 <li>
2437 <p>Support upgrading devices from pre-1.8 firmware</p>
2438 </li>
2439 <li>
2440 <p>Wait for Windows to prepare new devices during firmware
2441 upgrade. This should avoid the “COMxx: open failed” message.</p>
2442 </li>
2443 </ul>
2444 </div>
2445 <div style="page-break-after: always;"></div>
2446 </div>
2447 </div>
2448 <div class="sect2">
2449 <h3 id="_release_notes_for_version_1_9">F.13. Release Notes for Version 1.9</h3>
2450 <div class="paragraph">
2451 <p>Version 1.9</p>
2452 </div>
2453 <div class="sect3">
2454 <h4 id="_altos_12">F.13.1. AltOS</h4>
2455 <div class="ulist">
2456 <ul>
2457 <li>
2458 <p>Add support for EasyMega v2.0</p>
2459 </li>
2460 <li>
2461 <p>Replace C library for ARM devices</p>
2462 </li>
2463 <li>
2464 <p>Remove support for 8051-based devices and SDCC compiler</p>
2465 </li>
2466 </ul>
2467 </div>
2468 </div>
2469 <div class="sect3">
2470 <h4 id="_altosui_telegps_micropeak_3">F.13.2. AltosUI, TeleGPS, MicroPeak</h4>
2471 <div class="ulist">
2472 <ul>
2473 <li>
2474 <p>Select ROM images based on product name when reflashing</p>
2475 </li>
2476 <li>
2477 <p>Fix TeleGPS v2 battery voltage display</p>
2478 </li>
2479 </ul>
2480 </div>
2481 <div style="page-break-after: always;"></div>
2482 </div>
2483 </div>
2484 <div class="sect2">
2485 <h3 id="_release_notes_for_version_1_8_7">F.14. Release Notes for Version 1.8.7</h3>
2486 <div class="paragraph">
2487 <p>Version 1.8.7</p>
2488 </div>
2489 <div class="sect3">
2490 <h4 id="_altos_13">F.14.1. AltOS</h4>
2491 <div class="ulist">
2492 <ul>
2493 <li>
2494 <p>Include TeleMega v3.0 firmware</p>
2495 </li>
2496 </ul>
2497 </div>
2498 </div>
2499 <div class="sect3">
2500 <h4 id="_altosui_telegps_micropeak_4">F.14.2. AltosUI, TeleGPS, MicroPeak</h4>
2501 <div class="ulist">
2502 <ul>
2503 <li>
2504 <p>Poll for new devices while Device dialog is displayed</p>
2505 </li>
2506 <li>
2507 <p>Wait for device to re-appear when flashing new firmware</p>
2508 </li>
2509 <li>
2510 <p>Fetch correct TeleBT v4.0 RF calibration values from web
2511 site when reflashing.</p>
2512 </li>
2513 <li>
2514 <p>Change gyro headings in .csv files from x/y/z to
2515 roll/pitch/yaw</p>
2516 </li>
2517 <li>
2518 <p>Add documentation about Packet Link mode</p>
2519 </li>
2520 <li>
2521 <p>Add documentation about forcing TeleMini RF parameters to
2522 known values.</p>
2523 </li>
2524 <li>
2525 <p>Create a proxy server for Google Maps to re-enable map
2526 images</p>
2527 </li>
2528 <li>
2529 <p>Fix Java version info in all distributed jar files so that
2530 applications will run with standard Mac OS X Java.</p>
2531 </li>
2532 <li>
2533 <p>Replace JavaApplicationStub for Mac OS X so that
2534 applications will run with Oracle Java.</p>
2535 </li>
2536 </ul>
2537 </div>
2538 <div style="page-break-after: always;"></div>
2539 </div>
2540 </div>
2541 <div class="sect2">
2542 <h3 id="_release_notes_for_version_1_8_6">F.15. Release Notes for Version 1.8.6</h3>
2543 <div class="paragraph">
2544 <p>Version 1.8.6</p>
2545 </div>
2546 <div class="sect3">
2547 <h4 id="_altos_14">F.15.1. AltOS</h4>
2548 <div class="ulist">
2549 <ul>
2550 <li>
2551 <p>Use maximum of 64 previous tilt values in pyro tilt tests</p>
2552 </li>
2553 <li>
2554 <p>Eliminate 100m height requirement for coast detection</p>
2555 </li>
2556 <li>
2557 <p>Change After Motor pyro check to be &gt;= instead of ==</p>
2558 </li>
2559 <li>
2560 <p>Change Time since Boost to be Time since launch.</p>
2561 </li>
2562 </ul>
2563 </div>
2564 </div>
2565 <div class="sect3">
2566 <h4 id="_altosui_telegps">F.15.2. AltosUI, TeleGPS</h4>
2567 <div class="ulist">
2568 <ul>
2569 <li>
2570 <p>Clarify pyro test phrasing</p>
2571 </li>
2572 <li>
2573 <p>Remove ascending/descending from pyro config UI</p>
2574 </li>
2575 <li>
2576 <p>Fix accel calibration in Antenna Down mode</p>
2577 </li>
2578 <li>
2579 <p>Add mag sensor reporting for TeleMega v3 idle monitoring.</p>
2580 </li>
2581 <li>
2582 <p>Fix radio parameter saving at 2400 bps telmetry rate.</p>
2583 </li>
2584 </ul>
2585 </div>
2586 </div>
2587 <div class="sect3">
2588 <h4 id="_micropeak">F.15.3. MicroPeak</h4>
2589 <div class="ulist">
2590 <ul>
2591 <li>
2592 <p>Report altimeter-recorded maximum height value</p>
2593 </li>
2594 </ul>
2595 </div>
2596 <div style="page-break-after: always;"></div>
2597 </div>
2598 </div>
2599 <div class="sect2">
2600 <h3 id="_release_notes_for_version_1_8_5">F.16. Release Notes for Version 1.8.5</h3>
2601 <div class="paragraph">
2602 <p>Version 1.8.5 includes fixes to the ground software support
2603 for TeleBT v4, along with a few other minor updates.</p>
2604 </div>
2605 <div class="sect3">
2606 <h4 id="_altos_15">F.16.1. AltOS</h4>
2607 <div class="ulist">
2608 <ul>
2609 <li>
2610 <p>Fix startup beeps that indicate sensor failures.</p>
2611 </li>
2612 </ul>
2613 </div>
2614 </div>
2615 <div class="sect3">
2616 <h4 id="_altosui_telegps_2">F.16.2. AltosUI, TeleGPS</h4>
2617 <div class="ulist">
2618 <ul>
2619 <li>
2620 <p>When updating device firmware, make sure selected firmware
2621 matches target device.</p>
2622 </li>
2623 <li>
2624 <p>Correct Bluetooth device matching when looking for TeleBT
2625 devices.</p>
2626 </li>
2627 </ul>
2628 </div>
2629 <div style="page-break-after: always;"></div>
2630 </div>
2631 </div>
2632 <div class="sect2">
2633 <h3 id="_release_notes_for_version_1_8_4">F.17. Release Notes for Version 1.8.4</h3>
2634 <div class="paragraph">
2635 <p>Version 1.8.4 includes support for EasyMini version 2.0</p>
2636 </div>
2637 <div class="sect3">
2638 <h4 id="_altos_16">F.17.1. AltOS</h4>
2639 <div class="ulist">
2640 <ul>
2641 <li>
2642 <p>Support for EasyMini version 2.0 hardware.</p>
2643 </li>
2644 </ul>
2645 </div>
2646 <div style="page-break-after: always;"></div>
2647 </div>
2648 </div>
2649 <div class="sect2">
2650 <h3 id="_release_notes_for_version_1_8_3">F.18. Release Notes for Version 1.8.3</h3>
2651 <div class="paragraph">
2652 <p>Version 1.8.3 includes support for TeleMega version 3.0 along
2653 with two important flight computer fixes. This version also
2654 changes KML export data to make Tripoli Record reporting
2655 better and some updates to graph presentation and data
2656 downloading.</p>
2657 </div>
2658 <div class="sect3">
2659 <h4 id="_altos_17">F.18.1. AltOS</h4>
2660 <div class="sect4">
2661 <h5 id="_altos_new_features">AltOS New Features</h5>
2662 <div class="ulist">
2663 <ul>
2664 <li>
2665 <p>Support for TeleMega version 3.0 hardware.</p>
2666 </li>
2667 </ul>
2668 </div>
2669 </div>
2670 <div class="sect4">
2671 <h5 id="_altos_bug_fixes">AltOS Bug Fixes</h5>
2672 <div class="ulist">
2673 <ul>
2674 <li>
2675 <p>Ground testing EasyMega and TeleMega additional pyro
2676 channels could result in a sticky 'fired' status which would
2677 prevent these channels from firing on future flights.</p>
2678 </li>
2679 <li>
2680 <p>Corrupted flight log records could prevent future flights
2681 from capturing log data.</p>
2682 </li>
2683 <li>
2684 <p>Fixed saving of pyro configuration that ended with
2685 'Descending'.</p>
2686 </li>
2687 </ul>
2688 </div>
2689 </div>
2690 </div>
2691 <div class="sect3">
2692 <h4 id="_altosui_and_telegps_applications">F.18.2. AltosUI and TeleGPS Applications</h4>
2693 <div class="sect4">
2694 <h5 id="_altosui_new_features">AltosUI New Features</h5>
2695 <div class="ulist">
2696 <ul>
2697 <li>
2698 <p>Support for TeleMega version 3.0.</p>
2699 </li>
2700 <li>
2701 <p>Graph lines have improved appearance to make them easier to
2702 distinguish. Markers may be placed at data points to show
2703 captured recorded data values.</p>
2704 </li>
2705 <li>
2706 <p>Graphing offers the ability to adjust the smoothing of
2707 computed speed and acceleration data.</p>
2708 </li>
2709 <li>
2710 <p>The download dialog now offers to graph new flights, checks
2711 for existing files to avoid overwriting data and reports if
2712 there are checksum errors in the downloaded data.</p>
2713 </li>
2714 </ul>
2715 </div>
2716 </div>
2717 <div class="sect4">
2718 <h5 id="_altosuitelegps_bug_fixes">AltosUI/TeleGPS Bug Fixes</h5>
2719 <div class="ulist">
2720 <ul>
2721 <li>
2722 <p>Restore TeleGPS tracking behavior.</p>
2723 </li>
2724 <li>
2725 <p>Display flight computer call sign and serial number in
2726 Monitor Idle mode instead of ground station values.</p>
2727 </li>
2728 </ul>
2729 </div>
2730 </div>
2731 <div class="sect4">
2732 <h5 id="_altosui_and_telegps_changes">AltosUI and TeleGPS Changes</h5>
2733 <div class="ulist">
2734 <ul>
2735 <li>
2736 <p>KML export now reports both barometric and GPS altitude data
2737 to make it more useful for Tripoli record reporting.</p>
2738 </li>
2739 <li>
2740 <p>CSV export now includes TeleMega/EasyMega pyro voltages and
2741 tilt angle.</p>
2742 </li>
2743 </ul>
2744 </div>
2745 <div style="page-break-after: always;"></div>
2746 </div>
2747 </div>
2748 </div>
2749 <div class="sect2">
2750 <h3 id="_release_notes_for_version_1_8_2">F.19. Release Notes for Version 1.8.2</h3>
2751 <div class="paragraph">
2752 <p>Version 1.8.2 includes support for TeleGPS version 2.0 along
2753 with accelerometer recalibration support in AltosUI.</p>
2754 </div>
2755 <div class="paragraph">
2756 <p>1.8.2 also contains a couple of minor fixes for AltosUI when
2757 analyzing saved data files.</p>
2758 </div>
2759 <div class="sect3">
2760 <h4 id="_altos_18">F.19.1. AltOS</h4>
2761 <div class="paragraph">
2762 <p>AltOS New Features</p>
2763 </div>
2764 <div class="ulist">
2765 <ul>
2766 <li>
2767 <p>Support for TeleGPS version 2.0 hardware.</p>
2768 </li>
2769 </ul>
2770 </div>
2771 </div>
2772 <div class="sect3">
2773 <h4 id="_altosui_and_telegps_applications_2">F.19.2. AltosUI and TeleGPS Applications</h4>
2774 <div class="paragraph">
2775 <p>AltosUI and TeleGPS New Features</p>
2776 </div>
2777 <div class="ulist">
2778 <ul>
2779 <li>
2780 <p>Support for TeleGPS version 2.0.</p>
2781 </li>
2782 <li>
2783 <p>Accelerometer re-calibration user interface.</p>
2784 </li>
2785 </ul>
2786 </div>
2787 <div class="paragraph">
2788 <p>AltosUI and TeleGPS Bug Fixes</p>
2789 </div>
2790 <div class="ulist">
2791 <ul>
2792 <li>
2793 <p>Prevent some crashes when reading older saved flight data
2794 for graphing or KML export.</p>
2795 </li>
2796 </ul>
2797 </div>
2798 <div style="page-break-after: always;"></div>
2799 </div>
2800 </div>
2801 <div class="sect2">
2802 <h3 id="_release_notes_for_version_1_8_1">F.20. Release Notes for Version 1.8.1</h3>
2803 <div class="paragraph">
2804 <p>Version 1.8.1 includes an important bug fix for Apogee Lockout
2805 operation in all flight computers. Anyone using this option
2806 must update firmware.</p>
2807 </div>
2808 <div class="paragraph">
2809 <p>This release also contains a change in how flight computers
2810 with accelerometers deal with speeds around and above Mach
2811 1. In previous versions, the flight computer would completely
2812 disregard the barometric sensor above 330m/s (around Mach
2813 1). Now, the data from the barometric sensor is reduced in
2814 effect without ever going away entirely. This prevents early
2815 drogue deployment for flights which spend considerable time
2816 above Mach 1.</p>
2817 </div>
2818 <div class="paragraph">
2819 <p>1.8.1 also contains a couple of minor fixes for AltosUI when
2820 analyzing saved data files.</p>
2821 </div>
2822 <div class="sect3">
2823 <h4 id="_altos_19">F.20.1. AltOS</h4>
2824 <div class="paragraph">
2825 <p>AltOS Bug Fixes</p>
2826 </div>
2827 <div class="ulist">
2828 <ul>
2829 <li>
2830 <p>Handle time value wrapping in Apogee Lockout
2831 correctly. Without this, apogee lockout would sometimes
2832 prevent any drogue charge from firing.</p>
2833 </li>
2834 <li>
2835 <p>Change Kalman filter on flight computers with accelerometer
2836 to continue using the barometric sensor even at high speeds
2837 to avoid unintentional drogue deployment during
2838 deceleration.</p>
2839 </li>
2840 </ul>
2841 </div>
2842 </div>
2843 <div class="sect3">
2844 <h4 id="_altosui_and_telegps_applications_3">F.20.2. AltosUI and TeleGPS Applications</h4>
2845 <div class="paragraph">
2846 <p>AltosUI New Features</p>
2847 </div>
2848 <div class="ulist">
2849 <ul>
2850 <li>
2851 <p>Add new 'Huge' font size to make text even bigger on high
2852 resolution monitors.</p>
2853 </li>
2854 </ul>
2855 </div>
2856 <div class="paragraph">
2857 <p>AltosUI Bug Fixes</p>
2858 </div>
2859 <div class="ulist">
2860 <ul>
2861 <li>
2862 <p>Prevent some crashes when reading older saved flight data
2863 for graphing or KML export.</p>
2864 </li>
2865 <li>
2866 <p>Load frequency preference at startup. The loading code was
2867 broken, so you&#8217;d see only the default frequencies.</p>
2868 </li>
2869 </ul>
2870 </div>
2871 <div style="page-break-after: always;"></div>
2872 </div>
2873 </div>
2874 <div class="sect2">
2875 <h3 id="_release_notes_for_version_1_8">F.21. Release Notes for Version 1.8</h3>
2876 <div class="paragraph">
2877 <p>Version 1.8 includes support for our new TeleBT v4.0 ground
2878 station, updates for data analysis in our ground station
2879 software and bug fixes in in the flight software for all our
2880 boards and ground station interfaces.</p>
2881 </div>
2882 <div class="sect3">
2883 <h4 id="_altos_20">F.21.1. AltOS</h4>
2884 <div class="paragraph">
2885 <p>AltOS New Features</p>
2886 </div>
2887 <div class="ulist">
2888 <ul>
2889 <li>
2890 <p>Add support for TeleBT v4.0 boards.</p>
2891 </li>
2892 </ul>
2893 </div>
2894 </div>
2895 <div class="sect3">
2896 <h4 id="_altosui_and_telegps_applications_4">F.21.2. AltosUI and TeleGPS Applications</h4>
2897 <div class="paragraph">
2898 <p>AltosUI New Features</p>
2899 </div>
2900 <div class="ulist">
2901 <ul>
2902 <li>
2903 <p>Add support for TeleBT v4.0 hardware</p>
2904 </li>
2905 <li>
2906 <p>Rewrite graphing and export functions. This code now handles
2907 each data series separately so that graphs are drawn
2908 correctly. Smoothing now uses a filter that looks both
2909 forward and backwards in time to make computed speed and
2910 acceleration data more accurate.</p>
2911 </li>
2912 </ul>
2913 </div>
2914 <div class="paragraph">
2915 <p>AltosUI Bug Fixes</p>
2916 </div>
2917 <div class="ulist">
2918 <ul>
2919 <li>
2920 <p>Correct axis labeling of magnetic sensor in TeleMega and
2921 EasyMega. The Y and Z axes were flipped.</p>
2922 </li>
2923 </ul>
2924 </div>
2925 <div style="page-break-after: always;"></div>
2926 </div>
2927 </div>
2928 <div class="sect2">
2929 <h3 id="_release_notes_for_version_1_7">F.22. Release Notes for Version 1.7</h3>
2930 <div class="paragraph">
2931 <p>Version 1.7 includes support for our new TeleMini v3.0
2932 flight computer and bug fixes in in the flight software for all our boards
2933 and ground station interfaces.</p>
2934 </div>
2935 <div class="sect3">
2936 <h4 id="_altos_21">F.22.1. AltOS</h4>
2937 <div class="paragraph">
2938 <p>AltOS New Features</p>
2939 </div>
2940 <div class="ulist">
2941 <ul>
2942 <li>
2943 <p>Add support for TeleMini v3.0 boards.</p>
2944 </li>
2945 </ul>
2946 </div>
2947 <div class="paragraph">
2948 <p>AltOS Fixes</p>
2949 </div>
2950 <div class="ulist">
2951 <ul>
2952 <li>
2953 <p>Fix interrupt priorities on STM32L processors. Run timer
2954 interrupt at lowest priority so that device interrupts get
2955 serviced first.</p>
2956 </li>
2957 </ul>
2958 </div>
2959 </div>
2960 <div class="sect3">
2961 <h4 id="_altosui_and_telegps_applications_5">F.22.2. AltosUI and TeleGPS Applications</h4>
2962 <div class="paragraph">
2963 <p>AltosUI New Features</p>
2964 </div>
2965 <div class="ulist">
2966 <ul>
2967 <li>
2968 <p>Add support for TeleMini v3.0 hardware</p>
2969 </li>
2970 </ul>
2971 </div>
2972 <div style="page-break-after: always;"></div>
2973 </div>
2974 </div>
2975 <div class="sect2">
2976 <h3 id="_release_notes_for_version_1_6_8">F.23. Release Notes for Version 1.6.8</h3>
2977 <div class="paragraph">
2978 <p>Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where
2979 the device could stop logging data and transmitting
2980 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
2981 v2.0 users should update their flight firmware.</p>
2982 </div>
2983 <div class="sect3">
2984 <h4 id="_altos_22">F.23.1. AltOS</h4>
2985 <div class="paragraph">
2986 <p>AltOS fixes:</p>
2987 </div>
2988 <div class="ulist">
2989 <ul>
2990 <li>
2991 <p>Fix STM32L DMA driver to work around STM32L SoC DMA priority
2992 issue t lock-up in the logging or radio code, either of
2993 which could stop data logging and telemetry.</p>
2994 </li>
2995 <li>
2996 <p>Avoid having TeleBT battery status values smash telemetry
2997 packet data by holding a lock during both operations.</p>
2998 </li>
2999 <li>
3000 <p>Don&#8217;t start reporting 'flight 0' when the log fills in
3001 flight.</p>
3002 </li>
3003 </ul>
3004 </div>
3005 <div class="paragraph">
3006 <p>AltOS changes:</p>
3007 </div>
3008 <div class="ulist">
3009 <ul>
3010 <li>
3011 <p>Flash LEDS on all products briefly during power up so that
3012 they can be tested during production.</p>
3013 </li>
3014 </ul>
3015 </div>
3016 </div>
3017 <div class="sect3">
3018 <h4 id="_altosui_telegps_and_altosdroid_applications">F.23.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
3019 <div class="paragraph">
3020 <p>AltosUI fixes:</p>
3021 </div>
3022 <div class="ulist">
3023 <ul>
3024 <li>
3025 <p>Re-enable go/no-go entries after they&#8217;ve been disabled due
3026 to lack of data. If telemetry information is delayed when
3027 the Ui starts up, sometimes important fields would get
3028 disabled to never re-appear.</p>
3029 </li>
3030 <li>
3031 <p>Deal with ground station failure better during Configure
3032 Ground Station operation by cleaning up pending operations.</p>
3033 </li>
3034 </ul>
3035 </div>
3036 <div style="page-break-after: always;"></div>
3037 </div>
3038 </div>
3039 <div class="sect2">
3040 <h3 id="_release_notes_for_version_1_6_5">F.24. Release Notes for Version 1.6.5</h3>
3041 <div class="paragraph">
3042 <p>Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where
3043 the device would often stop logging data and transmitting
3044 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
3045 v2.0 users should update their flight firmware.</p>
3046 </div>
3047 <div class="sect3">
3048 <h4 id="_altos_23">F.24.1. AltOS</h4>
3049 <div class="paragraph">
3050 <p>AltOS fixes:</p>
3051 </div>
3052 <div class="ulist">
3053 <ul>
3054 <li>
3055 <p>Fix STM32L SPI driver to prevent lock-up in the logging or
3056 radio code, either of which could stop data logging and
3057 telemetry. Found and characterized by Chuck Haskin, who also
3058 tested the new firmware before release.</p>
3059 </li>
3060 </ul>
3061 </div>
3062 </div>
3063 <div class="sect3">
3064 <h4 id="_altosui_telegps_and_altosdroid_applications_2">F.24.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
3065 <div class="paragraph">
3066 <p>AltosUI fixes:</p>
3067 </div>
3068 <div class="ulist">
3069 <ul>
3070 <li>
3071 <p>Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with
3072 Windows package.</p>
3073 </li>
3074 </ul>
3075 </div>
3076 <div style="page-break-after: always;"></div>
3077 </div>
3078 </div>
3079 <div class="sect2">
3080 <h3 id="_release_notes_for_version_1_6_4">F.25. Release Notes for Version 1.6.4</h3>
3081 <div class="paragraph">
3082 <p>Version 1.6.4 fixes a bluetooth communication problem with
3083 TeleBT v1.0 devices, along with some altosui and altosdroid
3084 minor nits. It also now ships firmware for some newer devices.</p>
3085 </div>
3086 <div class="sect3">
3087 <h4 id="_altos_24">F.25.1. AltOS</h4>
3088 <div class="paragraph">
3089 <p>AltOS fixes:</p>
3090 </div>
3091 <div class="ulist">
3092 <ul>
3093 <li>
3094 <p>Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS
3095 doesn&#8217;t seem to work, switch from using the hardware to
3096 driving these pins with software.</p>
3097 </li>
3098 <li>
3099 <p>Fix ARM USB drivers to deal with OS restarts. Needed to
3100 reset all USB-related state when the USB bus is reset. These
3101 fixes affect all STM32L, STM32F0 and LPC11U14 based devices.</p>
3102 </li>
3103 </ul>
3104 </div>
3105 </div>
3106 <div class="sect3">
3107 <h4 id="_altosui_telegps_and_altosdroid_applications_3">F.25.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
3108 <div class="paragraph">
3109 <p>AltosUI, TeleGPS and AltosDroid New Features:</p>
3110 </div>
3111 <div class="ulist">
3112 <ul>
3113 <li>
3114 <p>Automatically switch from meters or feet to kilometers or
3115 miles for distance units.</p>
3116 </li>
3117 <li>
3118 <p>Add Monitor Idle mode to TeleGPS application.</p>
3119 </li>
3120 </ul>
3121 </div>
3122 <div class="paragraph">
3123 <p>AltosUI, TeleGPS and AltosDroid Fixes:</p>
3124 </div>
3125 <div class="ulist">
3126 <ul>
3127 <li>
3128 <p>Abort map preloading when the preload map dialog is closed.</p>
3129 </li>
3130 <li>
3131 <p>In AltosDroid, Don&#8217;t reconnect to last device if the user
3132 had disconnected it the last time the application was
3133 active.</p>
3134 </li>
3135 </ul>
3136 </div>
3137 </div>
3138 <div class="sect3">
3139 <h4 id="_documentation">F.25.3. Documentation</h4>
3140 <div class="ulist">
3141 <ul>
3142 <li>
3143 <p>Mention TeleMega v2.0 in hardware specs table.</p>
3144 </li>
3145 <li>
3146 <p>Document TeleGPS RF output in telegps manual.</p>
3147 </li>
3148 </ul>
3149 </div>
3150 </div>
3151 </div>
3152 <div class="sect2">
3153 <h3 id="_release_notes_for_version_1_6_3">F.26. Release Notes for Version 1.6.3</h3>
3154 <div class="paragraph">
3155 <p>Version 1.6.3 adds idle mode to AltosDroid and has bug fixes
3156 for our host software on desktops, laptops an android devices
3157 along with BlueTooth support for Windows.</p>
3158 </div>
3159 <div class="sect3">
3160 <h4 id="_altos_25">F.26.1. AltOS</h4>
3161 <div class="paragraph">
3162 <p>AltOS fixes:</p>
3163 </div>
3164 <div class="ulist">
3165 <ul>
3166 <li>
3167 <p>Fix hardware flow control on TeleBT v3.0. RTS/CTS is
3168 wired backwards on this board, switch from using the
3169 hardware to driving these pins with software.</p>
3170 </li>
3171 </ul>
3172 </div>
3173 </div>
3174 <div class="sect3">
3175 <h4 id="_altosui_and_telegps_applications_6">F.26.2. AltosUI and TeleGPS Applications</h4>
3176 <div class="paragraph">
3177 <p>AltosUI and TeleGPS New Features:</p>
3178 </div>
3179 <div class="ulist">
3180 <ul>
3181 <li>
3182 <p>Add BlueTooth support for Windows operating system. This
3183 supports connections to TeleBT over BlueTooth rather than
3184 just USB.</p>
3185 </li>
3186 </ul>
3187 </div>
3188 <div class="paragraph">
3189 <p>AltosUI and TeleGPS Fixes:</p>
3190 </div>
3191 <div class="ulist">
3192 <ul>
3193 <li>
3194 <p>Change Java detection and install on Windows. Detection is
3195 now done by looking for the 'javaw.exe' program, and
3196 installation by opening a browser on the java.com web site.</p>
3197 </li>
3198 <li>
3199 <p>Delay polling while the Fire Igniters is visible to allow
3200 for TeleMega to report back complete status over the radio.</p>
3201 </li>
3202 <li>
3203 <p>Disallow changing RF calibration numbers in the
3204 configuration UI. There&#8217;s no good reason to change this from
3205 the field, and recovering is really hard if you haven&#8217;t
3206 written down the right number.</p>
3207 </li>
3208 <li>
3209 <p>Fix USB device discovery on Mac OS X El Capitan. This makes
3210 the connected Altus Metrum USB devices appear again.</p>
3211 </li>
3212 <li>
3213 <p>Fix acceleration data presented in MonitorIdle mode for
3214 TeleMetrum v2.0 flight computers.</p>
3215 </li>
3216 </ul>
3217 </div>
3218 </div>
3219 <div class="sect3">
3220 <h4 id="_altosdroid_5">F.26.3. AltosDroid</h4>
3221 <div class="paragraph">
3222 <p>AltosDroid new features:</p>
3223 </div>
3224 <div class="ulist">
3225 <ul>
3226 <li>
3227 <p>Monitor Idle mode. Check state of flight computer while in
3228 idle mode over the radio link</p>
3229 </li>
3230 <li>
3231 <p>Fire Igniters. Remotely fire ignires for recovery system
3232 ground tests.</p>
3233 </li>
3234 <li>
3235 <p>Remote reboot. Cause the flight computer to reboot over the
3236 radio link. This provides a method for switching the flight
3237 computer from idle to flight mode without needing to reach
3238 the power switch.</p>
3239 </li>
3240 <li>
3241 <p>Configurable frequency menu. Change the set of available
3242 frequencies and provide more descriptive names.</p>
3243 </li>
3244 </ul>
3245 </div>
3246 <div class="paragraph">
3247 <p>AltosDroid bug fixes:</p>
3248 </div>
3249 <div class="ulist">
3250 <ul>
3251 <li>
3252 <p>Don&#8217;t set target location if GPS hasn&#8217;t locked yet.</p>
3253 </li>
3254 <li>
3255 <p>Fix saving target states so they can be reloaded when the
3256 application restarts. When the application is shut down and
3257 restarted, all previous target state information will be
3258 restored (including GPS position if available).</p>
3259 </li>
3260 <li>
3261 <p>Fix crash on some Android devices for offline maps when
3262 changing the map scale or location.</p>
3263 </li>
3264 <li>
3265 <p>Don&#8217;t require USB OTG support. This kept the latest
3266 AltosDroid from being offered on devices without USB device
3267 support, although it can work without that just fine using
3268 BlueTooth.</p>
3269 </li>
3270 <li>
3271 <p>Don&#8217;t require bluetooth to be enabled. This allows the
3272 application to operate with USB devices or just show old
3273 data without turning on the bluetooth radio.</p>
3274 </li>
3275 <li>
3276 <p>Recover old tracker positions when restarting
3277 application. This finally allows you to safely stop and
3278 restart the application without losing the last known
3279 location of any tracker.</p>
3280 </li>
3281 </ul>
3282 </div>
3283 </div>
3284 <div class="sect3">
3285 <h4 id="_documentation_2">F.26.4. Documentation</h4>
3286 <div class="ulist">
3287 <ul>
3288 <li>
3289 <p>Document TeleMega and EasyMega additional pyro channel
3290 continuity audio alert pattern.</p>
3291 </li>
3292 </ul>
3293 </div>
3294 <div style="page-break-after: always;"></div>
3295 </div>
3296 </div>
3297 <div class="sect2">
3298 <h3 id="_release_notes_for_version_1_6_2">F.27. Release Notes for Version 1.6.2</h3>
3299 <div class="paragraph">
3300 <p>Version 1.6.2 includes support for our updated TeleMega v2.0
3301 product and bug fixes in in the flight software for all our boards
3302 and ground station interfaces.</p>
3303 </div>
3304 <div class="sect3">
3305 <h4 id="_altos_26">F.27.1. AltOS</h4>
3306 <div class="paragraph">
3307 <p>AltOS New Features:</p>
3308 </div>
3309 <div class="ulist">
3310 <ul>
3311 <li>
3312 <p>Add support for TeleMega v2.0 boards.</p>
3313 </li>
3314 <li>
3315 <p>Add PWM servo driver. There&#8217;s no higher level code using
3316 this yet, but the driver allows testing of the TeleMega v2.0
3317 servo output connector.</p>
3318 </li>
3319 </ul>
3320 </div>
3321 <div class="paragraph">
3322 <p>AltOS Fixes:</p>
3323 </div>
3324 <div class="ulist">
3325 <ul>
3326 <li>
3327 <p>Slow down telemetry packets to allow receiver to keep
3328 up.</p>
3329 </li>
3330 </ul>
3331 </div>
3332 </div>
3333 <div class="sect3">
3334 <h4 id="_altosui_and_telegps_applications_7">F.27.2. AltosUI and TeleGPS Applications</h4>
3335 <div class="paragraph">
3336 <p>AltosUI and TeleGPS Fixes:</p>
3337 </div>
3338 <div class="ulist">
3339 <ul>
3340 <li>
3341 <p>Fix post-flight orientation computation when processing
3342 TeleMega and EasyMega eeprom data files.</p>
3343 </li>
3344 <li>
3345 <p>Capture complete eeprom data even when there are invalid
3346 entries in the data. This keeps reading eeprom contents and
3347 writing the associated .eeprom file when an error is detected.</p>
3348 </li>
3349 </ul>
3350 </div>
3351 </div>
3352 <div class="sect3">
3353 <h4 id="_documentation_3">F.27.3. Documentation</h4>
3354 <div class="paragraph">
3355 <p>We spent a bunch of time trying to improve our documentation</p>
3356 </div>
3357 <div class="ulist">
3358 <ul>
3359 <li>
3360 <p>HTML versions now have a table of contents on the left side.</p>
3361 </li>
3362 <li>
3363 <p>EasyMini now has its own shorter manual.</p>
3364 </li>
3365 <li>
3366 <p>Provide links between sections in each document.</p>
3367 </li>
3368 <li>
3369 <p>Lots of minor rewriting and restructuring to avoid
3370 duplication of information</p>
3371 </li>
3372 </ul>
3373 </div>
3374 </div>
3375 </div>
3376 </div>
3377 </div>
3378 </div>
3379 <div id="footer">
3380 <div id="footer-text">
3381 Version v1.9.13<br>
3382 Last updated 2023-01-19 23:18:22 -0700
3383 </div>
3384 </div>
3385 </body>
3386 </html>