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