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