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