be a bit more opinionatd about 9V alkaline batteries
[web/altusmetrum] / AltOS / doc / altusmetrum.html
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta name="generator" content="Asciidoctor 2.0.18">
8 <meta name="author" content="Keith Packard, Bdale Garbee, Bob Finch, Anthony Towns">
9 <meta name="copyright" content="Bdale Garbee and Keith Packard 2023">
10 <title>The Altus Metrum System: An Owner&#8217;s Manual for Altus Metrum Rocketry Electronics</title>
11 <link rel="stylesheet" href="./am.css">
12 </head>
13 <body class="book">
14 <div id="header">
15 <h1>The Altus Metrum System: An Owner&#8217;s Manual for Altus Metrum Rocketry Electronics</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="author3" class="author">Bob Finch</span><br>
22 <span id="author4" class="author">Anthony Towns</span><br>
23 <span id="revnumber">version v1.9.15,</span>
24 <span id="revdate">19 Feb 2023</span>
25 </div>
26 <div id="toc" class="toc">
27 <div id="toctitle">Table of Contents</div>
28 <ul class="sectlevel1">
29 <li><a href="#_license">License</a></li>
30 <li><a href="#_acknowledgments">Acknowledgments</a></li>
31 <li><a href="#_introduction_and_overview">1. Introduction and Overview</a></li>
32 <li><a href="#_getting_started">2. Getting Started</a>
33 <ul class="sectlevel2">
34 <li><a href="#_batteries">2.1. Batteries</a></li>
35 <li><a href="#_ground_station_hardware">2.2. Ground Station Hardware</a></li>
36 <li><a href="#_linuxmacwindows_ground_station_software">2.3. Linux/Mac/Windows Ground Station Software</a></li>
37 <li><a href="#_android_ground_station_software">2.4. Android Ground Station Software</a></li>
38 </ul>
39 </li>
40 <li><a href="#_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</a>
41 <ul class="sectlevel2">
42 <li><a href="#_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</a></li>
43 <li><a href="#_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</a></li>
44 <li><a href="#_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</a></li>
45 <li><a href="#_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</a></li>
46 <li><a href="#_understanding_beeps">3.5. Understanding Beeps</a></li>
47 <li><a href="#_turning_on_the_power">3.6. Turning On the Power</a></li>
48 <li><a href="#_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</a></li>
49 <li><a href="#_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</a></li>
50 <li><a href="#_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</a></li>
51 <li><a href="#_using_packet_link_mode">3.10. Using Packet Link Mode</a></li>
52 </ul>
53 </li>
54 <li><a href="#_telemetrum">4. TeleMetrum</a>
55 <ul class="sectlevel2">
56 <li><a href="#_telemetrum_screw_terminals">4.1. TeleMetrum Screw Terminals</a></li>
57 <li><a href="#_using_a_separate_pyro_battery_with_telemetrum">4.2. Using a Separate Pyro Battery with TeleMetrum</a></li>
58 <li><a href="#_using_an_active_switch_with_telemetrum">4.3. Using an Active Switch with TeleMetrum</a></li>
59 </ul>
60 </li>
61 <li><a href="#_telemini">5. TeleMini</a>
62 <ul class="sectlevel2">
63 <li><a href="#_telemini_v3_screw_terminals">5.1. TeleMini v3 Screw Terminals</a></li>
64 <li><a href="#_using_a_separate_pyro_battery_with_telemini_v3">5.2. Using a Separate Pyro Battery with TeleMini v3</a></li>
65 <li><a href="#_using_an_active_switch_with_telemini_v3">5.3. Using an Active Switch with TeleMini v3</a></li>
66 <li><a href="#_using_packet_link_mode_with_telemini">5.4. Using Packet Link Mode with TeleMini</a></li>
67 <li><a href="#_forcing_telemini_radio_parameters_to_known_defaults">5.5. Forcing TeleMini radio parameters to known defaults</a></li>
68 <li><a href="#_telemini_v1">5.6. TeleMini v1</a></li>
69 </ul>
70 </li>
71 <li><a href="#_easymini">6. EasyMini</a>
72 <ul class="sectlevel2">
73 <li><a href="#_easymini_screw_terminals">6.1. EasyMini Screw Terminals</a></li>
74 <li><a href="#_connecting_a_battery_to_easymini">6.2. Connecting A Battery To EasyMini</a></li>
75 <li><a href="#_charging_lithium_batteries">6.3. Charging Lithium Batteries</a></li>
76 <li><a href="#_using_a_separate_pyro_battery_with_easymini">6.4. Using a Separate Pyro Battery with EasyMini</a></li>
77 <li><a href="#_using_an_active_switch_with_easymini">6.5. Using an Active Switch with EasyMini</a></li>
78 </ul>
79 </li>
80 <li><a href="#_telemega">7. TeleMega</a>
81 <ul class="sectlevel2">
82 <li><a href="#_telemega_screw_terminals">7.1. TeleMega Screw Terminals</a></li>
83 <li><a href="#_using_a_separate_pyro_battery_with_telemega">7.2. Using a Separate Pyro Battery with TeleMega</a></li>
84 <li><a href="#_using_only_one_battery_with_telemega">7.3. Using Only One Battery With TeleMega</a></li>
85 <li><a href="#_using_an_active_switch_with_telemega">7.4. Using an Active Switch with TeleMega</a></li>
86 </ul>
87 </li>
88 <li><a href="#_easymega">8. EasyMega</a>
89 <ul class="sectlevel2">
90 <li><a href="#_easymega_screw_terminals">8.1. EasyMega Screw Terminals</a></li>
91 <li><a href="#_using_a_separate_pyro_battery_with_easymega">8.2. Using a Separate Pyro Battery with EasyMega</a></li>
92 <li><a href="#_using_only_one_battery_with_easymega">8.3. Using Only One Battery With EasyMega</a></li>
93 <li><a href="#_using_an_active_switch_with_easymega">8.4. Using an Active Switch with EasyMega</a></li>
94 </ul>
95 </li>
96 <li><a href="#_easytimer">9. EasyTimer</a>
97 <ul class="sectlevel2">
98 <li><a href="#_easytimer_screw_terminals">9.1. EasyTimer Screw Terminals</a></li>
99 <li><a href="#_connecting_a_battery_to_easytimer">9.2. Connecting A Battery To EasyTimer</a></li>
100 <li><a href="#_charging_lithium_batteries_2">9.3. Charging Lithium Batteries</a></li>
101 <li><a href="#_using_a_separate_pyro_battery_with_easytimer">9.4. Using a Separate Pyro Battery with EasyTimer</a></li>
102 <li><a href="#_using_an_active_switch_with_easytimer">9.5. Using an Active Switch with EasyTimer</a></li>
103 </ul>
104 </li>
105 <li><a href="#_installation">10. Installation</a></li>
106 <li><a href="#_using_altus_metrum_products">11. Using Altus Metrum Products</a>
107 <ul class="sectlevel2">
108 <li><a href="#_being_legal">11.1. Being Legal</a></li>
109 <li><a href="#_in_the_rocket">11.2. In the Rocket</a></li>
110 <li><a href="#_on_the_ground">11.3. On the Ground</a></li>
111 <li><a href="#_data_analysis">11.4. Data Analysis</a></li>
112 <li><a href="#_future_plans">11.5. Future Plans</a></li>
113 </ul>
114 </li>
115 <li><a href="#_altosui">12. AltosUI</a>
116 <ul class="sectlevel2">
117 <li><a href="#_monitor_flight">12.1. Monitor Flight</a></li>
118 <li><a href="#_save_flight_data">12.2. Save Flight Data</a></li>
119 <li><a href="#_replay_flight">12.3. Replay Flight</a></li>
120 <li><a href="#_graph_data">12.4. Graph Data</a></li>
121 <li><a href="#_export_data">12.5. Export Data</a></li>
122 <li><a href="#_configure_altimeter">12.6. Configure Altimeter</a></li>
123 <li><a href="#_configure_altosui">12.7. Configure AltosUI</a></li>
124 <li><a href="#_configure_groundstation">12.8. Configure Groundstation</a></li>
125 <li><a href="#_flash_image">12.9. Flash Image</a></li>
126 <li><a href="#_fire_igniter">12.10. Fire Igniter</a></li>
127 <li><a href="#_scan_channels">12.11. Scan Channels</a></li>
128 <li><a href="#_load_maps">12.12. Load Maps</a></li>
129 <li><a href="#_monitor_idle">12.13. Monitor Idle</a></li>
130 </ul>
131 </li>
132 <li><a href="#_altosdroid">13. AltosDroid</a>
133 <ul class="sectlevel2">
134 <li><a href="#_installing_altosdroid">13.1. Installing AltosDroid</a></li>
135 <li><a href="#_charging_telebt_battery">13.2. Charging TeleBT Battery</a></li>
136 <li><a href="#_connecting_to_telebt_over_bluetooth">13.3. Connecting to TeleBT over Bluetooth™</a></li>
137 <li><a href="#_connecting_to_teledongle_or_telebt_over_usb">13.4. Connecting to TeleDongle or TeleBT over USB</a></li>
138 <li><a href="#_altosdroid_menu">13.5. AltosDroid Menu</a></li>
139 <li><a href="#_setup">13.6. Setup</a></li>
140 <li><a href="#_idle_mode">13.7. Idle Mode</a></li>
141 <li><a href="#_altosdroid_flight_monitoring">13.8. AltosDroid Flight Monitoring</a></li>
142 <li><a href="#_pad">13.9. Pad</a></li>
143 <li><a href="#_flight">13.10. Flight</a></li>
144 <li><a href="#_recover">13.11. Recover</a></li>
145 <li><a href="#_map_2">13.12. Map</a></li>
146 <li><a href="#_downloading_flight_logs">13.13. Downloading Flight Logs</a></li>
147 </ul>
148 </li>
149 <li><a href="#_system_operation">Appendix A: System Operation</a>
150 <ul class="sectlevel2">
151 <li><a href="#_firmware_modes">A.1. Firmware Modes</a></li>
152 <li><a href="#_gps">A.2. GPS</a></li>
153 <li><a href="#_controlling_an_altimeter_over_the_radio_link">A.3. Controlling An Altimeter Over The Radio Link</a></li>
154 <li><a href="#_ground_testing">A.4. Ground Testing</a></li>
155 <li><a href="#_radio_link">A.5. Radio Link</a></li>
156 <li><a href="#_aprs">A.6. APRS</a></li>
157 <li><a href="#_configurable_parameters">A.7. Configurable Parameters</a></li>
158 </ul>
159 </li>
160 <li><a href="#_example_pyro_channel_configurations">Appendix B: Example Pyro Channel Configurations</a>
161 <ul class="sectlevel2">
162 <li><a href="#_two_stage_flights">B.1. Two-Stage Flights</a></li>
163 <li><a href="#_triggered_clusters_and_air_starts">B.2. Triggered Clusters and Air Starts</a></li>
164 <li><a href="#_redundant_apogee">B.3. Redundant Apogee</a></li>
165 <li><a href="#_redundant_main">B.4. Redundant Main</a></li>
166 <li><a href="#_apogee_above_baro_sensor_limit">B.5. Apogee Above Baro Sensor Limit</a></li>
167 </ul>
168 </li>
169 <li><a href="#_handling_precautions">Appendix C: Handling Precautions</a></li>
170 <li><a href="#_updating_device_firmware">Appendix D: Updating Device Firmware</a>
171 <ul class="sectlevel2">
172 <li><a href="#_updating_telemega_telemetrum_v2_or_newer_telemini_v3_easymega_easymini_teledongle_v3_or_telebt_v3_firmware">D.1. Updating TeleMega, TeleMetrum v2 or newer, TeleMini v3, EasyMega, EasyMini, TeleDongle v3 or TeleBT v3 Firmware</a></li>
173 <li><a href="#_pair_programming">D.2. Pair Programming</a></li>
174 </ul>
175 </li>
176 <li><a href="#_frequency_calibration">Appendix E: Frequency Calibration</a>
177 <ul class="sectlevel2">
178 <li><a href="#_background_information">E.1. Background Information</a></li>
179 <li><a href="#_required_equipment">E.2. Required Equipment</a></li>
180 <li><a href="#_rf_calibration_procedure">E.3. RF Calibration Procedure</a></li>
181 </ul>
182 </li>
183 <li><a href="#_flight_data_recording">Appendix F: Flight Data Recording</a></li>
184 <li><a href="#_altus_metrum_hardware_specifications">Appendix G: Altus Metrum Hardware Specifications</a></li>
185 <li><a href="#_release_notes">Appendix H: Release Notes</a>
186 <ul class="sectlevel2">
187 <li><a href="#_release_notes_for_version_1_9_15">H.1. Release Notes for Version 1.9.15</a></li>
188 <li><a href="#_release_notes_for_version_1_9_14">H.2. Release Notes for Version 1.9.14</a></li>
189 <li><a href="#_release_notes_for_version_1_9_13">H.3. Release Notes for Version 1.9.13</a></li>
190 <li><a href="#_release_notes_for_version_1_9_12">H.4. Release Notes for Version 1.9.12</a></li>
191 <li><a href="#_release_notes_for_version_1_9_11">H.5. Release Notes for Version 1.9.11</a></li>
192 <li><a href="#_release_notes_for_version_1_9_10">H.6. Release Notes for Version 1.9.10</a></li>
193 <li><a href="#_release_notes_for_version_1_9_9">H.7. Release Notes for Version 1.9.9</a></li>
194 <li><a href="#_release_notes_for_version_1_9_8">H.8. Release Notes for Version 1.9.8</a></li>
195 <li><a href="#_release_notes_for_version_1_9_7">H.9. Release Notes for Version 1.9.7</a></li>
196 <li><a href="#_release_notes_for_version_1_9_6">H.10. Release Notes for Version 1.9.6</a></li>
197 <li><a href="#_release_notes_for_version_1_9_5">H.11. Release Notes for Version 1.9.5</a></li>
198 <li><a href="#_release_notes_for_version_1_9_4">H.12. Release Notes for Version 1.9.4</a></li>
199 <li><a href="#_release_notes_for_version_1_9_3">H.13. Release Notes for Version 1.9.3</a></li>
200 <li><a href="#_release_notes_for_version_1_9_2">H.14. Release Notes for Version 1.9.2</a></li>
201 <li><a href="#_release_notes_for_version_1_9_1">H.15. Release Notes for Version 1.9.1</a></li>
202 <li><a href="#_release_notes_for_version_1_9">H.16. Release Notes for Version 1.9</a></li>
203 <li><a href="#_release_notes_for_version_1_8_7">H.17. Release Notes for Version 1.8.7</a></li>
204 <li><a href="#_release_notes_for_version_1_8_6">H.18. Release Notes for Version 1.8.6</a></li>
205 <li><a href="#_release_notes_for_version_1_8_5">H.19. Release Notes for Version 1.8.5</a></li>
206 <li><a href="#_release_notes_for_version_1_8_4">H.20. Release Notes for Version 1.8.4</a></li>
207 <li><a href="#_release_notes_for_version_1_8_3">H.21. Release Notes for Version 1.8.3</a></li>
208 <li><a href="#_release_notes_for_version_1_8_2">H.22. Release Notes for Version 1.8.2</a></li>
209 <li><a href="#_release_notes_for_version_1_8_1">H.23. Release Notes for Version 1.8.1</a></li>
210 <li><a href="#_release_notes_for_version_1_8">H.24. Release Notes for Version 1.8</a></li>
211 <li><a href="#_release_notes_for_version_1_7">H.25. Release Notes for Version 1.7</a></li>
212 <li><a href="#_release_notes_for_version_1_6_8">H.26. Release Notes for Version 1.6.8</a></li>
213 <li><a href="#_release_notes_for_version_1_6_5">H.27. Release Notes for Version 1.6.5</a></li>
214 <li><a href="#_release_notes_for_version_1_6_4">H.28. Release Notes for Version 1.6.4</a></li>
215 <li><a href="#_release_notes_for_version_1_6_3">H.29. Release Notes for Version 1.6.3</a></li>
216 <li><a href="#_release_notes_for_version_1_6_2">H.30. Release Notes for Version 1.6.2</a></li>
217 <li><a href="#_release_notes_for_version_1_6_1">H.31. Release Notes for Version 1.6.1</a></li>
218 <li><a href="#_release_notes_for_version_1_6">H.32. Release Notes for Version 1.6</a></li>
219 <li><a href="#_release_notes_for_version_1_5">H.33. Release Notes for Version 1.5</a></li>
220 <li><a href="#_release_notes_for_version_1_4_2">H.34. Release Notes for Version 1.4.2</a></li>
221 <li><a href="#_release_notes_for_version_1_4_1">H.35. Release Notes for Version 1.4.1</a></li>
222 <li><a href="#_release_notes_for_version_1_4">H.36. Release Notes for Version 1.4</a></li>
223 <li><a href="#_release_notes_for_version_1_3_2">H.37. Release Notes for Version 1.3.2</a></li>
224 <li><a href="#_release_notes_for_version_1_3_1">H.38. Release Notes for Version 1.3.1</a></li>
225 <li><a href="#_release_notes_for_version_1_3">H.39. Release Notes for Version 1.3</a></li>
226 <li><a href="#_release_notes_for_version_1_2_1">H.40. Release Notes for Version 1.2.1</a></li>
227 <li><a href="#_release_notes_for_version_1_2">H.41. Release Notes for Version 1.2</a></li>
228 <li><a href="#_release_notes_for_version_1_1">H.42. Release Notes for Version 1.1</a></li>
229 <li><a href="#_release_notes_for_version_1_1_2">H.43. Release Notes for Version 1.1</a></li>
230 <li><a href="#_release_notes_for_version_1_0_1">H.44. Release Notes for Version 1.0.1</a></li>
231 <li><a href="#_release_notes_for_version_0_9_2">H.45. Release Notes for Version 0.9.2</a></li>
232 <li><a href="#_release_notes_for_version_0_9">H.46. Release Notes for Version 0.9</a></li>
233 <li><a href="#_release_notes_for_version_0_8">H.47. Release Notes for Version 0.8</a></li>
234 <li><a href="#_release_notes_for_version_0_7_1">H.48. Release Notes for Version 0.7.1</a></li>
235 </ul>
236 </li>
237 </ul>
238 </div>
239 </div>
240 <div id="content">
241 <div id="preamble">
242 <div class="sectionbody">
243 <div id="logo" class="imageblock">
244 <div class="content">
245 <a class="image" href="https://altusmetrum.org"><img src="altusmetrum-oneline.svg" alt="Altus Metrum"></a>
246 </div>
247 </div>
248 </div>
249 </div>
250 <div class="sect1">
251 <h2 id="_license">License</h2>
252 <div class="sectionbody">
253 <div class="paragraph">
254 <p>Copyright © 2023 Bdale Garbee and Keith Packard</p>
255 </div>
256 <div class="paragraph">
257 <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>
258 </div>
259 </div>
260 </div>
261 <div class="sect1">
262 <h2 id="_acknowledgments">Acknowledgments</h2>
263 <div class="sectionbody">
264 <div class="paragraph">
265 <p>Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The
266 Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
267 Kit” which formed the basis of the original Getting Started chapter
268 in this manual.  Bob was one of our first customers for a production
269 TeleMetrum, and his continued enthusiasm and contributions
270 are immensely gratifying and highly appreciated!</p>
271 </div>
272 <div class="paragraph">
273 <p>And thanks to Anthony (AJ) Towns for major contributions including
274 the AltosUI graphing and site map code and associated documentation.
275 Free software means that our customers and friends can become our
276 collaborators, and we certainly appreciate this level of
277 contribution!</p>
278 </div>
279 <div class="paragraph">
280 <p>Have fun using these products, and we hope to meet all of you
281 out on the rocket flight line somewhere.</p>
282 </div>
283 <div class="verseblock">
284 <pre class="content">Bdale Garbee, KB0G
285 NAR #87103, TRA #12201</pre>
286 </div>
287 <div class="verseblock">
288 <pre class="content">Keith Packard, K7WQ
289 NAR #88757, TRA #12200</pre>
290 </div>
291 </div>
292 </div>
293 <div class="sect1">
294 <h2 id="_introduction_and_overview">1. Introduction and Overview</h2>
295 <div class="sectionbody">
296 <div class="paragraph">
297 <p>Welcome to the Altus Metrum community!  Our circuits and software reflect
298 our passion for both hobby rocketry and Free Software.  We hope their
299 capabilities and performance will delight you in every way, but by
300 releasing all of our hardware and software designs under open licenses,
301 we also hope to empower you to take as active a role in our collective
302 future as you wish!</p>
303 </div>
304 <div class="paragraph">
305 <p>Our goal is to include in this document all of the information required
306 to successfully configure and use Altus Metrum products.  But
307 documentation is a lot like software in that it can contain "bugs",
308 and can probably always be improved!  If you have questions that
309 aren&#8217;t answered in this manual, or just need a little help figuring
310 things out, we strongly suggest joining the Altus Metrum user email
311 list, which you can do by visiting
312 <a href="https://lists.gag.com/mailman/listinfo/altusmetrum" class="bare">https://lists.gag.com/mailman/listinfo/altusmetrum</a>.  There&#8217;s a lot
313 of useful information in the mailing list archives!</p>
314 </div>
315 <div class="paragraph">
316 <p>The first device created for our community was TeleMetrum, a dual
317 deploy altimeter with fully integrated GPS and radio telemetry
318 as standard features, and a “companion interface” that will
319 support optional capabilities in the future. The later versions
320 of TeleMetrum, v2 and newer, have all of the same features but with
321 improved sensors and radio to offer increased performance.</p>
322 </div>
323 <div class="paragraph">
324 <p>Our second device was TeleMini, a dual deploy altimeter with
325 radio telemetry and radio direction finding. The first version
326 of this device was only 13mm by 38mm (½ inch by 1½ inches) and
327 could fit easily in an 18mm air-frame. The latest version, v3.0,
328 includes a beeper, higher power radio, extended on-board
329 flight logging and an improved barometric sensor.</p>
330 </div>
331 <div class="paragraph">
332 <p>TeleMega is our most sophisticated device, including six pyro
333 channels (four of which are fully programmable), integrated GPS,
334 integrated gyroscopes for staging/air-start inhibit and high
335 performance telemetry.</p>
336 </div>
337 <div class="paragraph">
338 <p>EasyMini is a dual-deploy altimeter with logging and built-in
339 USB data download.</p>
340 </div>
341 <div class="paragraph">
342 <p>EasyMega is essentially a TeleMega board with the GPS receiver
343 and telemetry transmitter removed. It offers the same 6 pyro
344 channels and integrated gyroscopes for staging/air-start inhibit.</p>
345 </div>
346 <div class="paragraph">
347 <p>TeleDongle v0.2 was our first ground station, providing a USB to RF
348 interfaces for communicating with the altimeters. Combined with
349 your choice of antenna and notebook computer, TeleDongle and our
350 associated user interface software form a complete ground
351 station capable of logging and displaying in-flight telemetry,
352 aiding rocket recovery, then processing and archiving flight
353 data for analysis and review. The latest version, TeleDongle
354 v3, has all new electronics with a higher performance radio
355 for improved range.</p>
356 </div>
357 <div class="paragraph">
358 <p>For a slightly more portable ground station experience that also
359 provides direct rocket recovery support, TeleBT offers flight
360 monitoring and data logging using a  Bluetooth™ connection between
361 the receiver and an Android device that has the AltosDroid
362 application installed from the Google Play store.</p>
363 </div>
364 <div class="paragraph">
365 <p>More products will be added to the Altus Metrum family over time, and
366 we currently envision that this will be a single, comprehensive manual
367 for the entire product family.</p>
368 </div>
369 </div>
370 </div>
371 <div class="sect1">
372 <h2 id="_getting_started">2. Getting Started</h2>
373 <div class="sectionbody">
374 <div class="paragraph">
375 <p>The first thing to do after you open the box is to hook up a
376 battery and charge it if necessary.</p>
377 </div>
378 <div class="sect2">
379 <h3 id="_batteries">2.1. Batteries</h3>
380 <div class="paragraph">
381 <p>For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the
382 corresponding socket of the device and then using the USB
383 cable to plug the flight computer into your computer&#8217;s USB socket. The
384 on-board circuitry will charge the battery whenever it is plugged
385 in, because the on-off switch does NOT control the
386 charging circuitry.
387 The Lithium Polymer
388 EasyTimer,
389 TeleMini and
390 EasyMini battery can be charged by disconnecting it
391 from the board and plugging it into a standalone
392 battery charger such as <a href="http://altusmetrum.org/LipoCharger">LipoCharger</a>, and
393 connecting that via a USB cable to a laptop or other
394 USB power source.</p>
395 </div>
396 <div class="paragraph">
397 <p>You can also choose to use another battery with
398 EasyTimer and
399 EasyMini, anything supplying between 4 and 12 volts should
400 work fine (like a standard 9V battery), but if you are planning
401 to fire pyro charges, ground testing is required to verify that
402 the battery supplies enough current to fire your chosen e-matches.</p>
403 </div>
404 <div class="admonitionblock note">
405 <table>
406 <tr>
407 <td class="icon">
408 <img src="./images/icons/note.svg" alt="Note">
409 </td>
410 <td class="content">
411 <div class="paragraph">
412 <p>On TeleMetrum v1 boards, when the GPS chip is initially
413 searching for satellites, TeleMetrum will consume more current
414 than it pulls from the USB port, so the battery must be
415 attached in order to get satellite lock.  Once GPS is locked,
416 the current consumption goes back down enough to enable charging
417 while running. So it&#8217;s a good idea to fully charge the battery
418 as your first item of business so there is no issue getting and
419 maintaining satellite lock.  The yellow charge indicator led
420 will go out when the battery is nearly full and the charger goes
421 to trickle charge. It can take several hours to fully recharge a
422 deeply discharged battery.</p>
423 </div>
424 <div class="paragraph">
425 <p>TeleMetrum v2 or newer, TeleMega and EasyMega use a
426 higher power battery charger, allowing them to charge
427 the battery while running the board at maximum
428 power. When the battery is charging, or when the board
429 is consuming a lot of power, the red LED will be
430 lit. When the battery is fully charged, the green LED
431 will be lit. When the battery is damaged or missing,
432 both LEDs will be lit, which appears yellow.</p>
433 </div>
434 </td>
435 </tr>
436 </table>
437 </div>
438 </div>
439 <div class="sect2">
440 <h3 id="_ground_station_hardware">2.2. Ground Station Hardware</h3>
441 <div class="paragraph">
442 <p>There are two ground stations available, the TeleDongle USB to
443 RF interface and the TeleBT Bluetooth/USB to RF interface.  If
444 you plug either of these in to your Mac or Linux computer it should
445 “just work”, showing up as a serial port device.  Windows systems need
446 driver information that is part of the AltOS download to know that the
447 existing USB modem driver will work.  We therefore recommend installing
448 our software before plugging in TeleDongle if you are using a Windows
449 computer.  If you are using an older version of Linux and are having
450 problems, try moving to a fresher kernel (2.6.33 or
451 newer).</p>
452 </div>
453 </div>
454 <div class="sect2">
455 <h3 id="_linuxmacwindows_ground_station_software">2.3. Linux/Mac/Windows Ground Station Software</h3>
456 <div class="paragraph">
457 <p>Next you should obtain and install the AltOS software.
458 The AltOS distribution includes the AltosUI ground
459 station program, current firmware images for all of
460 the hardware, and a number of standalone utilities
461 that are rarely needed.  Pre-built binary packages are
462 available for Linux, Microsoft Windows, Mac OSX. Full
463 source code and build instructions are also
464 available. The latest version may always be downloaded
465 from <a href="http://altusmetrum.org/AltOS" class="bare">http://altusmetrum.org/AltOS</a></p>
466 </div>
467 </div>
468 <div class="sect2">
469 <h3 id="_android_ground_station_software">2.4. Android Ground Station Software</h3>
470 <div class="paragraph">
471 <p>TeleBT can also connect to an Android device over
472 BlueTooth or USB. The
473 <a href="https://play.google.com/store/apps/details?id=org.altusmetrum.AltosDroid">AltosDroid
474 Android application</a> is available from the
475 <a href="https://play.google.com">Google Play system</a>.</p>
476 </div>
477 <div class="paragraph">
478 <p>You don&#8217;t need a data plan to use AltosDroid, but
479 without network access, you&#8217;ll want to download
480 offline map data before wandering away from the
481 network.</p>
482 </div>
483 </div>
484 </div>
485 </div>
486 <div class="sect1">
487 <h2 id="_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</h2>
488 <div class="sectionbody">
489 <div class="paragraph">
490 <p>Here are general instructions for hooking up an Altus Metrum
491 flight computer. Instructions specific to each model will be
492 found in the section devoted to that model below.</p>
493 </div>
494 <div class="sect2">
495 <h3 id="_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</h3>
496 <div class="paragraph">
497 <p>To prevent electrical interference from affecting the
498 operation of the flight computer, it&#8217;s important to always
499 twist pairs of wires connected to the board. Twist the switch
500 leads, the pyro leads and the battery leads. This reduces
501 interference through a mechanism called common mode rejection.</p>
502 </div>
503 </div>
504 <div class="sect2">
505 <h3 id="_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</h3>
506 <div class="paragraph">
507 <p>All Altus Metrum flight computers have a two pin JST PH
508 series connector to connect up a single-cell Lithium Polymer
509 cell (3.7V nominal). You can purchase matching batteries
510 from the Altus Metrum store, or other vendors, or you can
511 make your own. Pin 1 of the connector is positive, pin 2 is
512 negative. Spark Fun sells a cable with the connector
513 attached, which they call a
514 <a href="https://www.sparkfun.com/products/9914">JST Jumper 2 Wire Assembly</a></p>
515 </div>
516 <div class="admonitionblock warning">
517 <table>
518 <tr>
519 <td class="icon">
520 <img src="./images/icons/warning.svg" alt="Warning">
521 </td>
522 <td class="content">
523 Many RC vendors also sell lithium polymer batteries with
524 this same connector. All that we have found use the opposite
525 polarity, and if you use them that way, you will damage or
526 destroy the flight computer.
527 </td>
528 </tr>
529 </table>
530 </div>
531 </div>
532 <div class="sect2">
533 <h3 id="_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</h3>
534 <div class="paragraph">
535 <p>Altus Metrum flight computers always have two screws for
536 each pyro charge. This means you shouldn&#8217;t need to put two
537 wires into a screw terminal or connect leads from pyro
538 charges together externally.</p>
539 </div>
540 <div class="paragraph">
541 <p>On the flight computer, one lead from each charge is hooked
542 to the positive battery terminal through the power switch.
543 The other lead is connected through the pyro circuit, which
544 is connected to the negative battery terminal when the pyro
545 circuit is fired.</p>
546 </div>
547 </div>
548 <div class="sect2">
549 <h3 id="_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</h3>
550 <div class="paragraph">
551 <p>Altus Metrum flight computers need an external power switch
552 to turn them on. This disconnects both the computer and the
553 pyro charges from the battery, preventing the charges from
554 firing when in the Off position. The switch is in-line with
555 the positive battery terminal.</p>
556 </div>
557 </div>
558 <div class="sect2">
559 <h3 id="_understanding_beeps">3.5. Understanding Beeps</h3>
560 <div class="paragraph">
561 <p>Altus Metrum flight computers include a beeper to
562 provide information about the state of the system.
563 TeleMini doesn&#8217;t have room for a beeper, so instead it
564 uses an LED, which works the same, except for every
565 beep is replaced with the flash of the LED.</p>
566 </div>
567 <div class="paragraph">
568 <p>Here&#8217;s a short summary of all of the modes and the
569 beeping
570 (or flashing, in the case of TeleMini v1)
571 that accompanies each mode. In the description of the
572 beeping pattern, “dit” means a short beep while "dah"
573 means a long beep (three times as long). “Brap” means
574 a long dissonant tone.</p>
575 </div>
576 <table class="tableblock frame-all grid-all stretch">
577 <caption class="title">Table 1. AltOS Modes</caption>
578 <colgroup>
579 <col style="width: 16.6666%;">
580 <col style="width: 16.6666%;">
581 <col style="width: 33.3333%;">
582 <col style="width: 33.3335%;">
583 </colgroup>
584 <tbody>
585 <tr>
586 <td class="tableblock halign-left valign-top"><p class="tableblock">Mode Name</p></td>
587 <td class="tableblock halign-left valign-top"><p class="tableblock">Abbreviation</p></td>
588 <td class="tableblock halign-left valign-top"><p class="tableblock">Beeps</p></td>
589 <td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
590 </tr>
591 <tr>
592 <td class="tableblock halign-left valign-top"><p class="tableblock">Startup</p></td>
593 <td class="tableblock halign-left valign-top"><p class="tableblock">S</p></td>
594 <td class="tableblock halign-left valign-top"><p class="tableblock">battery voltage in decivolts</p></td>
595 <td class="tableblock halign-left valign-top"><p class="tableblock">Calibrating sensors, detecting orientation.</p></td>
596 </tr>
597 <tr>
598 <td class="tableblock halign-left valign-top"><p class="tableblock">Idle</p></td>
599 <td class="tableblock halign-left valign-top"><p class="tableblock">I</p></td>
600 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
601 <td class="tableblock halign-left valign-top"><p class="tableblock">Ready to accept commands over USB
602 or radio link.</p></td>
603 </tr>
604 <tr>
605 <td class="tableblock halign-left valign-top"><p class="tableblock">Pad</p></td>
606 <td class="tableblock halign-left valign-top"><p class="tableblock">P</p></td>
607 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dah dit</p></td>
608 <td class="tableblock halign-left valign-top"><p class="tableblock">Waiting for launch. Not listening for commands.</p></td>
609 </tr>
610 <tr>
611 <td class="tableblock halign-left valign-top"><p class="tableblock">Boost</p></td>
612 <td class="tableblock halign-left valign-top"><p class="tableblock">B</p></td>
613 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dit</p></td>
614 <td class="tableblock halign-left valign-top"><p class="tableblock">Accelerating upwards.</p></td>
615 </tr>
616 <tr>
617 <td class="tableblock halign-left valign-top"><p class="tableblock">Fast</p></td>
618 <td class="tableblock halign-left valign-top"><p class="tableblock">F</p></td>
619 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dah dit</p></td>
620 <td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, but moving faster than 200m/s.</p></td>
621 </tr>
622 <tr>
623 <td class="tableblock halign-left valign-top"><p class="tableblock">Coast</p></td>
624 <td class="tableblock halign-left valign-top"><p class="tableblock">C</p></td>
625 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dah dit</p></td>
626 <td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, moving slower than 200m/s</p></td>
627 </tr>
628 <tr>
629 <td class="tableblock halign-left valign-top"><p class="tableblock">Drogue</p></td>
630 <td class="tableblock halign-left valign-top"><p class="tableblock">D</p></td>
631 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit</p></td>
632 <td class="tableblock halign-left valign-top"><p class="tableblock">Descending after apogee. Above main height.</p></td>
633 </tr>
634 <tr>
635 <td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
636 <td class="tableblock halign-left valign-top"><p class="tableblock">M</p></td>
637 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dah</p></td>
638 <td class="tableblock halign-left valign-top"><p class="tableblock">Descending. Below main height.</p></td>
639 </tr>
640 <tr>
641 <td class="tableblock halign-left valign-top"><p class="tableblock">Landed</p></td>
642 <td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
643 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dit dit</p></td>
644 <td class="tableblock halign-left valign-top"><p class="tableblock">Stable altitude for at least ten seconds.</p></td>
645 </tr>
646 <tr>
647 <td class="tableblock halign-left valign-top"><p class="tableblock">Sensor error</p></td>
648 <td class="tableblock halign-left valign-top"><p class="tableblock">X</p></td>
649 <td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dah</p></td>
650 <td class="tableblock halign-left valign-top"><p class="tableblock">Error detected during sensor calibration.</p></td>
651 </tr>
652 </tbody>
653 </table>
654 <div class="paragraph">
655 <p>Here&#8217;s a summary of all of the Pad and Idle mode
656 indications. In Idle mode, you&#8217;ll hear one of these
657 just once after the two short dits indicating idle
658 mode. In Pad mode, after the dit dah dah dit
659 indicating Pad mode, you&#8217;ll hear these once every five
660 seconds.</p>
661 </div>
662 <table class="tableblock frame-all grid-all stretch">
663 <caption class="title">Table 2. Pad/Idle Indications</caption>
664 <colgroup>
665 <col style="width: 20%;">
666 <col style="width: 20%;">
667 <col style="width: 60%;">
668 </colgroup>
669 <thead>
670 <tr>
671 <th class="tableblock halign-left valign-top">Name</th>
672 <th class="tableblock halign-left valign-top">Beeps</th>
673 <th class="tableblock halign-left valign-top">Description</th>
674 </tr>
675 </thead>
676 <tbody>
677 <tr>
678 <td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
679 <td class="tableblock halign-left valign-top"><p class="tableblock">brap</p></td>
680 <td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
681 </tr>
682 <tr>
683 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
684 <td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
685 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
686 </tr>
687 <tr>
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">dit dit</p></td>
690 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
691 </tr>
692 <tr>
693 <td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
694 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
695 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
696 </tr>
697 <tr>
698 <td class="tableblock halign-left valign-top"><p class="tableblock">Storage Full</p></td>
699 <td class="tableblock halign-left valign-top"><p class="tableblock">warble</p></td>
700 <td class="tableblock halign-left valign-top"><p class="tableblock">On-board data logging storage is full. This will
701 not prevent the flight computer from safely
702 controlling the flight or transmitting telemetry
703 signals, but no record of the flight will be
704 stored in on-board flash.</p></td>
705 </tr>
706 <tr>
707 <td class="tableblock halign-left valign-top"><p class="tableblock">Additional Igniters</p></td>
708 <td class="tableblock halign-left valign-top"><p class="tableblock">four very short beeps</p></td>
709 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity indication for the additional pyro
710 channels on TeleMega, EasyMega and EasyTimer. One high tone for
711 no continuity, one low tone for continuity. On TeleMega and EasyMegay, these are
712 produced after the continuity indicators for the two
713 primary igniter channels.</p></td>
714 </tr>
715 </tbody>
716 </table>
717 <div class="paragraph">
718 <p>For devices with a radio transmitter, in addition to
719 the digital and APRS telemetry signals, you can also
720 receive audio tones with a standard amateur
721 70cm FM receiver. While on the pad, you will hear
722 igniter status once every five seconds.</p>
723 </div>
724 <table class="tableblock frame-all grid-all stretch">
725 <caption class="title">Table 3. Pad Radio Indications</caption>
726 <colgroup>
727 <col style="width: 20%;">
728 <col style="width: 20%;">
729 <col style="width: 60%;">
730 </colgroup>
731 <thead>
732 <tr>
733 <th class="tableblock halign-left valign-top">Name</th>
734 <th class="tableblock halign-left valign-top">Beeps</th>
735 <th class="tableblock halign-left valign-top">Description</th>
736 </tr>
737 </thead>
738 <tbody>
739 <tr>
740 <td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
741 <td class="tableblock halign-left valign-top"><p class="tableblock">½ second tone</p></td>
742 <td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
743 </tr>
744 <tr>
745 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
746 <td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
747 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
748 </tr>
749 <tr>
750 <td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
751 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
752 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
753 </tr>
754 <tr>
755 <td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
756 <td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
757 <td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
758 </tr>
759 </tbody>
760 </table>
761 <div class="paragraph">
762 <p>During ascent, the tones will be muted to allow the
763 telemetry data to consume the full radio bandwidth.</p>
764 </div>
765 <div class="paragraph">
766 <p>During descent and after landing, a ½ second tone will
767 be transmitted every five seconds. This can be used to
768 find the rocket using RDF techniques when the signal
769 is too weak to receive GPS information via telemetry
770 or APRS.</p>
771 </div>
772 </div>
773 <div class="sect2">
774 <h3 id="_turning_on_the_power">3.6. Turning On the Power</h3>
775 <div class="paragraph">
776 <p>Connect a battery and power switch and turn the switch
777 to "on". The flight computer will signal power on by
778 reporting the battery voltage and then perform an internal self
779 test and sensor calibration.</p>
780 </div>
781 <div class="paragraph">
782 <p>Once the self test and calibration are complete, there
783 are two modes that an Altus Metrum flight computer can
784 operate in:</p>
785 </div>
786 <div class="dlist">
787 <dl>
788 <dt class="hdlist1">Flight/Pad</dt>
789 <dd>
790 <p>The flight computer is waiting to detect
791 launch and then fly the rocket. In this mode, the USB
792 link is
793 disabled, and the radio goes into transmit-only mode.
794 The only way to get out of this
795 mode is to power the flight computer down. See below for how to get the flight
796 computer to come up in Flight/Pad mode at power on.</p>
797 </dd>
798 <dt class="hdlist1">Idle</dt>
799 <dd>
800 <p>The flight computer is ready to communicate over USB
801 and in packet mode over the radio.
802 You can configure
803 the flight computer, download data or display
804 the current state. See below for how to get the flight
805 computer to come up in Idle mode at power on.</p>
806 </dd>
807 </dl>
808 </div>
809 <div class="paragraph">
810 <p>For flight computers with accelerometers (TeleMetrum,
811 EasyMega, TeleMega and EasyTimer), the mode is selected by the
812 orientation of the board during the self test
813 interval. If the board is pointing upwards as if ready
814 to fly, it will enter Flight/Pad mode. Otherwise, it will
815 enter Idle mode.</p>
816 </div>
817 <div class="paragraph">
818 <p>For EasyMini, if the USB cable is connected to a
819 computer, it will enter Idle mode. Otherwise, it will
820 enter Flight/Pad mode.</p>
821 </div>
822 <div class="paragraph">
823 <p>For TeleMini v1.0, if a packet link is waiting to
824 connect when the device is powered on, it will enter
825 Idle mode, otherwise it will enter Flight/Pad mode.</p>
826 </div>
827 <div class="paragraph">
828 <p>You can see in <a href="#_understanding_beeps">Understanding Beeps</a>
829 how to tell which mode the flight computer is in.</p>
830 </div>
831 </div>
832 <div class="sect2">
833 <h3 id="_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</h3>
834 <div class="paragraph">
835 <p>You can use an active switch circuit, such as the
836 Featherweight Magnetic Switch, with any Altus Metrum
837 flight computer. These require three connections, one to
838 the battery, one to the positive power input on the flight
839 computer and one to ground. Find instructions on how to
840 hook these up for each flight computer below. Then follow
841 the instructions that come with your active switch to
842 connect it up.</p>
843 </div>
844 </div>
845 <div class="sect2">
846 <h3 id="_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</h3>
847 <div class="paragraph">
848 <p>As mentioned above in <a href="#_hooking_up_pyro_charges">Hooking Up Pyro Charges</a>, one
849 lead for each of the pyro charges is connected through
850 the power switch directly to the positive battery
851 terminal. The other lead is connected to the pyro
852 circuit, which connects it to the negative battery
853 terminal when the pyro circuit is fired. The pyro
854 circuit on all of the flight computers is designed to
855 handle up to 16V.</p>
856 </div>
857 <div class="paragraph">
858 <p>To use a separate pyro battery, connect the negative pyro
859 battery terminal to the flight computer ground terminal,
860 the the switched positive battery terminal to the igniter
861 and the other
862 igniter lead to the negative pyro terminal on the flight
863 computer. When the pyro channel fires, it will complete the
864 circuit between the negative pyro terminal and the ground
865 terminal, firing the igniter. Specific instructions on how
866 to hook this up for each flight computer will be found
867 in the section below for that flight computer.</p>
868 </div>
869 <div class="paragraph">
870 <p>Note that you must include a switch in the positive lead of
871 the pyro battery for safety, as the on-board power switch
872 circuit on our product only controls current flow from the
873 the primary or system battery!</p>
874 </div>
875 </div>
876 <div class="sect2">
877 <h3 id="_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</h3>
878 <div class="paragraph">
879 <p>EasyMini
880 and EasyTimer are
881 designed to use either a
882 lithium polymer battery or any other battery producing
883 between 4 and 12 volts, such as a rectangular 9V
884 battery.</p>
885 </div>
886 <div class="admonitionblock warning">
887 <table>
888 <tr>
889 <td class="icon">
890 <img src="./images/icons/warning.svg" alt="Warning">
891 </td>
892 <td class="content">
893 TeleMini,
894 TeleMega, EasyMega and TeleMetrum are only designed to
895 operate off a single-cell Lithium Polymer battery and
896 cannot be used with any other kind. Connecting a
897 different kind of battery to any of these will destroy
898 the board.
899 </td>
900 </tr>
901 </table>
902 </div>
903 </div>
904 <div class="sect2">
905 <h3 id="_using_packet_link_mode">3.10. Using Packet Link Mode</h3>
906 <div class="paragraph">
907 <p>All AltusMetrum flight computers that have a radio can
908 communicate with the ground station software for
909 configuration and other operations using the Packet
910 Link mode. This uses radio communication instead of a
911 USB cable. To set this up, the ground station software
912 must be configured to the correct data rate, frequency
913 and callsign.</p>
914 </div>
915 <div class="paragraph">
916 <p>You can monitor Packet Link mode from TeleBT or
917 TeleDongle by watching the LEDs. Each time the device
918 transmits, the red LED will flash. When the link is
919 busy, or when the link is not working, the device will
920 transmit 10 times per second, so the LED will flash
921 rapidly. When the link is working and there is no data
922 to send, the link will flash once per second, and the
923 LED will flash more slowly.</p>
924 </div>
925 </div>
926 </div>
927 </div>
928 <div class="sect1">
929 <h2 id="_telemetrum">4. TeleMetrum</h2>
930 <div class="sectionbody">
931 <div class="imageblock">
932 <div class="content">
933 <img src="telemetrum-v2.0-th.jpg" alt="telemetrum v2.0 th" width="400">
934 </div>
935 <div class="title">Figure 1. TeleMetrum v2 Board</div>
936 </div>
937 <div class="imageblock">
938 <div class="content">
939 <img src="telemetrum-v1.1-thside.jpg" alt="telemetrum v1.1 thside" width="400">
940 </div>
941 <div class="title">Figure 2. TeleMetrum v1 Board</div>
942 </div>
943 <div class="paragraph">
944 <p>TeleMetrum is a 1 inch by 2¾ inch circuit board.  It was designed to
945 fit inside coupler for 29mm air-frame tubing, but using it in a tube that
946 small in diameter may require some creativity in mounting and wiring
947 to succeed!  The presence of an accelerometer means TeleMetrum should
948 be aligned along the flight axis of the airframe, and by default the ¼
949 wave UHF wire antenna should be on the nose-cone end of the board.  The
950 antenna wire is about 7 inches long, and wiring for a power switch and
951 the e-matches for apogee and main ejection charges depart from the
952 fin can end of the board, meaning an ideal “simple” avionics
953 bay for TeleMetrum should have at least 10 inches of interior length.</p>
954 </div>
955 <div class="paragraph">
956 <p>There are two generations of the TeleMetrum design. The
957 major changes after v1 generation are:</p>
958 </div>
959 <div class="ulist">
960 <ul>
961 <li>
962 <p>uBlox GPS chip certified for altitude records</p>
963 </li>
964 <li>
965 <p>Higher power radio (40mW vs 10mW)</p>
966 </li>
967 <li>
968 <p>APRS support</p>
969 </li>
970 </ul>
971 </div>
972 <div class="paragraph">
973 <p>Otherwise, they&#8217;re the same size, with mounting holes and
974 screw terminals in the same position.</p>
975 </div>
976 <div class="sect2">
977 <h3 id="_telemetrum_screw_terminals">4.1. TeleMetrum Screw Terminals</h3>
978 <div class="paragraph">
979 <p>TeleMetrum has six screw terminals on the end of the board
980 opposite the telemetry antenna. Two are for the power
981 switch, and two each for the apogee and main igniter
982 circuits. Using the picture above and starting from the top,
983 the terminals are as follows:</p>
984 </div>
985 <table class="tableblock frame-all grid-all stretch">
986 <caption class="title">Table 4. TeleMetrum Screw Terminals</caption>
987 <colgroup>
988 <col style="width: 13.3333%;">
989 <col style="width: 20%;">
990 <col style="width: 66.6667%;">
991 </colgroup>
992 <thead>
993 <tr>
994 <th class="tableblock halign-left valign-top">Terminal #</th>
995 <th class="tableblock halign-left valign-top">Terminal Name</th>
996 <th class="tableblock halign-left valign-top">Description</th>
997 </tr>
998 </thead>
999 <tbody>
1000 <tr>
1001 <td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
1002 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
1003 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
1004 </tr>
1005 <tr>
1006 <td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
1007 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
1008 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
1009 </tr>
1010 <tr>
1011 <td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
1012 <td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
1013 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
1014 </tr>
1015 <tr>
1016 <td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
1017 <td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
1018 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
1019 </tr>
1020 <tr>
1021 <td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
1022 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
1023 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
1024 </tr>
1025 <tr>
1026 <td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
1027 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
1028 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
1029 </tr>
1030 </tbody>
1031 </table>
1032 </div>
1033 <div class="sect2">
1034 <h3 id="_using_a_separate_pyro_battery_with_telemetrum">4.2. Using a Separate Pyro Battery with TeleMetrum</h3>
1035 <div class="paragraph">
1036 <p>As described above, using an external pyro battery involves
1037 connecting the negative battery terminal to the flight
1038 computer ground, connecting the positive battery terminal to
1039 one of the igniter leads and connecting the other igniter
1040 lead to the per-channel pyro circuit connection.</p>
1041 </div>
1042 <div class="paragraph">
1043 <p>To connect the negative battery terminal to the TeleMetrum
1044 ground, insert a small piece of wire, 24 to 28 gauge
1045 stranded, into the GND hole just above the screw terminal
1046 strip and solder it in place.</p>
1047 </div>
1048 <div class="paragraph">
1049 <p>Connecting the switched positive battery terminal to the pyro
1050 charges must be done separate from TeleMetrum, by soldering
1051 them together or using some other connector. Note that you
1052 must include a switch in the positive lead from the pyro
1053 battery for safety!</p>
1054 </div>
1055 <div class="paragraph">
1056 <p>The other lead from each pyro charge is then inserted into
1057 the appropriate per-pyro channel screw terminal (terminal 4
1058 for the Main charge, terminal 6 for the Apogee charge).</p>
1059 </div>
1060 </div>
1061 <div class="sect2">
1062 <h3 id="_using_an_active_switch_with_telemetrum">4.3. Using an Active Switch with TeleMetrum</h3>
1063 <div class="paragraph">
1064 <p>As explained above, an external active switch requires three
1065 connections, one to the positive battery terminal, one to
1066 the flight computer positive input and one to ground.</p>
1067 </div>
1068 <div class="paragraph">
1069 <p>The positive battery terminal is available on screw terminal
1070 2, the positive flight computer input is on terminal 1. To
1071 hook a lead to ground, solder a piece of wire, 24 to 28
1072 gauge stranded, to the GND hole just above terminal 1.</p>
1073 </div>
1074 </div>
1075 </div>
1076 </div>
1077 <div class="sect1">
1078 <h2 id="_telemini">5. TeleMini</h2>
1079 <div class="sectionbody">
1080 <div class="imageblock">
1081 <div class="content">
1082 <img src="telemini-v3.0-top.jpg" alt="telemini v3.0 top" width="400">
1083 </div>
1084 <div class="title">Figure 3. TeleMini v3 Board</div>
1085 </div>
1086 <div class="imageblock">
1087 <div class="content">
1088 <img src="telemini-v3.0-bottom.jpg" alt="telemini v3.0 bottom" width="400">
1089 </div>
1090 </div>
1091 <div class="paragraph">
1092 <p>TeleMini v3 is 0.5 inches by 1.67 inches.  It was
1093 designed to fit inside an 18mm air-frame tube, but using it in
1094 a tube that small in diameter may require some creativity in
1095 mounting and wiring to succeed!  Since there is no
1096 accelerometer, TeleMini can be mounted in any convenient
1097 orientation.  The default ¼ wave UHF wire antenna attached to
1098 the center of one end of the board is about 7 inches long. Screw
1099 terminals for the power switch are located in the
1100 middle of the board. Screw terminals for the e-matches for
1101 apogee and main ejection charges depart from the other end of
1102 the board, meaning an ideal “simple” avionics bay for TeleMini
1103 should have at least 9 inches of interior length.</p>
1104 </div>
1105 <div class="sect2">
1106 <h3 id="_telemini_v3_screw_terminals">5.1. TeleMini v3 Screw Terminals</h3>
1107 <div class="paragraph">
1108 <p>TeleMini v3 has four screw terminals on the end of the
1109 board opposite the telemetry antenna. Two are for the apogee
1110 and two are for main igniter circuits. Another two
1111 screw terminals are located in the middle of the board
1112 for the power switch.  Using the
1113 picture above and starting from the top for the pyro terminals
1114 and from the left for the power switch terminals, the
1115 connections are as follows:</p>
1116 </div>
1117 <table class="tableblock frame-all grid-all stretch">
1118 <caption class="title">Table 5. TeleMini v3 Screw Terminals</caption>
1119 <colgroup>
1120 <col style="width: 13.3333%;">
1121 <col style="width: 20%;">
1122 <col style="width: 66.6667%;">
1123 </colgroup>
1124 <thead>
1125 <tr>
1126 <th class="tableblock halign-left valign-top">Terminal #</th>
1127 <th class="tableblock halign-left valign-top">Terminal Name</th>
1128 <th class="tableblock halign-left valign-top">Description</th>
1129 </tr>
1130 </thead>
1131 <tbody>
1132 <tr>
1133 <td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
1134 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
1135 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
1136 </tr>
1137 <tr>
1138 <td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
1139 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
1140 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
1141 </tr>
1142 <tr>
1143 <td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
1144 <td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
1145 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
1146 </tr>
1147 <tr>
1148 <td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
1149 <td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
1150 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
1151 </tr>
1152 <tr>
1153 <td class="tableblock halign-left valign-top"><p class="tableblock">Left</p></td>
1154 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
1155 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
1156 </tr>
1157 <tr>
1158 <td class="tableblock halign-left valign-top"><p class="tableblock">Right</p></td>
1159 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
1160 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
1161 </tr>
1162 </tbody>
1163 </table>
1164 </div>
1165 <div class="sect2">
1166 <h3 id="_using_a_separate_pyro_battery_with_telemini_v3">5.2. Using a Separate Pyro Battery with TeleMini v3</h3>
1167 <div class="paragraph">
1168 <p>As described above, using an external pyro battery involves
1169 connecting the negative battery terminal to the flight
1170 computer ground, connecting the switched positive battery
1171 terminal to one of the igniter leads and connecting the other
1172 igniter lead to the per-channel pyro circuit connection.
1173 Because there is no solid ground connection to use on
1174 TeleMini, this is not recommended.</p>
1175 </div>
1176 <div class="paragraph">
1177 <p>The only available ground connection on TeleMini v3 are
1178 the two mounting holes next to the telemetry
1179 antenna. Somehow connect a small piece of wire to one of
1180 those holes and hook it to the negative pyro battery terminal.</p>
1181 </div>
1182 <div class="paragraph">
1183 <p>Connecting the positive battery terminal to the pyro
1184 charges must be done separate from TeleMini v3, by soldering
1185 them together or using some other connector.  Note that you
1186 must include a switch in the pyro battery positive lead for
1187 safety!</p>
1188 </div>
1189 <div class="paragraph">
1190 <p>The other lead from each pyro charge is then inserted into
1191 the appropriate per-pyro channel screw terminal (terminal 3 for the
1192 Main charge, terminal 1 for the Apogee charge).</p>
1193 </div>
1194 </div>
1195 <div class="sect2">
1196 <h3 id="_using_an_active_switch_with_telemini_v3">5.3. Using an Active Switch with TeleMini v3</h3>
1197 <div class="paragraph">
1198 <p>As explained above, an external active switch requires three
1199 connections, one to the positive battery terminal, one to
1200 the flight computer positive input and one to ground. Again,
1201 because TeleMini doesn&#8217;t have any good ground connection,
1202 this is not recommended.</p>
1203 </div>
1204 <div class="paragraph">
1205 <p>The positive battery terminal is available on the Right
1206 power switch wire, the positive flight computer input is on
1207 the left power switch wire. Hook a lead to either of the
1208 mounting holes for a ground connection.</p>
1209 </div>
1210 </div>
1211 <div class="sect2">
1212 <h3 id="_using_packet_link_mode_with_telemini">5.4. Using Packet Link Mode with TeleMini</h3>
1213 <div class="paragraph">
1214 <p>After TeleMini powers up, it will check to see if some
1215 device is attempting to communicate with it using
1216 Packet Link Mode. If so, it will switch to idle mode
1217 and start communicating. To switch to flight mode,
1218 reboot the device either over the radio link or by
1219 powering it off and back on.</p>
1220 </div>
1221 <div class="paragraph">
1222 <p>If no ground station is attempting to communicate
1223 using Packet Link Mode, TeleMini will enter pad mode
1224 and prepare for flight.</p>
1225 </div>
1226 <div class="paragraph">
1227 <p>The sequence of operations to use Packet Link Mode
1228 with TeleMini is:</p>
1229 </div>
1230 <div class="olist arabic">
1231 <ol class="arabic">
1232 <li>
1233 <p>Configure the ground station data rate, frequency
1234 and callsign to match the TeleMini settings.</p>
1235 </li>
1236 <li>
1237 <p>Start Packet Link Mode in the ground station by
1238 selecting the desired operation (Safe Flight Data,
1239 Configure Altimeter, Fire Igniter or Monitor
1240 Idle). Select the TeleBT or TeleDongle device. The
1241 red LED should begin flashing rapidly.</p>
1242 </li>
1243 <li>
1244 <p>Turn on TeleMini. You should see the red LED flash
1245 very rapidly during the initial communication burst,
1246 but it should then slow down when the link is idle.</p>
1247 </li>
1248 </ol>
1249 </div>
1250 <div class="paragraph">
1251 <p>Once TeleMini is in Idle mode, it will stay in that
1252 mode until rebooted. That means you can stop one
1253 Packet Link operation, wait a while and start another
1254 Packet Link operation.</p>
1255 </div>
1256 </div>
1257 <div class="sect2">
1258 <h3 id="_forcing_telemini_radio_parameters_to_known_defaults">5.5. Forcing TeleMini radio parameters to known defaults</h3>
1259 <div class="paragraph">
1260 <p>If you don&#8217;t know what the TeleMini frequency and
1261 callsign settings are, you can temporarily force it
1262 back to the original default values (frequency
1263 434.550MHz, callsign N0CALL) by connecting a wire
1264 between hole 3 and hole 6 on the debug connector. Hole
1265 3 has the square pad around it, hole 6 is the one
1266 nearest the MS5607 baro sensor, which is a rectangular
1267 component with a metal cap that has two holes in it.</p>
1268 </div>
1269 <div class="paragraph">
1270 <p>Once TeleMini has been powered up with this wire
1271 connected, the wire may be removed. The radio
1272 parameters will stay set to these default values until
1273 changed by the user or when the device is rebooted.</p>
1274 </div>
1275 </div>
1276 <div class="sect2">
1277 <h3 id="_telemini_v1">5.6. TeleMini v1</h3>
1278 <div class="paragraph">
1279 <p>TeleMini v1 is the earlier version of this product. It
1280 has a lower-power radio, less storage, no beeper and
1281 soldered-in wires instead of screw terminals for the
1282 power switch.</p>
1283 </div>
1284 <div class="imageblock">
1285 <div class="content">
1286 <img src="telemini-v1-top.jpg" alt="telemini v1 top" width="400">
1287 </div>
1288 <div class="title">Figure 4. TeleMini v1 Board</div>
1289 </div>
1290 </div>
1291 </div>
1292 </div>
1293 <div class="sect1">
1294 <h2 id="_easymini">6. EasyMini</h2>
1295 <div class="sectionbody">
1296 <div class="imageblock">
1297 <div class="content">
1298 <img src="easymini-top.jpg" alt="easymini top" width="400">
1299 </div>
1300 <div class="title">Figure 5. EasyMini Board</div>
1301 </div>
1302 <div class="paragraph">
1303 <p>EasyMini is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
1304 designed to fit in a 24mm coupler tube.</p>
1305 </div>
1306 <div class="paragraph">
1307 <p>You usually don&#8217;t need to configure EasyMini at all; it&#8217;s set
1308 up to do dual-deployment with an event at apogee to separate
1309 the airframe and deploy a drogue and another event at 250m
1310 (820ft) to deploy the main. Install EasyMini in your airframe,
1311 hook up a battery, igniters and a power switch and you&#8217;re
1312 ready to fly.</p>
1313 </div>
1314 <div class="sect2">
1315 <h3 id="_easymini_screw_terminals">6.1. EasyMini Screw Terminals</h3>
1316 <div class="paragraph">
1317 <p>EasyMini has two sets of four screw terminals near one end of the
1318 board. Using the picture
1319 above, the top four have connections for the main pyro
1320 circuit and an external battery and the bottom four have
1321 connections for the apogee pyro circuit and the power
1322 switch. Counting from the left, the connections are as follows:</p>
1323 </div>
1324 <table class="tableblock frame-all grid-all stretch">
1325 <caption class="title">Table 6. EasyMini Screw Terminals</caption>
1326 <colgroup>
1327 <col style="width: 13.3333%;">
1328 <col style="width: 20%;">
1329 <col style="width: 66.6667%;">
1330 </colgroup>
1331 <thead>
1332 <tr>
1333 <th class="tableblock halign-left valign-top">Terminal #</th>
1334 <th class="tableblock halign-left valign-top">Terminal Name</th>
1335 <th class="tableblock halign-left valign-top">Description</th>
1336 </tr>
1337 </thead>
1338 <tbody>
1339 <tr>
1340 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
1341 <td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
1342 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
1343 </tr>
1344 <tr>
1345 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
1346 <td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
1347 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
1348 </tr>
1349 <tr>
1350 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
1351 <td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
1352 <td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
1353 </tr>
1354 <tr>
1355 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
1356 <td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
1357 <td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
1358 </tr>
1359 <tr>
1360 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
1361 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
1362 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
1363 </tr>
1364 <tr>
1365 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
1366 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
1367 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
1368 </tr>
1369 <tr>
1370 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
1371 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
1372 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
1373 </tr>
1374 <tr>
1375 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
1376 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
1377 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
1378 </tr>
1379 </tbody>
1380 </table>
1381 </div>
1382 <div class="sect2">
1383 <h3 id="_connecting_a_battery_to_easymini">6.2. Connecting A Battery To EasyMini</h3>
1384 <div class="paragraph">
1385 <p>There are two possible battery connections on
1386 EasyMini. You can use either method; both feed
1387 through the power switch terminals.</p>
1388 </div>
1389 <div class="paragraph">
1390 <p>One battery connection is the standard Altus Metrum
1391 white JST plug. This mates with single-cell Lithium
1392 Polymer batteries sold by Altus Metrum.</p>
1393 </div>
1394 <div class="paragraph">
1395 <p>The other is a pair of screw terminals marked 'Battery
1396 +' and 'Battery -'. Connect a battery from 4 to 12
1397 volts to these terminals, being careful to match polarity.</p>
1398 </div>
1399 </div>
1400 <div class="sect2">
1401 <h3 id="_charging_lithium_batteries">6.3. Charging Lithium Batteries</h3>
1402 <div class="paragraph">
1403 <p>Because EasyMini allows for batteries other than the
1404 standard Altus Metrum Lithium Polymer cells, it cannot
1405 incorporate a battery charger circuit. Therefore, when
1406 using a Litium Polymer cell, you&#8217;ll need an external
1407 charger. These are available from Altus Metrum, or
1408 from Spark Fun.</p>
1409 </div>
1410 </div>
1411 <div class="sect2">
1412 <h3 id="_using_a_separate_pyro_battery_with_easymini">6.4. Using a Separate Pyro Battery with EasyMini</h3>
1413 <div class="paragraph">
1414 <p>As described above, using an external pyro battery involves
1415 connecting the negative battery terminal to the flight
1416 computer ground, connecting the positive battery terminal to
1417 one of the igniter leads and connecting the other igniter
1418 lead to the per-channel pyro circuit connection.</p>
1419 </div>
1420 <div class="paragraph">
1421 <p>To connect the negative pyro battery terminal to EasyMini
1422 ground, connect it to the negative external battery
1423 connection, top terminal 4.</p>
1424 </div>
1425 <div class="paragraph">
1426 <p>Connecting the switched positive battery terminal to the pyro
1427 charges must be done separate from EasyMini, by soldering
1428 them together or using some other connector.  Note that for
1429 safety, you must put a switch between the pyro battery and
1430 the rest of the circuit!</p>
1431 </div>
1432 <div class="paragraph">
1433 <p>The other lead from each pyro charge is then inserted into
1434 the appropriate per-pyro channel screw terminal (top
1435 terminal 1 for the Main charge, bottom terminal 1 for the
1436 Apogee charge).</p>
1437 </div>
1438 </div>
1439 <div class="sect2">
1440 <h3 id="_using_an_active_switch_with_easymini">6.5. Using an Active Switch with EasyMini</h3>
1441 <div class="paragraph">
1442 <p>As explained above, an external active switch requires three
1443 connections, one to the positive battery terminal, one to
1444 the flight computer positive input and one to ground. Use
1445 the negative external battery connection, top terminal 4 for
1446 ground.</p>
1447 </div>
1448 <div class="paragraph">
1449 <p>The positive battery terminal is available on bottom
1450 terminal 4, the positive flight computer input is on the
1451 bottom terminal 3.</p>
1452 </div>
1453 </div>
1454 </div>
1455 </div>
1456 <div class="sect1">
1457 <h2 id="_telemega">7. TeleMega</h2>
1458 <div class="sectionbody">
1459 <div class="imageblock">
1460 <div class="content">
1461 <img src="telemega-v1.0-top.jpg" alt="telemega v1.0 top" width="400">
1462 </div>
1463 <div class="title">Figure 6. TeleMega Board</div>
1464 </div>
1465 <div class="paragraph">
1466 <p>TeleMega is a 1¼ inch by 3¼ inch circuit board. It was
1467 designed to easily fit in a 38mm coupler. Like TeleMetrum,
1468 TeleMega has an accelerometer and so it must be mounted so that
1469 the board is aligned with the flight axis. It can be mounted
1470 either antenna up or down.</p>
1471 </div>
1472 <div class="paragraph">
1473 <p>TeleMega v2.0 has a few minor changes from v1.0:</p>
1474 </div>
1475 <div class="ulist">
1476 <ul>
1477 <li>
1478 <p>Companion connector matches EasyMega functions</p>
1479 </li>
1480 <li>
1481 <p>Serial port connector replaced with servo connector with
1482 support for up to 4 PWM channels.</p>
1483 </li>
1484 <li>
1485 <p>Radio switched from cc1120 to cc1200.</p>
1486 </li>
1487 </ul>
1488 </div>
1489 <div class="paragraph">
1490 <p>None of these affect operation using the stock firmware, but
1491 they do mean that the device needs different firmware to
1492 operate correctly, so make sure you load the right firmware
1493 when reflashing the device.</p>
1494 </div>
1495 <div class="sect2">
1496 <h3 id="_telemega_screw_terminals">7.1. TeleMega Screw Terminals</h3>
1497 <div class="paragraph">
1498 <p>TeleMega has two sets of nine screw terminals on the end of
1499 the board opposite the telemetry antenna. They are as follows:</p>
1500 </div>
1501 <table class="tableblock frame-all grid-all stretch">
1502 <caption class="title">Table 7. TeleMega Screw Terminals</caption>
1503 <colgroup>
1504 <col style="width: 13.3333%;">
1505 <col style="width: 20%;">
1506 <col style="width: 66.6667%;">
1507 </colgroup>
1508 <thead>
1509 <tr>
1510 <th class="tableblock halign-left valign-top">Terminal #</th>
1511 <th class="tableblock halign-left valign-top">Terminal Name</th>
1512 <th class="tableblock halign-left valign-top">Description</th>
1513 </tr>
1514 </thead>
1515 <tbody>
1516 <tr>
1517 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
1518 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
1519 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
1520 </tr>
1521 <tr>
1522 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
1523 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
1524 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
1525 </tr>
1526 <tr>
1527 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
1528 <td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
1529 <td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for use with external active switch</p></td>
1530 </tr>
1531 <tr>
1532 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
1533 <td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
1534 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
1535 </tr>
1536 <tr>
1537 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 5</p></td>
1538 <td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
1539 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
1540 </tr>
1541 <tr>
1542 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 6</p></td>
1543 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
1544 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
1545 </tr>
1546 <tr>
1547 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 7</p></td>
1548 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
1549 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
1550 </tr>
1551 <tr>
1552 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 8</p></td>
1553 <td class="tableblock halign-left valign-top"><p class="tableblock">D -</p></td>
1554 <td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel connection to pyro circuit</p></td>
1555 </tr>
1556 <tr>
1557 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 9</p></td>
1558 <td class="tableblock halign-left valign-top"><p class="tableblock">D +</p></td>
1559 <td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel common connection to battery +</p></td>
1560 </tr>
1561 <tr>
1562 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
1563 <td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
1564 <td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for negative pyro battery terminal</p></td>
1565 </tr>
1566 <tr>
1567 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
1568 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro</p></td>
1569 <td class="tableblock halign-left valign-top"><p class="tableblock">Positive pyro battery terminal</p></td>
1570 </tr>
1571 <tr>
1572 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
1573 <td class="tableblock halign-left valign-top"><p class="tableblock">Lipo</p></td>
1574 <td class="tableblock halign-left valign-top"><p class="tableblock">Power switch output. Use to connect main battery to pyro battery input</p></td>
1575 </tr>
1576 <tr>
1577 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
1578 <td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
1579 <td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel connection to pyro circuit</p></td>
1580 </tr>
1581 <tr>
1582 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 5</p></td>
1583 <td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
1584 <td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel common connection to battery +</p></td>
1585 </tr>
1586 <tr>
1587 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 6</p></td>
1588 <td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
1589 <td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel connection to pyro circuit</p></td>
1590 </tr>
1591 <tr>
1592 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 7</p></td>
1593 <td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
1594 <td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel common connection to battery +</p></td>
1595 </tr>
1596 <tr>
1597 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 8</p></td>
1598 <td class="tableblock halign-left valign-top"><p class="tableblock">C -</p></td>
1599 <td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel connection to pyro circuit</p></td>
1600 </tr>
1601 <tr>
1602 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 9</p></td>
1603 <td class="tableblock halign-left valign-top"><p class="tableblock">C +</p></td>
1604 <td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel common connection to battery +</p></td>
1605 </tr>
1606 </tbody>
1607 </table>
1608 </div>
1609 <div class="sect2">
1610 <h3 id="_using_a_separate_pyro_battery_with_telemega">7.2. Using a Separate Pyro Battery with TeleMega</h3>
1611 <div class="paragraph">
1612 <p>TeleMega provides explicit support for an external pyro
1613 battery. All that is required is to remove the jumper
1614 between the lipo terminal (Bottom 3) and the pyro terminal
1615 (Bottom 2). Then hook the negative pyro battery terminal to
1616 ground (Bottom 1) and the switched positive pyro battery to
1617 the pyro battery input (Bottom 2). Note that you must include
1618 a switch between the pyro battery and the board for safety,
1619 as the on-board power switch circuit only supports the primary
1620 battery!  You can then use the existing pyro screw
1621 terminals to hook up all of the pyro charges.</p>
1622 </div>
1623 </div>
1624 <div class="sect2">
1625 <h3 id="_using_only_one_battery_with_telemega">7.3. Using Only One Battery With TeleMega</h3>
1626 <div class="paragraph">
1627 <p>Because TeleMega has built-in support for a separate pyro
1628 battery, if you want to fly with just one battery running
1629 both the computer and firing the charges, you need to
1630 connect the flight computer battery to the pyro
1631 circuit. TeleMega has two screw terminals for this—hook a
1632 wire from the Lipo terminal (Bottom 3) to the Pyro terminal
1633 (Bottom 2).</p>
1634 </div>
1635 </div>
1636 <div class="sect2">
1637 <h3 id="_using_an_active_switch_with_telemega">7.4. Using an Active Switch with TeleMega</h3>
1638 <div class="paragraph">
1639 <p>As explained above, an external active switch requires three
1640 connections, one to the positive battery terminal, one to
1641 the flight computer positive input and one to ground.</p>
1642 </div>
1643 <div class="paragraph">
1644 <p>The positive battery terminal is available on Top terminal
1645 1, the positive flight computer input is on Top terminal
1646 2. Ground is on Top terminal 3.</p>
1647 </div>
1648 </div>
1649 </div>
1650 </div>
1651 <div class="sect1">
1652 <h2 id="_easymega">8. EasyMega</h2>
1653 <div class="sectionbody">
1654 <div class="imageblock">
1655 <div class="content">
1656 <img src="easymega-v1.0-top.jpg" alt="easymega v1.0 top" width="400">
1657 </div>
1658 <div class="title">Figure 7. EasyMega Board</div>
1659 </div>
1660 <div class="paragraph">
1661 <p>EasyMega is a 1¼ inch by 2¼ inch circuit board. It was
1662 designed to easily fit in a 38mm coupler. Like TeleMetrum,
1663 EasyMega has an accelerometer and so it must be mounted so that
1664 the board is aligned with the flight axis. It can be mounted
1665 either antenna up or down.</p>
1666 </div>
1667 <div class="sect2">
1668 <h3 id="_easymega_screw_terminals">8.1. EasyMega Screw Terminals</h3>
1669 <div class="paragraph">
1670 <p>EasyMega has two sets of nine screw terminals on the end of
1671 the board opposite the telemetry antenna. They are as follows:</p>
1672 </div>
1673 <table class="tableblock frame-all grid-all stretch">
1674 <caption class="title">Table 8. EasyMega Screw Terminals</caption>
1675 <colgroup>
1676 <col style="width: 13.3333%;">
1677 <col style="width: 20%;">
1678 <col style="width: 66.6667%;">
1679 </colgroup>
1680 <thead>
1681 <tr>
1682 <th class="tableblock halign-left valign-top">Terminal #</th>
1683 <th class="tableblock halign-left valign-top">Terminal Name</th>
1684 <th class="tableblock halign-left valign-top">Description</th>
1685 </tr>
1686 </thead>
1687 <tbody>
1688 <tr>
1689 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
1690 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
1691 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
1692 </tr>
1693 <tr>
1694 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
1695 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
1696 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
1697 </tr>
1698 <tr>
1699 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
1700 <td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
1701 <td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for use with external active switch</p></td>
1702 </tr>
1703 <tr>
1704 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
1705 <td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
1706 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
1707 </tr>
1708 <tr>
1709 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 5</p></td>
1710 <td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
1711 <td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
1712 </tr>
1713 <tr>
1714 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 6</p></td>
1715 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
1716 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
1717 </tr>
1718 <tr>
1719 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 7</p></td>
1720 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
1721 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
1722 </tr>
1723 <tr>
1724 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 8</p></td>
1725 <td class="tableblock halign-left valign-top"><p class="tableblock">D -</p></td>
1726 <td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel connection to pyro circuit</p></td>
1727 </tr>
1728 <tr>
1729 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 9</p></td>
1730 <td class="tableblock halign-left valign-top"><p class="tableblock">D +</p></td>
1731 <td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel common connection to battery +</p></td>
1732 </tr>
1733 <tr>
1734 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
1735 <td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
1736 <td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for negative pyro battery terminal</p></td>
1737 </tr>
1738 <tr>
1739 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
1740 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro</p></td>
1741 <td class="tableblock halign-left valign-top"><p class="tableblock">Positive pyro battery terminal</p></td>
1742 </tr>
1743 <tr>
1744 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
1745 <td class="tableblock halign-left valign-top"><p class="tableblock">Lipo</p></td>
1746 <td class="tableblock halign-left valign-top"><p class="tableblock">Power switch output. Use to connect main battery to pyro battery input</p></td>
1747 </tr>
1748 <tr>
1749 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
1750 <td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
1751 <td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel connection to pyro circuit</p></td>
1752 </tr>
1753 <tr>
1754 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 5</p></td>
1755 <td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
1756 <td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel common connection to battery +</p></td>
1757 </tr>
1758 <tr>
1759 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 6</p></td>
1760 <td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
1761 <td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel connection to pyro circuit</p></td>
1762 </tr>
1763 <tr>
1764 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 7</p></td>
1765 <td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
1766 <td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel common connection to battery +</p></td>
1767 </tr>
1768 <tr>
1769 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 8</p></td>
1770 <td class="tableblock halign-left valign-top"><p class="tableblock">C -</p></td>
1771 <td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel connection to pyro circuit</p></td>
1772 </tr>
1773 <tr>
1774 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 9</p></td>
1775 <td class="tableblock halign-left valign-top"><p class="tableblock">C +</p></td>
1776 <td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel common connection to battery +</p></td>
1777 </tr>
1778 </tbody>
1779 </table>
1780 </div>
1781 <div class="sect2">
1782 <h3 id="_using_a_separate_pyro_battery_with_easymega">8.2. Using a Separate Pyro Battery with EasyMega</h3>
1783 <div class="paragraph">
1784 <p>EasyMega provides explicit support for an external pyro
1785 battery. All that is required is to remove the jumper
1786 between the lipo terminal (Bottom 3) and the pyro terminal
1787 (Bottom 2). Then hook the negative pyro battery terminal to
1788 ground (Bottom 1) and the switched positive pyro battery to
1789 the pyro battery input (Bottom 2). Note that you must include
1790 a switch between the pyro battery and the board for safety,
1791 as the on-board power switch circuit only supports the primary
1792 battery!  You can then use the existing pyro screw
1793 terminals to hook up all of the pyro charges.</p>
1794 </div>
1795 </div>
1796 <div class="sect2">
1797 <h3 id="_using_only_one_battery_with_easymega">8.3. Using Only One Battery With EasyMega</h3>
1798 <div class="paragraph">
1799 <p>Because EasyMega has built-in support for a separate pyro
1800 battery, if you want to fly with just one battery running
1801 both the computer and firing the charges, you need to
1802 connect the flight computer battery to the pyro
1803 circuit. EasyMega has two screw terminals for this—hook a
1804 wire from the Lipo terminal (Bottom 3) to the Pyro terminal
1805 (Bottom 2).</p>
1806 </div>
1807 </div>
1808 <div class="sect2">
1809 <h3 id="_using_an_active_switch_with_easymega">8.4. Using an Active Switch with EasyMega</h3>
1810 <div class="paragraph">
1811 <p>As explained above, an external active switch requires three
1812 connections, one to the positive battery terminal, one to
1813 the flight computer positive input and one to ground.</p>
1814 </div>
1815 <div class="paragraph">
1816 <p>The positive battery terminal is available on Top terminal
1817 1, the positive flight computer input is on Top terminal
1818 2. Ground is on Top terminal 3.</p>
1819 </div>
1820 </div>
1821 </div>
1822 </div>
1823 <div class="sect1">
1824 <h2 id="_easytimer">9. EasyTimer</h2>
1825 <div class="sectionbody">
1826 <div class="imageblock">
1827 <div class="content">
1828 <img src="easytimer.jpg" alt="easytimer" width="400">
1829 </div>
1830 <div class="title">Figure 8. EasyTimer Board</div>
1831 </div>
1832 <div class="paragraph">
1833 <p>EasyTimer is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
1834 designed to fit in a 24mm coupler tube.</p>
1835 </div>
1836 <div class="paragraph">
1837 <p>EasyTimer is designed to control events during ascent. It has
1838 an accelerometer and gyroscope that can measure acceleration
1839 and rotation and compute speed and tilt angle. EasyTimer has
1840 two pyro channels which can be configured to fire at various
1841 points during flight. Because EasyTimer has no barometric
1842 sensor, it cannot be used to fire recovery charges at apogee
1843 or during descent. EasyTimer is configured using the AltosUI
1844 application which is available for Linux, Mac OS X and Windows.</p>
1845 </div>
1846 <div class="sect2">
1847 <h3 id="_easytimer_screw_terminals">9.1. EasyTimer Screw Terminals</h3>
1848 <div class="paragraph">
1849 <p>EasyTimer has two sets of four screw terminals near
1850 one end of the board. Using the picture above, the top
1851 four have connections for pyro channel B and an
1852 external battery and the bottom four have connections
1853 for pyro circuit A and the power switch. Counting from
1854 the left, the connections are as follows:</p>
1855 </div>
1856 <table class="tableblock frame-all grid-all stretch">
1857 <caption class="title">Table 9. EasyTimer Screw Terminals</caption>
1858 <colgroup>
1859 <col style="width: 13.3333%;">
1860 <col style="width: 20%;">
1861 <col style="width: 66.6667%;">
1862 </colgroup>
1863 <thead>
1864 <tr>
1865 <th class="tableblock halign-left valign-top">Terminal #</th>
1866 <th class="tableblock halign-left valign-top">Terminal Name</th>
1867 <th class="tableblock halign-left valign-top">Description</th>
1868 </tr>
1869 </thead>
1870 <tbody>
1871 <tr>
1872 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
1873 <td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
1874 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel B connection to pyro circuit</p></td>
1875 </tr>
1876 <tr>
1877 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
1878 <td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
1879 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel B common connection to battery +</p></td>
1880 </tr>
1881 <tr>
1882 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
1883 <td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
1884 <td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
1885 </tr>
1886 <tr>
1887 <td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
1888 <td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
1889 <td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
1890 </tr>
1891 <tr>
1892 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
1893 <td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
1894 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel A connection to pyro circuit</p></td>
1895 </tr>
1896 <tr>
1897 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
1898 <td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
1899 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel A common connection to battery +</p></td>
1900 </tr>
1901 <tr>
1902 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
1903 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
1904 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
1905 </tr>
1906 <tr>
1907 <td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
1908 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
1909 <td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
1910 </tr>
1911 </tbody>
1912 </table>
1913 </div>
1914 <div class="sect2">
1915 <h3 id="_connecting_a_battery_to_easytimer">9.2. Connecting A Battery To EasyTimer</h3>
1916 <div class="paragraph">
1917 <p>There are two possible battery connections on
1918 EasyTimer. You can use either method; both feed
1919 through the power switch terminals.</p>
1920 </div>
1921 <div class="paragraph">
1922 <p>One battery connection is the standard Altus Metrum
1923 white JST plug. This mates with single-cell Lithium
1924 Polymer batteries sold by Altus Metrum.</p>
1925 </div>
1926 <div class="paragraph">
1927 <p>The other is a pair of screw terminals marked 'Battery
1928 +' and 'Battery -'. Connect a battery from 4 to 12
1929 volts to these terminals, being careful to match polarity.</p>
1930 </div>
1931 </div>
1932 <div class="sect2">
1933 <h3 id="_charging_lithium_batteries_2">9.3. Charging Lithium Batteries</h3>
1934 <div class="paragraph">
1935 <p>Because EasyTimer allows for batteries other than the
1936 standard Altus Metrum Lithium Polymer cells, it cannot
1937 incorporate a battery charger circuit. Therefore, when
1938 using a Litium Polymer cell, you&#8217;ll need an external
1939 charger. These are available from Altus Metrum, or
1940 from Spark Fun.</p>
1941 </div>
1942 </div>
1943 <div class="sect2">
1944 <h3 id="_using_a_separate_pyro_battery_with_easytimer">9.4. Using a Separate Pyro Battery with EasyTimer</h3>
1945 <div class="paragraph">
1946 <p>As described above, using an external pyro battery involves
1947 connecting the negative battery terminal to the flight
1948 computer ground, connecting the positive battery terminal to
1949 one of the igniter leads and connecting the other igniter
1950 lead to the per-channel pyro circuit connection.</p>
1951 </div>
1952 <div class="paragraph">
1953 <p>To connect the negative pyro battery terminal to EasyTimer
1954 ground, connect it to the negative external battery
1955 connection, top terminal 4.</p>
1956 </div>
1957 <div class="paragraph">
1958 <p>Connecting the switched positive battery terminal to the pyro
1959 charges must be done separate from EasyTimer, by soldering
1960 them together or using some other connector.  Note that for
1961 safety, you must put a switch between the pyro battery and
1962 the rest of the circuit!</p>
1963 </div>
1964 <div class="paragraph">
1965 <p>The other lead from each pyro charge is then inserted into
1966 the appropriate per-pyro channel screw terminal (top
1967 terminal 1 for pyro channel A charge, bottom terminal 1 for
1968 pyro channel B charge).</p>
1969 </div>
1970 </div>
1971 <div class="sect2">
1972 <h3 id="_using_an_active_switch_with_easytimer">9.5. Using an Active Switch with EasyTimer</h3>
1973 <div class="paragraph">
1974 <p>As explained above, an external active switch requires three
1975 connections, one to the positive battery terminal, one to
1976 the flight computer positive input and one to ground. Use
1977 the negative external battery connection, top terminal 4 for
1978 ground.</p>
1979 </div>
1980 <div class="paragraph">
1981 <p>The positive battery terminal is available on bottom
1982 terminal 4, the positive flight computer input is on the
1983 bottom terminal 3.</p>
1984 </div>
1985 </div>
1986 </div>
1987 </div>
1988 <div class="sect1">
1989 <h2 id="_installation">10. Installation</h2>
1990 <div class="sectionbody">
1991 <div class="paragraph">
1992 <p>A typical installation involves attaching
1993 only a suitable battery, a single pole switch for
1994 power on/off, and two pairs of wires connecting e-matches for the
1995 apogee and main ejection charges.  All Altus Metrum products are
1996 designed for use with single-cell batteries with 3.7 volts
1997 nominal.
1998 EasyMini may also be used with other
1999 batteries as long as they supply between 4 and 12 volts.</p>
2000 </div>
2001 <div class="paragraph">
2002 <p>The battery connectors are a standard 2-pin JST connector; you
2003 can purchase suitable batteries from the any vendor selling
2004 Altus Metrum products. These batteries are
2005 single-cell Lithium Polymer batteries that nominally provide 3.7
2006 volts.  Other vendors sell similar batteries for RC aircraft
2007 using mating connectors, however the polarity for those is
2008 generally reversed from the batteries used by Altus Metrum
2009 products. In particular, the Tenergy batteries supplied for use
2010 in Featherweight flight computers are not compatible with Altus
2011 Metrum flight computers or battery chargers.</p>
2012 </div>
2013 <div class="admonitionblock warning">
2014 <table>
2015 <tr>
2016 <td class="icon">
2017 <img src="./images/icons/warning.svg" alt="Warning">
2018 </td>
2019 <td class="content">
2020 Check polarity and voltage before connecting any battery not
2021 purchased from Altus Metrum.
2022 </td>
2023 </tr>
2024 </table>
2025 </div>
2026 <div class="admonitionblock warning">
2027 <table>
2028 <tr>
2029 <td class="icon">
2030 <img src="./images/icons/warning.svg" alt="Warning">
2031 </td>
2032 <td class="content">
2033 Spark Fun sells batteries that have a matching connector with
2034 the correct polarity. However, these batteries include an
2035 integrated current limiting circuit. That circuit will cause
2036 the battery to shut down when firing the igniter circuit. Do
2037 not use these batteries unless you remove the current limiting
2038 circuit.
2039 </td>
2040 </tr>
2041 </table>
2042 </div>
2043 <div class="paragraph">
2044 <p>By default, we use the unregulated output of the battery
2045 directly to fire ejection charges.  This works marvelously
2046 with standard low-current e-matches like the J-Tek from MJG
2047 Technologies, and with Quest Q2G2 igniters.  However, if you
2048 want or need to use a separate pyro battery, check out
2049 <a href="#_using_a_separate_pyro_battery">Using a Separate Pyro Battery</a> for instructions on how to wire
2050 that up. The altimeters are designed to work with an external
2051 pyro battery of no more than 15 volts.</p>
2052 </div>
2053 <div class="paragraph">
2054 <p>Ejection charges are wired directly to the screw terminal block
2055 at the aft end of the altimeter.  You&#8217;ll need a very small straight
2056 blade screwdriver for these screws, such as you might find in a
2057 jeweler&#8217;s screwdriver set.</p>
2058 </div>
2059 <div class="paragraph">
2060 <p>Except for TeleMini v1.0, the flight computers also use the
2061 screw terminal block for the power switch leads. On TeleMini v1.0,
2062 the power switch leads are soldered directly to the board and
2063 can be connected directly to a switch.</p>
2064 </div>
2065 <div class="paragraph">
2066 <p>For most air-frames, the integrated antennas are more than
2067 adequate.   However, if you are installing in a carbon-fiber or
2068 metal electronics bay which is opaque to RF signals, you may need to
2069 use off-board external antennas instead.  In this case, you can
2070 replace the stock UHF antenna wire with an edge-launched SMA connector,
2071 and, on TeleMetrum v1, you can unplug the integrated GPS
2072 antenna and select an appropriate off-board GPS antenna with
2073 cable terminating in a U.FL connector.</p>
2074 </div>
2075 </div>
2076 </div>
2077 <div class="sect1">
2078 <h2 id="_using_altus_metrum_products">11. Using Altus Metrum Products</h2>
2079 <div class="sectionbody">
2080 <div class="sect2">
2081 <h3 id="_being_legal">11.1. Being Legal</h3>
2082 <div class="paragraph">
2083 <p>In the US, you need an
2084 <a href="http://www.altusmetrum.org/Radio/">amateur radio license</a>
2085 or other authorization to legally operate the radio
2086 transmitters that are part of our products.</p>
2087 </div>
2088 </div>
2089 <div class="sect2">
2090 <h3 id="_in_the_rocket">11.2. In the Rocket</h3>
2091 <div class="paragraph">
2092 <p>In the rocket itself, you just need a flight computer
2093 and a single-cell, 3.7 volt nominal Li-Po rechargeable
2094 battery.
2095 An 850mAh battery weighs less than a 9V
2096 alkaline battery, and will run a TeleMetrum, TeleMega,
2097 EasyMega or EasyTimer for hours.
2098 A 110mAh battery weighs less
2099 than a triple A battery and is a good choice for use
2100 with
2101 TeleMini or
2102 EasyMini.</p>
2103 </div>
2104 <div class="paragraph">
2105 <p>By default, we ship TeleMini, TeleMetrum and TeleMega
2106 flight computers with a simple wire antenna.  If your
2107 electronics bay or the air-frame it resides within is
2108 made of carbon fiber, which is opaque to RF signals,
2109 you may prefer to install an SMA connector so that you
2110 can run a coaxial cable to an antenna mounted
2111 elsewhere in the rocket.  However, note that the GPS
2112 antenna is fixed on all current products, so you
2113 really want to install the flight computer in a bay
2114 made of RF-transparent materials if at all possible.</p>
2115 </div>
2116 </div>
2117 <div class="sect2">
2118 <h3 id="_on_the_ground">11.3. On the Ground</h3>
2119 <div class="paragraph">
2120 <p>To receive the data stream from the rocket, you need
2121 an antenna and short feed-line connected to one of our
2122 <a href="http://www.altusmetrum.org/TeleDongle/">TeleDongle</a>
2123 units.  If possible, use an SMA to BNC adapter instead
2124 of feedline between the antenna feedpoint and
2125 TeleDongle, as this will give you the best
2126 performance.  The TeleDongle in turn plugs directly
2127 into the USB port on a notebook computer.  Because
2128 TeleDongle looks like a simple serial port, your
2129 computer does not require special device
2130 drivers&#8230;&#8203; just plug it in.</p>
2131 </div>
2132 <div class="paragraph">
2133 <p>The GUI tool, AltosUI, is written in Java and runs
2134 across Linux, Mac OS and Windows. There&#8217;s also a suite
2135 of C tools for Linux which can perform most of the
2136 same tasks.</p>
2137 </div>
2138 <div class="paragraph">
2139 <p>Alternatively, a TeleBT attached with an SMA to BNC
2140 adapter at the feed point of a hand-held yagi used in
2141 conjunction with an Android device running AltosDroid
2142 makes an outstanding ground station.</p>
2143 </div>
2144 <div class="paragraph">
2145 <p>After the flight,
2146 you can use the radio link to
2147 extract the more detailed data logged in either
2148 TeleMetrum or TeleMini devices, or
2149 you can use a
2150 USB cable to plug into the flight computer board directly.
2151 A USB cable is also how you
2152 charge the Li-Po battery, so you&#8217;ll want one of those
2153 anyway. The same cable used by lots of digital
2154 cameras and other modern electronic stuff will work
2155 fine.</p>
2156 </div>
2157 <div class="paragraph">
2158 <p>If your rocket lands out of sight, you may enjoy
2159 having a hand-held GPS receiver, so that you can put
2160 in a way-point for the last reported rocket position
2161 before touch-down.  This makes looking for your rocket
2162 a lot like Geo-Caching&#8230;&#8203; just go to the way-point and
2163 look around starting from there.  AltosDroid on an
2164 Android device with GPS receiver works great for this,
2165 too!</p>
2166 </div>
2167 <div class="paragraph">
2168 <p>You may also enjoy having a ham radio “HT” that covers
2169 the 70cm band&#8230;&#8203; you can use that with your antenna to
2170 direction-find the rocket on the ground the same way
2171 you can use a Walston or Beeline tracker.  This can be
2172 handy if the rocket is hiding in sage brush or a tree,
2173 or if the last GPS position doesn&#8217;t get you close
2174 enough because the rocket dropped into a canyon, or
2175 the wind is blowing it across a dry lake bed, or
2176 something like that&#8230;&#8203;  Keith currently uses a Yaesu
2177 FT1D, Bdale has a Yaesu VX-7R, which is a nicer radio
2178 in most ways but doesn&#8217;t support APRS.</p>
2179 </div>
2180 <div class="paragraph">
2181 <p>So, to recap, on the ground the hardware you&#8217;ll need includes:</p>
2182 </div>
2183 <div class="olist arabic">
2184 <ol class="arabic">
2185 <li>
2186 <p>an antenna and feed-line or adapter</p>
2187 </li>
2188 <li>
2189 <p>a TeleDongle</p>
2190 </li>
2191 <li>
2192 <p>a notebook computer</p>
2193 </li>
2194 <li>
2195 <p>optionally, a hand-held GPS receiver</p>
2196 </li>
2197 <li>
2198 <p>optionally, an HT or receiver covering 435 MHz</p>
2199 </li>
2200 </ol>
2201 </div>
2202 <div class="paragraph">
2203 <p>The best hand-held commercial directional antennas we&#8217;ve found for radio
2204 direction finding rockets are from
2205 <a href="http://www.arrowantennas.com/">Arrow Antennas</a>.</p>
2206 </div>
2207 <div class="paragraph">
2208 <p>The 440-3 and 440-5 are both good choices for finding
2209 a TeleMetrum- or TeleMini- equipped rocket when used
2210 with a suitable 70cm HT.  TeleDongle and an SMA to BNC
2211 adapter fit perfectly between the driven element and
2212 reflector of Arrow antennas.</p>
2213 </div>
2214 </div>
2215 <div class="sect2">
2216 <h3 id="_data_analysis">11.4. Data Analysis</h3>
2217 <div class="paragraph">
2218 <p>Our software makes it easy to log the data from each
2219 flight, both the telemetry received during the flight
2220 itself, and the more complete data log recorded in the
2221 flash memory on the altimeter board.  Once this data
2222 is on your computer, our post-flight tools make it
2223 easy to quickly get to the numbers everyone wants,
2224 like apogee altitude, max acceleration, and max
2225 velocity.  You can also generate and view a standard
2226 set of plots showing the altitude, acceleration, and
2227 velocity of the rocket during flight.  And you can
2228 even export a flight log in a format usable with Google
2229 Maps and Google Earth for visualizing the flight path
2230 in two or three dimensions!</p>
2231 </div>
2232 <div class="paragraph">
2233 <p>Our ultimate goal is to emit a set of files for each
2234 flight that can be published as a web page per flight,
2235 or just viewed on your local disk with a web browser.</p>
2236 </div>
2237 </div>
2238 <div class="sect2">
2239 <h3 id="_future_plans">11.5. Future Plans</h3>
2240 <div class="paragraph">
2241 <p>We have designed and prototyped several “companion
2242 boards” that can attach to the companion connector on
2243 TeleMetrum, TeleMega and EasyMega flight computers to
2244 collect more data, provide more pyro channels, and so
2245 forth.  We do not yet know if or when any of these
2246 boards will be produced in enough quantity to sell.
2247 If you have specific interests for data collection or
2248 control of events in your rockets beyond the
2249 capabilities of our existing productions, please let
2250 us know!</p>
2251 </div>
2252 <div class="paragraph">
2253 <p>Because all of our work is open, both the hardware
2254 designs and the software, if you have some great idea
2255 for an addition to the current Altus Metrum family,
2256 feel free to dive in and help!  Or let us know what
2257 you&#8217;d like to see that we aren&#8217;t already working on,
2258 and maybe we&#8217;ll get excited about it too&#8230;&#8203;</p>
2259 </div>
2260 <div class="paragraph">
2261 <p>Watch our <a href="http://altusmetrum.org/">web site</a> for
2262 more news and information as our family of products
2263 evolves!</p>
2264 </div>
2265 </div>
2266 </div>
2267 </div>
2268 <div class="sect1">
2269 <h2 id="_altosui">12. AltosUI</h2>
2270 <div class="sectionbody">
2271 <div class="imageblock">
2272 <div class="content">
2273 <img src="altosui.png" alt="altosui" width="450">
2274 </div>
2275 <div class="title">Figure 9. AltosUI Main Window</div>
2276 </div>
2277 <div class="paragraph">
2278 <p>The AltosUI program provides a graphical user interface for
2279 interacting with the Altus Metrum product family. AltosUI can
2280 monitor telemetry data, configure devices and many other
2281 tasks. The primary interface window provides a selection of
2282 buttons, one for each major activity in the system.  This
2283 chapter is split into sections, each of which documents one of
2284 the tasks provided from the top-level toolbar.</p>
2285 </div>
2286 <div class="sect2">
2287 <h3 id="_monitor_flight">12.1. Monitor Flight</h3>
2288 <div class="paragraph">
2289 <p>Selecting this item brings up a dialog box listing all
2290 of the connected TeleDongle devices. When you choose
2291 one of these, AltosUI will create a window to display
2292 telemetry data as received by the selected TeleDongle
2293 device.</p>
2294 </div>
2295 <div class="imageblock">
2296 <div class="content">
2297 <img src="device-selection.png" alt="device selection" width="300">
2298 </div>
2299 <div class="title">Figure 10. Device Selection Dialog</div>
2300 </div>
2301 <div class="paragraph">
2302 <p>All telemetry data received are automatically recorded
2303 in suitable log files. The name of the files includes
2304 the current date and rocket serial and flight numbers.</p>
2305 </div>
2306 <div class="paragraph">
2307 <p>The radio frequency being monitored by the TeleDongle
2308 device is displayed at the top of the window. You can
2309 configure the frequency by clicking on the frequency
2310 box and selecting the desired frequency. AltosUI
2311 remembers the last frequency selected for each
2312 TeleDongle and selects that automatically the next
2313 time you use that device.</p>
2314 </div>
2315 <div class="paragraph">
2316 <p>Below the TeleDongle frequency selector, the window
2317 contains a few significant pieces of information about
2318 the altimeter providing the telemetry data stream:</p>
2319 </div>
2320 <div class="ulist">
2321 <ul>
2322 <li>
2323 <p>The configured call-sign</p>
2324 </li>
2325 <li>
2326 <p>The device serial number</p>
2327 </li>
2328 <li>
2329 <p>The flight number. Each altimeter remembers how
2330 many times it has flown.</p>
2331 </li>
2332 <li>
2333 <p>The rocket flight state. Each flight passes through
2334 several states including Pad, Boost, Fast, Coast,
2335 Drogue, Main and Landed.</p>
2336 </li>
2337 <li>
2338 <p>The Received Signal Strength Indicator value. This
2339 lets you know how strong a signal TeleDongle is
2340 receiving. At the default data rate, 38400 bps, in
2341 bench testing, the radio inside TeleDongle v0.2
2342 operates down to about -106dBm, while the v3 radio
2343 works down to about -111dBm.  Weaker signals, or an
2344 environment with radio noise may cause the data to
2345 not be received. The packet link uses error
2346 detection and correction techniques which prevent
2347 incorrect data from being reported.</p>
2348 </li>
2349 <li>
2350 <p>The age of the displayed data, in seconds since the
2351 last successfully received telemetry packet.  In
2352 normal operation this will stay in the low single
2353 digits.  If the number starts counting up, then you
2354 are no longer receiving data over the radio link
2355 from the flight computer.</p>
2356 </li>
2357 </ul>
2358 </div>
2359 <div class="paragraph">
2360 <p>Finally, the largest portion of the window contains a
2361 set of tabs, each of which contain some information
2362 about the rocket.  They&#8217;re arranged in 'flight order'
2363 so that as the flight progresses, the selected tab
2364 automatically switches to display data relevant to the
2365 current state of the flight. You can select other tabs
2366 at any time. The final 'table' tab displays all of the
2367 raw telemetry values in one place in a
2368 spreadsheet-like format.</p>
2369 </div>
2370 <div class="sect3">
2371 <h4 id="_launch_pad">12.1.1. Launch Pad</h4>
2372 <div class="imageblock">
2373 <div class="content">
2374 <img src="launch-pad.png" alt="launch pad" width="400">
2375 </div>
2376 <div class="title">Figure 11. Monitor Flight Launch Pad View</div>
2377 </div>
2378 <div class="paragraph">
2379 <p>The 'Launch Pad' tab shows information used to decide when the
2380 rocket is ready for flight. The first elements include red/green
2381 indicators, if any of these is red, you&#8217;ll want to evaluate
2382 whether the rocket is ready to launch:</p>
2383 </div>
2384 <div class="dlist">
2385 <dl>
2386 <dt class="hdlist1">Battery Voltage</dt>
2387 <dd>
2388 <p>This indicates whether the Li-Po battery powering the
2389 flight computer has sufficient charge to last for
2390 the duration of the flight. A value of more than
2391 3.8V is required for a 'GO' status.</p>
2392 </dd>
2393 <dt class="hdlist1">Apogee Igniter Voltage</dt>
2394 <dd>
2395 <p>This indicates whether the apogee
2396 igniter has continuity. If the igniter has a low
2397 resistance, then the voltage measured here will be close
2398 to the Li-Po battery voltage. A value greater than 3.2V is
2399 required for a 'GO' status.</p>
2400 </dd>
2401 <dt class="hdlist1">Main Igniter Voltage</dt>
2402 <dd>
2403 <p>This indicates whether the main
2404 igniter has continuity. If the igniter has a low
2405 resistance, then the voltage measured here will be close
2406 to the Li-Po battery voltage. A value greater than 3.2V is
2407 required for a 'GO' status.</p>
2408 </dd>
2409 <dt class="hdlist1">On-board Data Logging</dt>
2410 <dd>
2411 <p>This indicates whether there is space remaining
2412 on-board to store flight data for the upcoming
2413 flight. If you&#8217;ve downloaded data, but failed to erase
2414 flights, there may not be any space left. Most of our
2415 flight computers can store multiple flights, depending
2416 on the configured maximum flight log size. TeleMini
2417 v1.0 stores only a single flight, so it will need to
2418 be downloaded and erased after each flight to capture
2419 data. This only affects on-board flight logging; the
2420 altimeter will still transmit telemetry and fire
2421 ejection charges at the proper times even if the
2422 flight data storage is full.</p>
2423 </dd>
2424 <dt class="hdlist1">GPS Locked</dt>
2425 <dd>
2426 <p>For a TeleMetrum or TeleMega device, this indicates
2427 whether the GPS receiver is currently able to compute
2428 position information. GPS requires at least 4
2429 satellites to compute an accurate position.</p>
2430 </dd>
2431 <dt class="hdlist1">GPS Ready</dt>
2432 <dd>
2433 <p>For a TeleMetrum or TeleMega device, this indicates
2434 whether GPS has reported at least 10 consecutive
2435 positions without losing lock. This ensures that the
2436 GPS receiver has reliable reception from the
2437 satellites.</p>
2438 </dd>
2439 </dl>
2440 </div>
2441 <div class="paragraph">
2442 <p>The Launchpad tab also shows the computed launch pad
2443 position and altitude, averaging many reported
2444 positions to improve the accuracy of the fix.</p>
2445 </div>
2446 </div>
2447 <div class="sect3">
2448 <h4 id="_ascent">12.1.2. Ascent</h4>
2449 <div class="imageblock">
2450 <div class="content">
2451 <img src="ascent.png" alt="ascent" width="400">
2452 </div>
2453 <div class="title">Figure 12. Monitor Flight Ascent View</div>
2454 </div>
2455 <div class="paragraph">
2456 <p>This tab is shown during Boost, Fast and Coast
2457 phases. The information displayed here helps monitor the
2458 rocket as it heads towards apogee.</p>
2459 </div>
2460 <div class="paragraph">
2461 <p>The height, speed, acceleration and tilt are shown along
2462 with the maximum values for each of them. This allows you to
2463 quickly answer the most commonly asked questions you&#8217;ll hear
2464 during flight.</p>
2465 </div>
2466 <div class="paragraph">
2467 <p>The current latitude and longitude reported by the GPS are
2468 also shown. Note that under high acceleration, these values
2469 may not get updated as the GPS receiver loses position
2470 fix. Once the rocket starts coasting, the receiver should
2471 start reporting position again.</p>
2472 </div>
2473 <div class="paragraph">
2474 <p>Finally, the current igniter voltages are reported as in the
2475 Launch Pad tab. This can help diagnose deployment failures
2476 caused by wiring which comes loose under high acceleration.</p>
2477 </div>
2478 </div>
2479 <div class="sect3">
2480 <h4 id="_descent">12.1.3. Descent</h4>
2481 <div class="imageblock">
2482 <div class="content">
2483 <img src="descent.png" alt="descent" width="400">
2484 </div>
2485 <div class="title">Figure 13. Monitor Flight Descent View</div>
2486 </div>
2487 <div class="paragraph">
2488 <p>Once the rocket has reached apogee and (we hope)
2489 activated the apogee charge, attention switches to
2490 tracking the rocket on the way back to the ground, and
2491 for dual-deploy flights, waiting for the main charge
2492 to fire.</p>
2493 </div>
2494 <div class="paragraph">
2495 <p>To monitor whether the apogee charge operated
2496 correctly, the current descent rate is reported along
2497 with the current height. Good descent rates vary based
2498 on the choice of recovery components, but generally
2499 range from 15-30m/s on drogue and should be below
2500 10m/s when under the main parachute in a dual-deploy
2501 flight.</p>
2502 </div>
2503 <div class="paragraph">
2504 <p>With GPS-equipped flight computers, you can locate the
2505 rocket in the sky using the elevation and bearing
2506 information to figure out where to look. Elevation is
2507 in degrees above the horizon. Bearing is reported in
2508 degrees relative to true north. Range can help figure
2509 out how big the rocket will appear. Ground Distance
2510 shows how far it is to a point directly under the
2511 rocket and can help figure out where the rocket is
2512 likely to land. Note that all of these values are
2513 relative to the pad location. If the elevation is near
2514 90°, the rocket is over the pad, not over you.</p>
2515 </div>
2516 <div class="paragraph">
2517 <p>Finally, the igniter voltages are reported in this tab
2518 as well, both to monitor the main charge as well as to
2519 see what the status of the apogee charge is.  Note
2520 that some commercial e-matches are designed to retain
2521 continuity even after being fired, and will continue
2522 to show as green or return from red to green after
2523 firing.</p>
2524 </div>
2525 </div>
2526 <div class="sect3">
2527 <h4 id="_landed">12.1.4. Landed</h4>
2528 <div class="imageblock">
2529 <div class="content">
2530 <img src="landed.png" alt="landed" width="400">
2531 </div>
2532 <div class="title">Figure 14. Monitor Flight Landed View</div>
2533 </div>
2534 <div class="paragraph">
2535 <p>Once the rocket is on the ground, attention switches
2536 to recovery. While the radio signal is often lost once
2537 the rocket is on the ground, the last reported GPS
2538 position is generally within a short distance of the
2539 actual landing location.</p>
2540 </div>
2541 <div class="paragraph">
2542 <p>The last reported GPS position is reported both by
2543 latitude and longitude as well as a bearing and
2544 distance from the launch pad. The distance should give
2545 you a good idea of whether to walk or hitch a ride.
2546 Take the reported latitude and longitude and enter
2547 them into your hand-held GPS unit and have that
2548 compute a track to the landing location.</p>
2549 </div>
2550 <div class="paragraph">
2551 <p>Our flight computers will continue to transmit RDF
2552 tones after landing, allowing you to locate the rocket
2553 by following the radio signal if necessary. You may
2554 need to get away from the clutter of the flight line,
2555 or even get up on a hill (or your neighbor&#8217;s RV roof)
2556 to receive the RDF signal.</p>
2557 </div>
2558 <div class="paragraph">
2559 <p>The maximum height, speed and acceleration reported
2560 during the flight are displayed for your admiring
2561 observers.  The accuracy of these immediate values
2562 depends on the quality of your radio link and how many
2563 packets were received.  Recovering the on-board data
2564 after flight may yield more precise results.</p>
2565 </div>
2566 <div class="paragraph">
2567 <p>To get more detailed information about the flight, you
2568 can click on the 'Graph Flight' button which will
2569 bring up a graph window for the current flight.</p>
2570 </div>
2571 </div>
2572 <div class="sect3">
2573 <h4 id="_table">12.1.5. Table</h4>
2574 <div class="imageblock">
2575 <div class="content">
2576 <img src="table.png" alt="table" width="400">
2577 </div>
2578 <div class="title">Figure 15. Monitor Flight Table View</div>
2579 </div>
2580 <div class="paragraph">
2581 <p>The table view shows all of the data available from the
2582 flight computer. Probably the most useful data on
2583 this tab is the detailed GPS information, which includes
2584 horizontal dilution of precision information, and
2585 information about the signal being received from the satellites.</p>
2586 </div>
2587 </div>
2588 <div class="sect3">
2589 <h4 id="_site_map">12.1.6. Site Map</h4>
2590 <div class="imageblock">
2591 <div class="content">
2592 <img src="site-map.png" alt="site map" width="400">
2593 </div>
2594 <div class="title">Figure 16. Monitor Flight Site Map View</div>
2595 </div>
2596 <div class="paragraph">
2597 <p>When the TeleMetrum has a GPS fix, the Site Map tab
2598 will map the rocket&#8217;s position to make it easier for
2599 you to locate the rocket, both while it is in the air,
2600 and when it has landed. The rocket&#8217;s state is
2601 indicated by color: white for pad, red for boost, pink
2602 for fast, yellow for coast, light blue for drogue,
2603 dark blue for main, and black for landed.</p>
2604 </div>
2605 <div class="paragraph">
2606 <p>The map&#8217;s default scale is approximately 3m (10ft) per
2607 pixel. The map can be dragged using the left mouse
2608 button. The map will attempt to keep the rocket
2609 roughly centered while data is being received.</p>
2610 </div>
2611 <div class="paragraph">
2612 <p>You can adjust the style of map and the zoom level
2613 with buttons on the right side of the map window. You
2614 can draw a line on the map by moving the mouse over
2615 the map with a button other than the left one pressed,
2616 or by pressing the left button while also holding down
2617 the shift key. The length of the line in real-world
2618 units will be shown at the start of the line.</p>
2619 </div>
2620 <div class="paragraph">
2621 <p>Images are fetched automatically via the Google Maps
2622 Static API, and cached on disk for reuse. If map
2623 images cannot be downloaded, the rocket&#8217;s path will be
2624 traced on a dark gray background instead.</p>
2625 </div>
2626 <div class="paragraph">
2627 <p>You can pre-load images for your favorite launch sites
2628 before you leave home; check out <a href="#_load_maps">Load Maps</a>.</p>
2629 </div>
2630 </div>
2631 <div class="sect3">
2632 <h4 id="_igniter">12.1.7. Igniter</h4>
2633 <div class="imageblock">
2634 <div class="content">
2635 <img src="ignitor.png" alt="ignitor" width="400">
2636 </div>
2637 <div class="title">Figure 17. Monitor Flight Additional Igniter View</div>
2638 </div>
2639 <div class="paragraph">
2640 <p>TeleMega includes four additional programmable pyro
2641 channels. The Ignitor tab shows whether each of them has
2642 continuity. If an ignitor has a low resistance, then the
2643 voltage measured here will be close to the pyro battery
2644 voltage. A value greater than 3.2V is required for a 'GO'
2645 status.</p>
2646 </div>
2647 </div>
2648 </div>
2649 <div class="sect2">
2650 <h3 id="_save_flight_data">12.2. Save Flight Data</h3>
2651 <div class="paragraph">
2652 <p>The altimeter records flight data to its internal
2653 flash memory.
2654 Data logged on board is recorded at a much
2655 higher rate than the telemetry system can handle, and
2656 is not subject to radio drop-outs. As such, it
2657 provides a more complete and precise record of the
2658 flight.
2659 The 'Save Flight Data' button allows you to
2660 read the flash memory and write it to disk.</p>
2661 </div>
2662 <div class="paragraph">
2663 <p>Clicking on the 'Save Flight Data' button brings up a
2664 list of connected flight computers and TeleDongle
2665 devices. If you select a flight computer, the flight
2666 data will be downloaded from that device directly.
2667 If you select a TeleDongle device, flight data will be
2668 downloaded from a flight computer over radio link via
2669 the specified TeleDongle. See
2670 <a href="#_controlling_an_altimeter_over_the_radio_link">Controlling An Altimeter Over The Radio Link</a> for
2671 more information.</p>
2672 </div>
2673 <div class="paragraph">
2674 <p>After the device has been selected, a dialog showing
2675 the flight data saved in the device will be shown
2676 allowing you to select which flights to download and
2677 which to delete. With version 0.9 or newer firmware,
2678 you must erase flights in order for the space they
2679 consume to be reused by another flight. This prevents
2680 accidentally losing flight data if you neglect to
2681 download data before flying again. Note that if there
2682 is no more space available in the device, then no data
2683 will be recorded during the next flight.</p>
2684 </div>
2685 <div class="paragraph">
2686 <p>The file name for each flight log is computed
2687 automatically from the recorded flight date, altimeter
2688 serial number and flight number information.</p>
2689 </div>
2690 </div>
2691 <div class="sect2">
2692 <h3 id="_replay_flight">12.3. Replay Flight</h3>
2693 <div class="paragraph">
2694 <p>Select this button and you are prompted to select a flight
2695 record file, either a .telem file recording telemetry data or a
2696 .eeprom file containing flight data saved from the altimeter
2697 flash memory.</p>
2698 </div>
2699 <div class="paragraph">
2700 <p>Once a flight record is selected, the flight monitor interface
2701 is displayed and the flight is re-enacted in real
2702 time.
2703 Check
2704 <a href="#_monitor_flight">Monitor Flight</a> to learn how this window operates.</p>
2705 </div>
2706 </div>
2707 <div class="sect2">
2708 <h3 id="_graph_data">12.4. Graph Data</h3>
2709 <div class="paragraph">
2710 <p>Select this button and you are prompted to select a flight
2711 record file, either a .telem file recording telemetry data or a
2712 .eeprom file containing flight data saved from
2713 flash memory.</p>
2714 </div>
2715 <div class="paragraph">
2716 <p>Note that telemetry files will generally produce poor graphs
2717 due to the lower sampling rate and missed telemetry packets.
2718 Use saved flight data in .eeprom files for graphing where possible.</p>
2719 </div>
2720 <div class="paragraph">
2721 <p>Once a flight record is selected, a window with multiple tabs is
2722 opened.</p>
2723 </div>
2724 <div class="sect3">
2725 <h4 id="_flight_graph">12.4.1. Flight Graph</h4>
2726 <div class="imageblock">
2727 <div class="content">
2728 <img src="graph.png" alt="graph" width="400">
2729 </div>
2730 <div class="title">Figure 18. Flight Data Graph</div>
2731 </div>
2732 <div class="paragraph">
2733 <p>By default, the graph contains acceleration (blue),
2734 velocity (green) and altitude (red).</p>
2735 </div>
2736 <div class="paragraph">
2737 <p>The graph can be zoomed into a particular area by
2738 clicking and dragging down and to the right. Once
2739 zoomed, the graph can be reset by clicking and
2740 dragging up and to the left. Holding down control and
2741 clicking and dragging allows the graph to be panned.
2742 The right mouse button causes a pop-up menu to be
2743 displayed, giving you the option save or print the
2744 plot.</p>
2745 </div>
2746 </div>
2747 <div class="sect3">
2748 <h4 id="_configure_graph">12.4.2. Configure Graph</h4>
2749 <div class="imageblock">
2750 <div class="content">
2751 <img src="graph-configure.png" alt="graph configure" width="400">
2752 </div>
2753 <div class="title">Figure 19. Flight Graph Configuration</div>
2754 </div>
2755 <div class="paragraph">
2756 <p>This selects which graph elements to show, and, at the
2757 very bottom. It also lets you configure how
2758 the graph is drawn:</p>
2759 </div>
2760 <div class="ulist">
2761 <ul>
2762 <li>
2763 <p>Whether to use metric or imperial units</p>
2764 </li>
2765 <li>
2766 <p>Whether to show a marker at each data
2767 point. When displaying a small section of
2768 the graph, these can be useful to know what
2769 data values were recorded.</p>
2770 </li>
2771 <li>
2772 <p>How wide to draw the lines in the graph</p>
2773 </li>
2774 <li>
2775 <p>How to filter speed and acceleration data
2776 computed from barometric data. Flight
2777 computers with accelerometers never display
2778 computed acceleration data, and only use
2779 barometric data to compute speed during
2780 descent. Flight computers without
2781 accelerometers always compute both speed and
2782 acceleration from barometric data. A larger
2783 value smooths the data more.</p>
2784 </li>
2785 </ul>
2786 </div>
2787 </div>
2788 <div class="sect3">
2789 <h4 id="_flight_statistics">12.4.3. Flight Statistics</h4>
2790 <div class="imageblock">
2791 <div class="content">
2792 <img src="graph-stats.png" alt="graph stats" width="400">
2793 </div>
2794 <div class="title">Figure 20. Flight Statistics</div>
2795 </div>
2796 <div class="paragraph">
2797 <p>Shows overall data computed from the flight.</p>
2798 </div>
2799 </div>
2800 <div class="sect3">
2801 <h4 id="_map">12.4.4. Map</h4>
2802 <div class="imageblock">
2803 <div class="content">
2804 <img src="graph-map.png" alt="graph map" width="400">
2805 </div>
2806 <div class="title">Figure 21. Flight Map</div>
2807 </div>
2808 <div class="paragraph">
2809 <p>Shows a satellite image of the flight area
2810 overlaid with the path of the flight. The
2811 flight path will have different colored
2812 sections for each state of the flight (just
2813 like the Site Map in Monitor Flight mode):
2814 white for pad, red for boost, pink for fast,
2815 yellow for coast, light blue for drogue, dark
2816 blue for main, and black for landed.</p>
2817 </div>
2818 <div class="paragraph">
2819 <p>The red concentric circles mark the launch
2820 pad, the black concentric circles mark the
2821 landing location. Data for the point along the
2822 along the flight path nearest the cursor will
2823 be displayed at the bottom of the window. This
2824 data includes flight time (so you can
2825 correlate data in the graph window), latitude,
2826 longitude, height above ground and vertical
2827 speed. The selected point will be highlighted
2828 with concentric circles in the same color as
2829 the flight path at that point.</p>
2830 </div>
2831 </div>
2832 </div>
2833 <div class="sect2">
2834 <h3 id="_export_data">12.5. Export Data</h3>
2835 <div class="paragraph">
2836 <p>This tool takes the raw data files and makes them
2837 available for external analysis. When you select this
2838 button, you are prompted to select a flight data file,
2839 which can be either a .eeprom or .telem.  The .eeprom
2840 files contain higher resolution and more continuous
2841 data, while .telem files contain receiver signal
2842 strength information.  Next, a second dialog appears
2843 which is used to select where to write the resulting
2844 file.
2845 It has a selector to choose between CSV and KML
2846 file formats.</p>
2847 </div>
2848 <div class="sect3">
2849 <h4 id="_comma_separated_value_format">12.5.1. Comma Separated Value Format</h4>
2850 <div class="paragraph">
2851 <p>This is a text file containing the data in a form
2852 suitable for import into a spreadsheet or other
2853 external data analysis tool. The first few lines of
2854 the file contain the version and configuration
2855 information from the altimeter, then there is a single
2856 header line which labels all of the fields. All of
2857 these lines start with a '#' character which many
2858 tools can be configured to skip over.</p>
2859 </div>
2860 <div class="paragraph">
2861 <p>The remaining lines of the file contain the data, with
2862 each field separated by a comma and at least one
2863 space. All of the sensor values are converted to
2864 standard units, with the barometric data reported in
2865 both pressure, altitude and height above pad units.</p>
2866 </div>
2867 </div>
2868 <div class="sect3">
2869 <h4 id="_keyhole_markup_language_for_google_earth">12.5.2. Keyhole Markup Language (for Google Earth)</h4>
2870 <div class="paragraph">
2871 <p>This is the format used by Google Earth to provide an
2872 overlay within that application. With this, you can
2873 use Google Earth to see the whole flight path
2874 in 3D.</p>
2875 </div>
2876 </div>
2877 </div>
2878 <div class="sect2">
2879 <h3 id="_configure_altimeter">12.6. Configure Altimeter</h3>
2880 <div class="imageblock">
2881 <div class="content">
2882 <img src="configure-altimeter.png" alt="configure altimeter" width="350">
2883 </div>
2884 <div class="title">Figure 22. Altimeter Configuration</div>
2885 </div>
2886 <div class="paragraph">
2887 <p>Select this button and then select either an altimeter or
2888 TeleDongle Device from the list provided. Selecting a TeleDongle
2889 device will use the radio link to configure a remote
2890 altimeter.</p>
2891 </div>
2892 <div class="paragraph">
2893 <p>The first few lines of the dialog provide information about the
2894 connected device, including the product name,
2895 software version and hardware serial number. Below that are the
2896 individual configuration entries.</p>
2897 </div>
2898 <div class="paragraph">
2899 <p>At the bottom of the dialog, there are four buttons:</p>
2900 </div>
2901 <div class="dlist">
2902 <dl>
2903 <dt class="hdlist1">Save</dt>
2904 <dd>
2905 <p>This writes any changes to the configuration parameter
2906 block in flash memory. If you don&#8217;t press this button,
2907 any changes you make will be lost.</p>
2908 </dd>
2909 <dt class="hdlist1">Reset</dt>
2910 <dd>
2911 <p>This resets the dialog to the most recently saved
2912 values, erasing any changes you have made.</p>
2913 </dd>
2914 <dt class="hdlist1">Reboot</dt>
2915 <dd>
2916 <p>This reboots the device. Use this to switch from idle
2917 to pad mode by rebooting once the rocket is oriented
2918 for flight, or to confirm changes you think you saved
2919 are really saved.</p>
2920 </dd>
2921 <dt class="hdlist1">Close</dt>
2922 <dd>
2923 <p>This closes the dialog. Any unsaved changes will be
2924 lost.</p>
2925 </dd>
2926 </dl>
2927 </div>
2928 <div class="paragraph">
2929 <p>The rest of the dialog contains the parameters to be configured.</p>
2930 </div>
2931 <div class="sect3">
2932 <h4 id="_main_deploy_altitude">12.6.1. Main Deploy Altitude</h4>
2933 <div class="paragraph">
2934 <p>This sets the altitude (above the recorded pad
2935 altitude) at which the 'main' igniter will fire. The
2936 drop-down menu shows some common values, but you can
2937 edit the text directly and choose whatever you
2938 like. If the apogee charge fires below this altitude,
2939 then the main charge will fire two seconds after the
2940 apogee charge fires.</p>
2941 </div>
2942 </div>
2943 <div class="sect3">
2944 <h4 id="_apogee_delay">12.6.2. Apogee Delay</h4>
2945 <div class="paragraph">
2946 <p>When flying redundant electronics, it&#8217;s often
2947 important to ensure that multiple apogee charges don&#8217;t
2948 fire at precisely the same time, as that can over
2949 pressurize the apogee deployment bay and cause a
2950 structural failure of the air-frame. The Apogee Delay
2951 parameter tells the flight computer to fire the apogee
2952 charge a certain number of seconds after apogee has
2953 been detected.</p>
2954 </div>
2955 </div>
2956 <div class="sect3">
2957 <h4 id="_apogee_lockout">12.6.3. Apogee Lockout</h4>
2958 <div class="paragraph">
2959 <p>Apogee lockout is the number of seconds after launch
2960 where the flight computer will not fire the apogee
2961 charge, even if the rocket appears to be at
2962 apogee. This is often called 'Mach Delay', as it is
2963 intended to prevent a flight computer from
2964 unintentionally firing apogee charges due to the
2965 pressure spike that occurrs across a mach
2966 transition. Altus Metrum flight computers include a
2967 Kalman filter which is not fooled by this sharp
2968 pressure increase, and so this setting should be left
2969 at the default value of zero to disable it.</p>
2970 </div>
2971 <div class="admonitionblock warning">
2972 <table>
2973 <tr>
2974 <td class="icon">
2975 <img src="./images/icons/warning.svg" alt="Warning">
2976 </td>
2977 <td class="content">
2978 Firmware versions older than 1.8.6 have a
2979 bug which resets the time since launch to zero each
2980 time a motor starts burning. Update firmware to get
2981 the correct behavior.
2982 </td>
2983 </tr>
2984 </table>
2985 </div>
2986 </div>
2987 <div class="sect3">
2988 <h4 id="_frequency">12.6.4. Frequency</h4>
2989 <div class="paragraph">
2990 <p>This configures which of the frequencies to use for
2991 both telemetry and packet command mode. Note that if
2992 you set this value via packet command mode, the
2993 TeleDongle frequency will also be automatically
2994 reconfigured to match so that communication will
2995 continue afterwards.</p>
2996 </div>
2997 </div>
2998 <div class="sect3">
2999 <h4 id="_rf_calibration">12.6.5. RF Calibration</h4>
3000 <div class="paragraph">
3001 <p>The radios in every Altus Metrum device are calibrated
3002 at the factory to ensure that they transmit and
3003 receive on the specified frequency.  If you need to
3004 you can adjust the calibration by changing this value.
3005 Do not do this without understanding what the value
3006 means, read the appendix on calibration and/or the
3007 source code for more information.  To change a
3008 TeleDongle&#8217;s calibration, you must reprogram the unit
3009 completely.</p>
3010 </div>
3011 </div>
3012 <div class="sect3">
3013 <h4 id="_telemetryrdfaprs_enable">12.6.6. Telemetry/RDF/APRS Enable</h4>
3014 <div class="paragraph">
3015 <p>Enables the radio for transmission during
3016 flight. When disabled, the radio will not
3017 transmit anything during flight at all.</p>
3018 </div>
3019 </div>
3020 <div class="sect3">
3021 <h4 id="_limit_transmit_to_10mw">12.6.7. Limit transmit to 10mW</h4>
3022 <div class="paragraph">
3023 <p>Reduces transmit power to no more than 10mW. This is
3024 useful when operating under some UK radio regulations.</p>
3025 </div>
3026 </div>
3027 <div class="sect3">
3028 <h4 id="_telemetry_baud_rate">12.6.8. Telemetry baud rate</h4>
3029 <div class="paragraph">
3030 <p>This sets the modulation bit rate for data
3031 transmission for both telemetry and packet
3032 link mode. Lower bit rates will increase range
3033 while reducing the amount of data that can be
3034 sent and increasing battery consumption. All
3035 telemetry is done using a rate 1/2 constraint
3036 4 convolution code, so the actual data
3037 transmission rate is 1/2 of the modulation bit
3038 rate specified here.</p>
3039 </div>
3040 </div>
3041 <div class="sect3">
3042 <h4 id="_aprs_interval">12.6.9. APRS Interval</h4>
3043 <div class="paragraph">
3044 <p>How often to transmit GPS information via APRS
3045 (in seconds). When set to zero, APRS
3046 transmission is disabled.
3047 This option is
3048 available on TeleMetrum v2 or newer and TeleMega
3049 boards. TeleMetrum v1 boards cannot transmit
3050 APRS packets.
3051 Note that a single APRS packet
3052 takes nearly a full second to transmit, so
3053 enabling this option will prevent sending any
3054 other telemetry during that time.</p>
3055 </div>
3056 </div>
3057 <div class="sect3">
3058 <h4 id="_aprs_ssid">12.6.10. APRS SSID</h4>
3059 <div class="paragraph">
3060 <p>Which SSID to report in APRS packets. By
3061 default, this is set to the last digit of the
3062 serial number, but can be configured to any
3063 value from 0 to 9.</p>
3064 </div>
3065 </div>
3066 <div class="sect3">
3067 <h4 id="_aprs_format">12.6.11. APRS Format</h4>
3068 <div class="paragraph">
3069 <p>Whether to send APRS data in Compressed or
3070 Uncompressed format. Compressed format is
3071 smaller and more precise. Uncompressed
3072 format is older, but may work better with your
3073 device. The Kenwood TH-D72 only displays
3074 altitude information with Uncompressed
3075 format, while the Yaesu FT1D only displays
3076 altitude with Compressed format. Test before
3077 you fly to see which to use.</p>
3078 </div>
3079 </div>
3080 <div class="sect3">
3081 <h4 id="_aprs_offset">12.6.12. APRS Offset</h4>
3082 <div class="paragraph">
3083 <p>The delay from the top of the minute before sending
3084 the first APRS packet of the minute. Coordinating
3085 values for this parameter between multiple devices can
3086 allow a single receiver to reliably receive APRS
3087 packets from multiple devices. Note that this offset only
3088 takes effect while the GPS signal is locked so that the
3089 transmitting device knows the current time.</p>
3090 </div>
3091 </div>
3092 <div class="sect3">
3093 <h4 id="_callsign">12.6.13. Callsign</h4>
3094 <div class="paragraph">
3095 <p>This sets the call sign included in each
3096 telemetry packet. Set this as needed to
3097 conform to your local radio regulations.</p>
3098 </div>
3099 </div>
3100 <div class="sect3">
3101 <h4 id="_maximum_flight_log_size">12.6.14. Maximum Flight Log Size</h4>
3102 <div class="paragraph">
3103 <p>This sets the space (in kilobytes) allocated
3104 for each flight log. The available space will
3105 be divided into chunks of this size. A smaller
3106 value will allow more flights to be stored, a
3107 larger value will record data from longer
3108 flights.</p>
3109 </div>
3110 </div>
3111 <div class="sect3">
3112 <h4 id="_ignitor_firing_mode">12.6.15. Ignitor Firing Mode</h4>
3113 <div class="paragraph">
3114 <p>This configuration parameter allows the two standard ignitor
3115 channels (Apogee and Main) to be used in different
3116 configurations.</p>
3117 </div>
3118 <div class="dlist">
3119 <dl>
3120 <dt class="hdlist1">Dual Deploy</dt>
3121 <dd>
3122 <p>This is the usual mode of operation; the
3123 'apogee' channel is fired at apogee and the
3124 'main' channel at the height above ground
3125 specified by the 'Main Deploy Altitude' during
3126 descent.</p>
3127 </dd>
3128 <dt class="hdlist1">Redundant Apogee</dt>
3129 <dd>
3130 <p>This fires both channels at apogee, the
3131 'apogee' channel first followed after a two
3132 second delay by the 'main' channel.</p>
3133 </dd>
3134 <dt class="hdlist1">Redundant Main</dt>
3135 <dd>
3136 <p>This fires both channels at the height above
3137 ground specified by the Main Deploy Altitude
3138 setting during descent. The 'apogee' channel
3139 is fired first, followed after a two second
3140 delay by the 'main' channel.</p>
3141 </dd>
3142 <dt class="hdlist1">Separation &amp; Apogee</dt>
3143 <dd>
3144 <p>This fires the 'main' channel when the first motor
3145 burns out and fires the 'apogee' charge at apogee.</p>
3146 </dd>
3147 </dl>
3148 </div>
3149 </div>
3150 <div class="sect3">
3151 <h4 id="_pad_orientation">12.6.16. Pad Orientation</h4>
3152 <div class="paragraph">
3153 <p>Because they include accelerometers,
3154 TeleMetrum, TeleMega and EasyMega are
3155 sensitive to the orientation of the board. By
3156 default, they expect the antenna end to point
3157 forward. This parameter allows that default to
3158 be changed, permitting the board to be mounted
3159 with the antenna pointing aft instead.</p>
3160 </div>
3161 <div class="dlist">
3162 <dl>
3163 <dt class="hdlist1">Antenna Up</dt>
3164 <dd>
3165 <p>In this mode, the antenna (or beeper, for devices
3166 without an antenna) of the flight computer must point
3167 forward, in line with the expected flight path.</p>
3168 </dd>
3169 <dt class="hdlist1">Antenna Down</dt>
3170 <dd>
3171 <p>In this mode, the antenna (or beeper, for devices
3172 without an antenna) end of the flight computer must
3173 point aft, in line with the expected flight path.</p>
3174 </dd>
3175 </dl>
3176 </div>
3177 </div>
3178 <div class="sect3">
3179 <h4 id="_beeper_frequency">12.6.17. Beeper Frequency</h4>
3180 <div class="paragraph">
3181 <p>The beeper on all Altus Metrum flight
3182 computers works best at 4000Hz, however if you
3183 have more than one flight computer in a single
3184 airframe, having all of them sound at the same
3185 frequency can be confusing. This parameter
3186 lets you adjust the base beeper frequency
3187 value.</p>
3188 </div>
3189 </div>
3190 <div class="sect3">
3191 <h4 id="_logging_trigger_motion">12.6.18. Logging Trigger Motion</h4>
3192 <div class="paragraph">
3193 <p>This sets the amount of motion that TeleGPS
3194 needs to see before logging the new
3195 position. Motions smaller than this are
3196 skipped, which saves storage space.</p>
3197 </div>
3198 </div>
3199 <div class="sect3">
3200 <h4 id="_position_reporting_interval">12.6.19. Position Reporting Interval</h4>
3201 <div class="paragraph">
3202 <p>The interval between TeleGPS position reports,
3203 both over the air and in the log. Increase
3204 this to reduce the frequency of radio
3205 transmissions and the length of time available
3206 in the log.</p>
3207 </div>
3208 </div>
3209 <div class="sect3">
3210 <h4 id="_calibrate_accelerometer">12.6.20. Calibrate Accelerometer</h4>
3211 <div class="paragraph">
3212 <p>This opens a separate window to recalibrate the
3213 accelerometers. Follow the instructions, orienting the
3214 flight computer with the antenna end, or end opposite
3215 the screw terminals, in the case of EasyMega, first up
3216 and then down.</p>
3217 </div>
3218 <div class="paragraph">
3219 <p>When the calibration is complete, return to the
3220 Configure Altimeter window and save the new
3221 calibration values.</p>
3222 </div>
3223 </div>
3224 <div class="sect3">
3225 <h4 id="_configure_pyro_channels">12.6.21. Configure Pyro Channels</h4>
3226 <div class="imageblock">
3227 <div class="content">
3228 <img src="configure-pyro.png" alt="configure pyro" width="400">
3229 </div>
3230 <div class="title">Figure 23. Additional Pyro Channel Configuration</div>
3231 </div>
3232 <div class="paragraph">
3233 <p>This opens a separate window to configure the
3234 additional pyro channels available on TeleMega,
3235 EasyMega and EasyTimer.  One column is presented for
3236 each channel. Each row represents a single
3237 parameter, if enabled the parameter must meet
3238 the specified test for the pyro channel to be
3239 fired.</p>
3240 </div>
3241 <div class="paragraph">
3242 <p>Select conditions and set the related value;
3243 the pyro channel will be activated when <strong>all</strong>
3244 of the conditions are met. Each pyro channel
3245 has a separate set of configuration values, so
3246 you can use different values for the same
3247 condition with different channels.</p>
3248 </div>
3249 <div class="paragraph">
3250 <p>At the bottom of the window, the 'Pyro Firing
3251 Time' configuration sets the length of time
3252 (in seconds) which each of these pyro channels
3253 will fire for.</p>
3254 </div>
3255 <div class="paragraph">
3256 <p>Once you have selected the appropriate
3257 configuration for all of the necessary pyro
3258 channels, you can save the pyro configuration
3259 along with the rest of the flight computer
3260 configuration by pressing the 'Save' button in
3261 the main Configure Flight Computer window.</p>
3262 </div>
3263 <div class="dlist">
3264 <dl>
3265 <dt class="hdlist1">Vertical Acceleration</dt>
3266 <dd>
3267 <p>Select a value, and then choose whether
3268 acceleration away from the ground should be above or below that
3269 value. Acceleration is positive upwards, so accelerating towards the
3270 ground would produce negative numbers. Acceleration during descent is
3271 noisy and inaccurate, so be careful when using it during these phases
3272 of the flight.</p>
3273 </dd>
3274 <dt class="hdlist1">Ascent rate</dt>
3275 <dd>
3276 <p>Select a value, and then choose whether ascent rate
3277 should be above or below that value. Ascent rate is positive upwards,
3278 so moving towards the ground would produce negative numbers. Ascent
3279 rate during descent is a bit noisy and so be careful when using it
3280 during these phases of the flight.</p>
3281 </dd>
3282 <dt class="hdlist1">Height above pad</dt>
3283 <dd>
3284 <p>Select a value, and then choose whether the height
3285 above the launch pad should be above or below that value. Note that
3286 because EasyTimer has only a low-range accelerometer and no barometer,
3287 this value will not be very reliable on that device.</p>
3288 </dd>
3289 <dt class="hdlist1">Orientation</dt>
3290 <dd>
3291 <p>TeleMega, EasyMega and EasyTimer contain a 3-axis
3292 gyroscope and accelerometer which is used to compute the orientation
3293 of the rocket. A record of orientations over the last 0.64 seconds is
3294 kept and the largest value within this period is compared with the
3295 specified value. Note that the tilt angle is not the change in angle
3296 from the launch pad, but rather absolute relative to gravity—the
3297 3-axis accelerometer is used to compute the angle of the rocket on the
3298 launch pad and initialize the system.</p>
3299 </dd>
3300 </dl>
3301 </div>
3302 <div class="admonitionblock note">
3303 <table>
3304 <tr>
3305 <td class="icon">
3306 <img src="./images/icons/note.svg" alt="Note">
3307 </td>
3308 <td class="content">
3309 <div class="paragraph">
3310 <p>Because this value is computed by integrating
3311 rate gyros, it gets progressively less
3312 accurate as the flight goes on. It should have
3313 an accumulated error of less than 0.2°/second
3314 (after 10 seconds of flight, the error should
3315 be less than 2°).</p>
3316 </div>
3317 <div class="paragraph">
3318 <p>The usual use of the orientation configuration
3319 is to ensure that the rocket is traveling
3320 mostly upwards when deciding whether to ignite
3321 air starts or additional stages. For that,
3322 choose a reasonable maximum angle (like 20°)
3323 and set the motor igniter to require an angle
3324 of less than that value.</p>
3325 </div>
3326 </td>
3327 </tr>
3328 </table>
3329 </div>
3330 <div class="dlist">
3331 <dl>
3332 <dt class="hdlist1">Flight Time</dt>
3333 <dd>
3334 <p>Time since launch. Select a value and choose whether to
3335 activate the pyro channel before or after that amount of time.</p>
3336 </dd>
3337 </dl>
3338 </div>
3339 <div class="admonitionblock warning">
3340 <table>
3341 <tr>
3342 <td class="icon">
3343 <img src="./images/icons/warning.svg" alt="Warning">
3344 </td>
3345 <td class="content">
3346 Firmware versions older than 1.8.6 have a bug which resets the time
3347 since launch to zero each time a motor starts burning. Update firmware
3348 to get the correct behavior.
3349 </td>
3350 </tr>
3351 </table>
3352 </div>
3353 <div class="admonitionblock warning">
3354 <table>
3355 <tr>
3356 <td class="icon">
3357 <img src="./images/icons/warning.svg" alt="Warning">
3358 </td>
3359 <td class="content">
3360 Firmware versions older than 1.9.8 cannot use times longer
3361 than 327.67 seconds. Update firmware if you need a longer time.
3362 </td>
3363 </tr>
3364 </table>
3365 </div>
3366 <div class="dlist">
3367 <dl>
3368 <dt class="hdlist1">Ascending</dt>
3369 <dd>
3370 <p>A deprecated configuration value which was the same as
3371 setting Ascent rate &gt; 0. Existing configurations using this will be
3372 cleared and must be reconfigured by the user.</p>
3373 </dd>
3374 <dt class="hdlist1">Descending</dt>
3375 <dd>
3376 <p>A deprecated configuration value which was the same as
3377 setting Ascent rate &lt; 0. Existing configurations using this will be
3378 cleared and must be reconfigured by the user.</p>
3379 </dd>
3380 <dt class="hdlist1">After Motor</dt>
3381 <dd>
3382 <p>The flight software counts each time the rocket starts
3383 accelerating and then decelerating (presumably due to a motor or
3384 motors burning). Use this value for multi-staged or multi-airstart
3385 launches. As of version 1.8.6 firmware, this checks to make sure at
3386 least this many motors have burned. Before version 1.8.6, this checked
3387 to make sure that exactly this many motors had burned.</p>
3388 </dd>
3389 <dt class="hdlist1">Delay</dt>
3390 <dd>
3391 <p>Once the other parameters all become true, a timer is
3392 started for the specified amount of time. While the timer is running,
3393 the other parameters are checked repeatedly and if any of them become
3394 false, then the pyro channel is disabled and will not fire. If the
3395 timer expires and all of the other parameters have remained true for
3396 the entire time, then the pyro channel is fired.</p>
3397 </dd>
3398 </dl>
3399 </div>
3400 <div class="admonitionblock warning">
3401 <table>
3402 <tr>
3403 <td class="icon">
3404 <img src="./images/icons/warning.svg" alt="Warning">
3405 </td>
3406 <td class="content">
3407 Firmware versions older than 1.9.8 cannot use delays longer
3408 than 327.67 seconds. Update firmware if you need a longer delay.
3409 </td>
3410 </tr>
3411 </table>
3412 </div>
3413 <div class="dlist">
3414 <dl>
3415 <dt class="hdlist1">Flight State</dt>
3416 <dd>
3417 <p>The flight software tracks the flight
3418 through a sequence of states:</p>
3419 <div class="ulist">
3420 <ul>
3421 <li>
3422 <p>Boost. The motor has lit and the rocket is
3423 accelerating upwards. Ascent rate will be greater than zero.
3424 Vertical acceleration will be greater than zero.</p>
3425 </li>
3426 <li>
3427 <p>Fast. The motor has burned out and the
3428 rocket is decelerating, but it is going
3429 faster than 200m/s. Ascent rate will be greater than zero. Vertical
3430 acceleration will be less than zero.</p>
3431 </li>
3432 <li>
3433 <p>Coast. The rocket is still moving upwards
3434 and decelerating, but the Ascent rate is less
3435 than 200m/s. Ascent rate will greater than zero. Vertical
3436 acceleration will be less than zero.</p>
3437 </li>
3438 <li>
3439 <p>Drogue. The rocket has reached apogee and is heading back down, but
3440 is above the configured Main altitude. Ascent rate will be less
3441 than zero during this state. Vertical acceleration will be negative
3442 until the rocket reaches a terminal descent rate, at which point
3443 Vertical acceleration will be zero. Both Ascent rate and Vertical
3444 acceleration are very noisy in this state, so be careful when
3445 trying to use them to control pyro channels. This state selection
3446 is not available on EasyTimer.</p>
3447 </li>
3448 <li>
3449 <p>Main. The rocket is still descending, and
3450 is below the Main altitude. Ascent rate will be less than zero
3451 during this state. Vertical acceleration may be briefly less than
3452 zero as the rocket slows from drogue descent to main descent, but
3453 it will settle down to a zero value once the rocket has reached the
3454 terminal velocity under the main chute. Ascent rate and Vertical
3455 acceleration should be much less noisy once the main chute has
3456 deployed. This state selection is not available on EasyTimer.</p>
3457 </li>
3458 <li>
3459 <p>Landed. The rocket is no longer moving.</p>
3460 </li>
3461 </ul>
3462 </div>
3463 </dd>
3464 </dl>
3465 </div>
3466 <div class="paragraph">
3467 <p>You can select a state to limit when the pyro channel may activate;
3468 note that the check is based on when the rocket transitions <strong>into</strong> the
3469 state, and so checking for “greater than Boost” means that the rocket
3470 is currently in boost or some later state.</p>
3471 </div>
3472 <div class="paragraph">
3473 <p>When a motor burns out, the rocket enters either Fast or Coast state
3474 (depending on how fast it is moving). If the computer detects upwards
3475 acceleration again, it will move back to Boost state.</p>
3476 </div>
3477 </div>
3478 </div>
3479 <div class="sect2">
3480 <h3 id="_configure_altosui">12.7. Configure AltosUI</h3>
3481 <div class="imageblock">
3482 <div class="content">
3483 <img src="configure-altosui.png" alt="configure altosui" width="230">
3484 </div>
3485 <div class="title">Figure 24. Configure AltosUI Dialog</div>
3486 </div>
3487 <div class="paragraph">
3488 <p>This button presents a dialog so that you can
3489 configure the AltosUI global settings.</p>
3490 </div>
3491 <div class="sect3">
3492 <h4 id="_voice_settings">12.7.1. Voice Settings</h4>
3493 <div class="paragraph">
3494 <p>AltosUI provides voice announcements during
3495 flight so that you can keep your eyes on the
3496 sky and still get information about the
3497 current flight status. However, sometimes you
3498 don&#8217;t want to hear them.</p>
3499 </div>
3500 <div class="dlist">
3501 <dl>
3502 <dt class="hdlist1">Enable</dt>
3503 <dd>
3504 <p>Turns all voice announcements on and off</p>
3505 </dd>
3506 <dt class="hdlist1">Test Voice</dt>
3507 <dd>
3508 <p>Plays a short message allowing you to verify
3509 that the audio system is working and the volume settings
3510 are reasonable</p>
3511 </dd>
3512 </dl>
3513 </div>
3514 </div>
3515 <div class="sect3">
3516 <h4 id="_log_directory">12.7.2. Log Directory</h4>
3517 <div class="paragraph">
3518 <p>AltosUI logs all telemetry data and saves all
3519 flash data to this directory. This
3520 directory is also used as the staring point
3521 when selecting data files for display or
3522 export.</p>
3523 </div>
3524 <div class="paragraph">
3525 <p>Click on the directory name to bring up a
3526 directory choosing dialog, select a new
3527 directory and click 'Select Directory' to
3528 change where AltosUI reads and writes data
3529 files.</p>
3530 </div>
3531 </div>
3532 <div class="sect3">
3533 <h4 id="_callsign_2">12.7.3. Callsign</h4>
3534 <div class="paragraph">
3535 <p>This value is transmitted in each command
3536 packet sent from TeleDongle and received from
3537 an altimeter.  It is not used in telemetry
3538 mode, as the callsign configured in the
3539 altimeter board is included in all telemetry
3540 packets.  Configure this with the AltosUI
3541 operators call sign as needed to comply with
3542 your local radio regulations.</p>
3543 </div>
3544 <div class="paragraph">
3545 <p>Note that to successfully command a flight
3546 computer over the radio (to configure the
3547 altimeter, monitor idle, or fire pyro
3548 charges), the callsign configured here must
3549 exactly match the callsign configured in the
3550 flight computer.  This matching is case
3551 sensitive.</p>
3552 </div>
3553 </div>
3554 <div class="sect3">
3555 <h4 id="_imperial_units">12.7.4. Imperial Units</h4>
3556 <div class="paragraph">
3557 <p>This switches between metric units (meters)
3558 and imperial units (feet and miles). This
3559 affects the display of values use during
3560 flight monitoring, configuration, data
3561 graphing and all of the voice
3562 announcements. It does not change the units
3563 used when exporting to CSV files, those are
3564 always produced in metric units.</p>
3565 </div>
3566 </div>
3567 <div class="sect3">
3568 <h4 id="_serial_debug">12.7.5. Serial Debug</h4>
3569 <div class="paragraph">
3570 <p>This causes all communication with a connected
3571 device to be dumped to the console from which
3572 AltosUI was started. If you&#8217;ve started it from
3573 an icon or menu entry, the output will simply
3574 be discarded. This mode can be useful to debug
3575 various serial communication issues.</p>
3576 </div>
3577 </div>
3578 <div class="sect3">
3579 <h4 id="_font_size">12.7.6. Font size</h4>
3580 <div class="paragraph">
3581 <p>Selects the set of fonts used in the flight
3582 monitor window. Choose between the small,
3583 medium and large sets.</p>
3584 </div>
3585 </div>
3586 <div class="sect3">
3587 <h4 id="_look_feel">12.7.7. Look &amp; feel</h4>
3588 <div class="paragraph">
3589 <p>Switches between the available Java user
3590 interface appearances. The default selection
3591 is supposed to match the native window system
3592 appearance for the target platform.</p>
3593 </div>
3594 </div>
3595 <div class="sect3">
3596 <h4 id="_menu_position">12.7.8. Menu position</h4>
3597 <div class="paragraph">
3598 <p>Selects the initial position for the main
3599 AltosUI window that includes all of the
3600 command buttons.</p>
3601 </div>
3602 </div>
3603 <div class="sect3">
3604 <h4 id="_map_cache_size">12.7.9. Map Cache Size</h4>
3605 <div class="paragraph">
3606 <p>Sets the number of map 'tiles' kept in memory
3607 while the application is running. More tiles
3608 consume more memory, but will make panning
3609 around the map faster.</p>
3610 </div>
3611 </div>
3612 <div class="sect3">
3613 <h4 id="_manage_frequencies">12.7.10. Manage Frequencies</h4>
3614 <div class="paragraph">
3615 <p>This brings up a dialog where you can
3616 configure the set of frequencies shown in the
3617 various frequency menus. You can add as many
3618 as you like, or even reconfigure the default
3619 set. Changing this list does not affect the
3620 frequency settings of any devices, it only
3621 changes the set of frequencies shown in the
3622 menus.</p>
3623 </div>
3624 </div>
3625 </div>
3626 <div class="sect2">
3627 <h3 id="_configure_groundstation">12.8. Configure Groundstation</h3>
3628 <div class="imageblock">
3629 <div class="content">
3630 <img src="configure-groundstation.png" alt="configure groundstation" width="300">
3631 </div>
3632 <div class="title">Figure 25. Configure Groundstation Dialog</div>
3633 </div>
3634 <div class="paragraph">
3635 <p>Select this button and then select a TeleDongle or
3636 TeleBT Device from the list provided.</p>
3637 </div>
3638 <div class="paragraph">
3639 <p>The first few lines of the dialog provide information
3640 about the connected device, including the product
3641 name, software version and hardware serial
3642 number. Below that are the individual configuration
3643 entries.</p>
3644 </div>
3645 <div class="paragraph">
3646 <p>Note that TeleDongle and TeleBT don&#8217;t save any
3647 configuration data, the settings here are recorded on
3648 the local machine in the Java preferences
3649 database. Moving the device to another machine, or
3650 using a different user account on the same machine
3651 will cause settings made here to have no effect.</p>
3652 </div>
3653 <div class="paragraph">
3654 <p>At the bottom of the dialog, there are three
3655 buttons:</p>
3656 </div>
3657 <div class="dlist">
3658 <dl>
3659 <dt class="hdlist1">Save</dt>
3660 <dd>
3661 <p>This writes any changes to the local Java
3662 preferences file. If you don&#8217;t press this
3663 button, any changes you make will be lost.</p>
3664 </dd>
3665 <dt class="hdlist1">Reset</dt>
3666 <dd>
3667 <p>This resets the dialog to the most recently
3668 saved values, erasing any changes you have
3669 made.</p>
3670 </dd>
3671 <dt class="hdlist1">Close</dt>
3672 <dd>
3673 <p>This closes the dialog. Any unsaved changes
3674 will be lost.</p>
3675 </dd>
3676 </dl>
3677 </div>
3678 <div class="paragraph">
3679 <p>The rest of the dialog contains the parameters
3680 to be configured.</p>
3681 </div>
3682 <div class="sect3">
3683 <h4 id="_frequency_2">12.8.1. Frequency</h4>
3684 <div class="paragraph">
3685 <p>This configures the frequency to use for both
3686 telemetry and packet command mode. Set this
3687 before starting any operation involving packet
3688 command mode so that it will use the right
3689 frequency. Telemetry monitoring mode also
3690 provides a menu to change the frequency, and
3691 that menu also sets the same Java preference
3692 value used here.</p>
3693 </div>
3694 </div>
3695 <div class="sect3">
3696 <h4 id="_rf_calibration_2">12.8.2. RF Calibration</h4>
3697 <div class="paragraph">
3698 <p>The radios in every Altus Metrum device are
3699 calibrated at the factory to ensure that they
3700 transmit and receive on the specified
3701 frequency.  To change a TeleDongle or TeleBT&#8217;s
3702 calibration, you must reprogram the unit
3703 completely, so this entry simply shows the
3704 current value and doesn&#8217;t allow any changes.</p>
3705 </div>
3706 </div>
3707 <div class="sect3">
3708 <h4 id="_telemetry_rate">12.8.3. Telemetry Rate</h4>
3709 <div class="paragraph">
3710 <p>This lets you match the telemetry and packet
3711 link rate from the transmitter. If they don&#8217;t
3712 match, the device won&#8217;t receive any data.</p>
3713 </div>
3714 </div>
3715 </div>
3716 <div class="sect2">
3717 <h3 id="_flash_image">12.9. Flash Image</h3>
3718 <div class="paragraph">
3719 <p>This reprograms Altus Metrum devices with new
3720 firmware.
3721 TeleMetrum v1.x, TeleDongle v0.2, TeleMini v1.0
3722 and TeleBT v1.0 are all reprogrammed by using another
3723 similar unit as a programming dongle (pair
3724 programming).
3725 TeleMega, EasyMega, TeleMetrum v2 or newer,
3726 EasyMini, EasyTimer, TeleBT v3 or newer and TeleDongle v3
3727 or newer are all
3728 programmed directly
3729 over USB (self programming). Please read
3730 the directions for flashing devices in
3731 <a href="#_updating_device_firmware">Updating Device Firmware</a>.</p>
3732 </div>
3733 </div>
3734 <div class="sect2">
3735 <h3 id="_fire_igniter">12.10. Fire Igniter</h3>
3736 <div class="imageblock">
3737 <div class="content">
3738 <img src="fire-igniter.png" alt="fire igniter" width="120">
3739 </div>
3740 <div class="title">Figure 26. Fire Igniter Window</div>
3741 </div>
3742 <div class="paragraph">
3743 <p>This activates the igniter circuits in the flight
3744 computer to help test recovery systems
3745 deployment.
3746 Because this command can operate over the
3747 Packet Command Link, you can prepare the rocket as for
3748 flight and then test the recovery system without
3749 needing to snake wires inside the air-frame.</p>
3750 </div>
3751 <div class="paragraph">
3752 <p>Selecting the 'Fire Igniter' button brings up the
3753 usual device selection dialog. Pick the desired
3754 device. This brings up another window which shows the
3755 current continuity test status for all of the pyro
3756 channels.</p>
3757 </div>
3758 <div class="paragraph">
3759 <p>Next, select the desired igniter to fire. This will
3760 enable the 'Arm' button.</p>
3761 </div>
3762 <div class="paragraph">
3763 <p>Select the 'Arm' button. This enables the 'Fire'
3764 button. The word 'Arm' is replaced by a countdown
3765 timer indicating that you have 10 seconds to press the
3766 'Fire' button or the system will deactivate, at which
3767 point you start over again at selecting the desired
3768 igniter.</p>
3769 </div>
3770 </div>
3771 <div class="sect2">
3772 <h3 id="_scan_channels">12.11. Scan Channels</h3>
3773 <div class="imageblock">
3774 <div class="content">
3775 <img src="scan-channels.png" alt="scan channels" width="300">
3776 </div>
3777 <div class="title">Figure 27. Scan Channels Window</div>
3778 </div>
3779 <div class="paragraph">
3780 <p>This listens for telemetry packets on all of the
3781 configured frequencies, displaying information about
3782 each device it receives a packet from. You can select
3783 which of the baud rates and telemetry formats should
3784 be tried; by default, it only listens at 38400 baud
3785 with the standard telemetry format used in v1.0 and
3786 later firmware.</p>
3787 </div>
3788 </div>
3789 <div class="sect2">
3790 <h3 id="_load_maps">12.12. Load Maps</h3>
3791 <div class="imageblock">
3792 <div class="content">
3793 <img src="load-maps.png" alt="load maps" width="500">
3794 </div>
3795 <div class="title">Figure 28. Load Maps Window</div>
3796 </div>
3797 <div class="paragraph">
3798 <p>Before heading out to a new launch site, you can use
3799 this to load satellite images in case you don&#8217;t have
3800 internet connectivity at the site.  Try not to wait
3801 until the last minute, though, particularly if you&#8217;re
3802 heading to a major launch.  If too many people are
3803 all trying to download map data at once, Google may
3804 limit access until the next day.</p>
3805 </div>
3806 <div class="paragraph">
3807 <p>There&#8217;s a drop-down menu of launch sites we know
3808 about; if your favorites aren&#8217;t there, please let us
3809 know the lat/lon and name of the site. The contents of
3810 this list are actually downloaded from our server at
3811 run-time, so as new sites are sent in, they&#8217;ll get
3812 automatically added to this list.  If the launch site
3813 isn&#8217;t in the list, you can manually enter the lat/lon
3814 values</p>
3815 </div>
3816 <div class="paragraph">
3817 <p>There are four different kinds of maps you can view;
3818 you can select which to download by selecting as many
3819 as you like from the available types:</p>
3820 </div>
3821 <div class="dlist">
3822 <dl>
3823 <dt class="hdlist1">Hybrid</dt>
3824 <dd>
3825 <p>A combination of satellite imagery and road data. This
3826 is the default view.</p>
3827 </dd>
3828 <dt class="hdlist1">Satellite</dt>
3829 <dd>
3830 <p>Just the satellite imagery without any annotation.</p>
3831 </dd>
3832 <dt class="hdlist1">Roadmap</dt>
3833 <dd>
3834 <p>Roads, political boundaries and a few geographic
3835 features.</p>
3836 </dd>
3837 <dt class="hdlist1">Terrain</dt>
3838 <dd>
3839 <p>Contour intervals and shading that show hills and
3840 valleys.</p>
3841 </dd>
3842 </dl>
3843 </div>
3844 <div class="paragraph">
3845 <p>You can specify the range of zoom levels to download;
3846 smaller numbers show more area with less
3847 resolution. The default level, 0, shows about
3848 3m/pixel. One zoom level change doubles or halves that
3849 number. Larger zoom levels show more detail, smaller
3850 zoom levels less.</p>
3851 </div>
3852 <div class="paragraph">
3853 <p>The Map Radius value sets how large an area around the
3854 center point to download. Select a value large enough
3855 to cover any plausible flight from that site. Be aware
3856 that loading a large area with a high maximum zoom
3857 level can attempt to download a lot of data. Loading
3858 hybrid maps with a 10km radius at a minimum zoom of -2
3859 and a maximum zoom of 2 consumes about 120MB of
3860 space. Terrain and road maps consume about 1/10 as
3861 much space as satellite or hybrid maps.</p>
3862 </div>
3863 <div class="paragraph">
3864 <p>Clicking the 'Load Map' button will fetch images from
3865 Google Maps; note that Google limits how many images
3866 you can fetch at once, so if you load more than one
3867 launch site, you may get some gray areas in the map
3868 which indicate that Google is tired of sending data to
3869 you. Try again later.</p>
3870 </div>
3871 </div>
3872 <div class="sect2">
3873 <h3 id="_monitor_idle">12.13. Monitor Idle</h3>
3874 <div class="imageblock">
3875 <div class="content">
3876 <img src="monitor-idle.png" alt="monitor idle" width="500">
3877 </div>
3878 <div class="title">Figure 29. Monitor Idle Window</div>
3879 </div>
3880 <div class="paragraph">
3881 <p>This brings up a dialog similar to the Monitor Flight
3882 UI, except it works with the altimeter in “idle” mode
3883 by sending query commands to discover the current
3884 state rather than listening for telemetry
3885 packets. Because this uses command mode, it needs to
3886 have the TeleDongle and flight computer callsigns
3887 match exactly. If you can receive telemetry, but
3888 cannot manage to run Monitor Idle, then it&#8217;s very
3889 likely that your callsigns are different in some way.</p>
3890 </div>
3891 <div class="paragraph">
3892 <p>You can change the frequency and callsign used to
3893 communicate with the flight computer; they must both
3894 match the configuration in the flight computer
3895 exactly.</p>
3896 </div>
3897 </div>
3898 </div>
3899 </div>
3900 <div class="sect1">
3901 <h2 id="_altosdroid">13. AltosDroid</h2>
3902 <div class="sectionbody">
3903 <div class="paragraph">
3904 <p>AltosDroid provides the same flight monitoring capabilities as
3905 AltosUI, but runs on Android devices. AltosDroid is designed
3906 to connect to a TeleBT receiver over Bluetooth™ and (on
3907 Android devices supporting USB On-the-go) TeleDongle and
3908 TeleBT devices over USB. AltosDroid monitors telemetry data,
3909 logging it to internal storage in the Android device, and
3910 presents that data in a UI similar to the 'Monitor Flight'
3911 window in AltosUI.</p>
3912 </div>
3913 <div class="paragraph">
3914 <p>This manual will explain how to configure AltosDroid, connect
3915 to TeleBT or TeleDongle, operate the flight monitoring
3916 interface and describe what the displayed data means.</p>
3917 </div>
3918 <div class="sect2">
3919 <h3 id="_installing_altosdroid">13.1. Installing AltosDroid</h3>
3920 <div class="paragraph">
3921 <p>AltosDroid is available from the Google Play store. To
3922 install it on your Android device, open the Google
3923 Play Store application and search for
3924 “altosdroid”. Make sure you don&#8217;t have a space between
3925 “altos” and “droid” or you probably won&#8217;t find what
3926 you want. That should bring you to the right page from
3927 which you can download and install the application.</p>
3928 </div>
3929 </div>
3930 <div class="sect2">
3931 <h3 id="_charging_telebt_battery">13.2. Charging TeleBT Battery</h3>
3932 <div class="paragraph">
3933 <p>Before using TeleBT with AltosDroid, make sure the
3934 internal TeleBT battery is charged.  To do this,
3935 attach a micro USB cable from a computer or other USB
3936 power source to TeleBT.  A dual LED on the circuit
3937 board should illuminate, showing red while the battery
3938 is charging, green when charging is completed, and
3939 both red and green on at the same time if there is a
3940 battery fault.</p>
3941 </div>
3942 </div>
3943 <div class="sect2">
3944 <h3 id="_connecting_to_telebt_over_bluetooth">13.3. Connecting to TeleBT over Bluetooth™</h3>
3945 <div class="paragraph">
3946 <p>Note that when turning TeleBT on, you may see a brief LED
3947 flash, but there will be no "activity" indicated until you
3948 pair with the device from AltosDroid.</p>
3949 </div>
3950 <div class="paragraph">
3951 <p>Press the Android 'Menu' button or soft-key to see the
3952 configuration options available. Select the 'Connect a
3953 device' option and then the 'Scan for devices' entry
3954 at the bottom to look for your TeleBT device. Select
3955 your device, and when it asks for the code, enter
3956 '1234'.</p>
3957 </div>
3958 <div class="paragraph">
3959 <p>Subsequent connections will not require you to enter
3960 that code, and your 'paired' device will appear in the
3961 list without scanning.</p>
3962 </div>
3963 </div>
3964 <div class="sect2">
3965 <h3 id="_connecting_to_teledongle_or_telebt_over_usb">13.4. Connecting to TeleDongle or TeleBT over USB</h3>
3966 <div class="paragraph">
3967 <p>Get a special USB On-the-go adapter cable. These
3968 cables have a USB micro-B male connector on one end
3969 and a standard A female connector on the other
3970 end. Plug in your TeleDongle or TeleBT device to the
3971 adapter cable and the adapter cable into your phone
3972 and AltosDroid should automatically start up. If it
3973 doesn&#8217;t, the most likely reason is that your Android
3974 device doesn&#8217;t support USB On-the-go.</p>
3975 </div>
3976 </div>
3977 <div class="sect2">
3978 <h3 id="_altosdroid_menu">13.5. AltosDroid Menu</h3>
3979 <div class="paragraph">
3980 <p>The main AltosDroid menu has a selection of operation
3981 and configuration options.</p>
3982 </div>
3983 <div class="dlist">
3984 <dl>
3985 <dt class="hdlist1">Connect a device</dt>
3986 <dd>
3987 <p>Offers a menu of available TeleBT devices, and an
3988 option to scan for additional devices.</p>
3989 </dd>
3990 <dt class="hdlist1">Disconnect device</dt>
3991 <dd>
3992 <p>Disconnects the current TeleBT or TeleDongle
3993 device. You can reconnect TeleBT over bluetooth by
3994 using Connect a Device. You can reconnect a USB device
3995 by unplugging it and then plugging it back in.</p>
3996 </dd>
3997 <dt class="hdlist1">Select radio frequency</dt>
3998 <dd>
3999 <p>This selects which frequency to listen on by bringing
4000 up a menu of pre-set radio frequencies. Pick the one
4001 which matches your altimeter.</p>
4002 </dd>
4003 <dt class="hdlist1">Select Tracker</dt>
4004 <dd>
4005 <p>Switches the information displays to show data for a
4006 different transmitting device. The map will always
4007 show all of the devices in view. Trackers are shown
4008 and selected by serial number, so make sure you note
4009 the serial number of devices in each airframe.</p>
4010 </dd>
4011 <dt class="hdlist1">Delete Track</dt>
4012 <dd>
4013 <p>Deletes all information about a transmitting device.</p>
4014 </dd>
4015 <dt class="hdlist1">Setup</dt>
4016 <dd>
4017 <p>Offers additional configuration operations. See
4018 <a href="#_setup">Setup</a>.</p>
4019 </dd>
4020 <dt class="hdlist1">Idle Mode</dt>
4021 <dd>
4022 <p>Communicate with an altimeter in Idle mode. See <a href="#_idle_mode">Idle Mode</a></p>
4023 </dd>
4024 <dt class="hdlist1">Quit</dt>
4025 <dd>
4026 <p>Shuts down AltosDroid.</p>
4027 </dd>
4028 </dl>
4029 </div>
4030 </div>
4031 <div class="sect2">
4032 <h3 id="_setup">13.6. Setup</h3>
4033 <div class="dlist">
4034 <dl>
4035 <dt class="hdlist1">Telemetry Rate</dt>
4036 <dd>
4037 <p>Altus Metrum transmitters can be configured to operate
4038 at lower data rates to improve transmission range. If
4039 you have configured your device to do this, this menu
4040 item allows you to change the receiver to match.</p>
4041 </dd>
4042 <dt class="hdlist1">Units</dt>
4043 <dd>
4044 <p>Selects which units used to report values.</p>
4045 </dd>
4046 <dt class="hdlist1">Map Type</dt>
4047 <dd>
4048 <p>Displays a menu of map types and lets you select
4049 one. Hybrid maps include satellite images with a
4050 roadmap overlaid. Satellite maps dispense with the
4051 roadmap overlay. Roadmap shows just the roads. Terrain
4052 includes roads along with shadows indicating changes
4053 in elevation, and other geographical features.</p>
4054 </dd>
4055 <dt class="hdlist1">Map Source</dt>
4056 <dd>
4057 <p>Select between online and offline maps. Online maps
4058 will show a 'move to current position' icon in the
4059 upper right corner, while offline maps will have
4060 copyright information all over the map. Otherwise,
4061 they&#8217;re pretty similar.</p>
4062 </dd>
4063 <dt class="hdlist1">Preload Maps</dt>
4064 <dd>
4065 <p>Brings up a dialog allowing you to download offline
4066 map tiles so that you can have maps available even if
4067 you have no network connectivity at the launch site.</p>
4068 </dd>
4069 <dt class="hdlist1">Manage Frequencies</dt>
4070 <dd>
4071 <p>This presents a dialog containing the current list of
4072 frequencies that will be show in the 'Select radio
4073 frequency' menu. You can change the label for existing
4074 frequencies, delete or add new frequencies.</p>
4075 </dd>
4076 </dl>
4077 </div>
4078 </div>
4079 <div class="sect2">
4080 <h3 id="_idle_mode">13.7. Idle Mode</h3>
4081 <div class="dlist">
4082 <dl>
4083 <dt class="hdlist1">Callsign</dt>
4084 <dd>
4085 <p>Lets you configure the callsign used by AltosDroid to
4086 communicate with the flight computer. The callsign on
4087 the two devices must match or the communication will
4088 fail. This provides a modest amount of protection
4089 against accidentally controlling another persons
4090 flight computer.</p>
4091 </dd>
4092 <dt class="hdlist1">Monitor</dt>
4093 <dd>
4094 <p>This provides similar information to monitoring the
4095 telemetry stream from a flight computer in flight
4096 mode. The title of the application will change to
4097 include (idle) so you can tell this mode is active.</p>
4098 </dd>
4099 <dt class="hdlist1">Reboot</dt>
4100 <dd>
4101 <p>Remotely reboots the flight computer. This is useful
4102 when the flight computers turned on while the airframe
4103 is horizontal and you want to restart the flight
4104 computers in pad mode after raising the airframe to
4105 vertical.</p>
4106 </dd>
4107 <dt class="hdlist1">Fire Igniters</dt>
4108 <dd>
4109 <p>Remotely control igniters for ground testing recovery
4110 systems.</p>
4111 </dd>
4112 </dl>
4113 </div>
4114 </div>
4115 <div class="sect2">
4116 <h3 id="_altosdroid_flight_monitoring">13.8. AltosDroid Flight Monitoring</h3>
4117 <div class="paragraph">
4118 <p>AltosDroid is designed to mimic the AltosUI flight
4119 monitoring display, providing separate tabs for each
4120 stage of your rocket flight along with a tab
4121 containing a map of the local area with icons marking
4122 the current location of the altimeter and the Android
4123 device.</p>
4124 </div>
4125 </div>
4126 <div class="sect2">
4127 <h3 id="_pad">13.9. Pad</h3>
4128 <div class="paragraph">
4129 <p>The 'Pad' tab shows information used to decide when
4130 the rocket is ready for flight. The first elements
4131 include red/green indicators, if any of these is red,
4132 you&#8217;ll want to evaluate whether the rocket is ready to
4133 launch.</p>
4134 </div>
4135 <div class="paragraph">
4136 <p>When the pad tab is selected, the voice responses will
4137 include status changes to the igniters and GPS
4138 reception, letting you know if the rocket is still
4139 ready for launch.</p>
4140 </div>
4141 <div class="dlist">
4142 <dl>
4143 <dt class="hdlist1">Battery</dt>
4144 <dd>
4145 <p>This indicates whether the Li-Po battery powering the
4146 transmitter has sufficient charge to last for the
4147 duration of the flight. A value of more than 3.8V is
4148 required for a 'GO' status.</p>
4149 </dd>
4150 <dt class="hdlist1">Receiver Battery</dt>
4151 <dd>
4152 <p>This indicates whether the Li-Po battery powering the
4153 TeleBT has sufficient charge to last for the duration
4154 of the flight. A value of more than 3.8V is required
4155 for a 'GO' status.</p>
4156 </dd>
4157 <dt class="hdlist1">Data Logging</dt>
4158 <dd>
4159 <p>This indicates whether there is space remaining
4160 on-board to store flight data for the upcoming
4161 flight. If you&#8217;ve downloaded data, but failed to erase
4162 flights, there may not be any space left. TeleMetrum
4163 and TeleMega can store multiple flights, depending on
4164 the configured maximum flight log size. TeleGPS logs
4165 data continuously. TeleMini v1.0 stores only a single
4166 flight, so it will need to be downloaded and erased
4167 after each flight to capture data. This only affects
4168 on-board flight logging; the altimeter will still
4169 transmit telemetry and fire ejection charges at the
4170 proper times.</p>
4171 </dd>
4172 <dt class="hdlist1">GPS Locked</dt>
4173 <dd>
4174 <p>For a TeleMetrum or TeleMega device, this indicates
4175 whether the GPS receiver is currently able to compute
4176 position information. GPS requires at least 4
4177 satellites to compute an accurate position.</p>
4178 </dd>
4179 <dt class="hdlist1">GPS Ready</dt>
4180 <dd>
4181 <p>For a TeleMetrum or TeleMega device, this indicates
4182 whether GPS has reported at least 10 consecutive
4183 positions without losing lock. This ensures that the
4184 GPS receiver has reliable reception from the
4185 satellites.</p>
4186 </dd>
4187 <dt class="hdlist1">Apogee Igniter</dt>
4188 <dd>
4189 <p>This indicates whether the apogee igniter has
4190 continuity. If the igniter has a low resistance, then
4191 the voltage measured here will be close to the Li-Po
4192 battery voltage. A value greater than 3.2V is required
4193 for a 'GO' status.</p>
4194 </dd>
4195 <dt class="hdlist1">Main Igniter</dt>
4196 <dd>
4197 <p>This indicates whether the main igniter has
4198 continuity. If the igniter has a low resistance, then
4199 the voltage measured here will be close to the Li-Po
4200 battery voltage. A value greater than 3.2V is required
4201 for a 'GO' status.</p>
4202 </dd>
4203 <dt class="hdlist1">Igniter A-D</dt>
4204 <dd>
4205 <p>This indicates whether the indicated additional pyro
4206 channel igniter has continuity. If the igniter has a
4207 low resistance, then the voltage measured here will be
4208 close to the Li-Po battery voltage. A value greater
4209 than 3.2V is required for a 'GO' status.</p>
4210 </dd>
4211 </dl>
4212 </div>
4213 <div class="paragraph">
4214 <p>The Pad tab also shows the location of the Android
4215 device.</p>
4216 </div>
4217 </div>
4218 <div class="sect2">
4219 <h3 id="_flight">13.10. Flight</h3>
4220 <div class="paragraph">
4221 <p>The 'Flight' tab shows information used to evaluate
4222 and spot a rocket while in flight. It displays speed
4223 and height data to monitor the health of the rocket,
4224 along with elevation, range and bearing to help locate
4225 the rocket in the sky.</p>
4226 </div>
4227 <div class="paragraph">
4228 <p>While the Flight tab is displayed, the voice
4229 announcements will include current speed, height,
4230 elevation and bearing information.</p>
4231 </div>
4232 <div class="dlist">
4233 <dl>
4234 <dt class="hdlist1">Speed</dt>
4235 <dd>
4236 <p>Shows current vertical speed. During descent, the
4237 speed values are averaged over a fairly long time to
4238 try and make them steadier.</p>
4239 </dd>
4240 <dt class="hdlist1">Height</dt>
4241 <dd>
4242 <p>Shows the current height above the launch pad.</p>
4243 </dd>
4244 <dt class="hdlist1">Max Speed</dt>
4245 <dd>
4246 <p>Shows the maximum vertical speed seen during the
4247 flight.</p>
4248 </dd>
4249 <dt class="hdlist1">Max Height</dt>
4250 <dd>
4251 <p>Shows the maximum height above launch pad.</p>
4252 </dd>
4253 <dt class="hdlist1">Elevation</dt>
4254 <dd>
4255 <p>This is the angle above the horizon from the android
4256 devices current position.</p>
4257 </dd>
4258 <dt class="hdlist1">Range</dt>
4259 <dd>
4260 <p>The total distance from the android device to the
4261 rocket, including both ground distance and difference
4262 in altitude. Use this to gauge how large the rocket is
4263 likely to appear in the sky.</p>
4264 </dd>
4265 <dt class="hdlist1">Bearing</dt>
4266 <dd>
4267 <p>This is the azimuth from true north for the rocket
4268 from the android device. Use this in combination with
4269 the Elevation value to help locate the rocket in the
4270 sky, or at least to help point the antenna in the
4271 general direction. This is provided in both degrees
4272 and a compass point (like West South West). You&#8217;ll
4273 want to know which direction is true north before
4274 launching your rocket.</p>
4275 </dd>
4276 <dt class="hdlist1">Ground Distance</dt>
4277 <dd>
4278 <p>This shows the distance across the ground to the
4279 lat/lon where the rocket is located. Use this to
4280 estimate what is currently under the rocket.</p>
4281 </dd>
4282 <dt class="hdlist1">Latitude/Longitude</dt>
4283 <dd>
4284 <p>Displays the last known location of the rocket.</p>
4285 </dd>
4286 <dt class="hdlist1">Apogee Igniter</dt>
4287 <dd>
4288 <p>This indicates whether the apogee igniter has
4289 continuity. If the igniter has a low resistance, then
4290 the voltage measured here will be close to the Li-Po
4291 battery voltage. A value greater than 3.2V is required
4292 for a 'GO' status.</p>
4293 </dd>
4294 <dt class="hdlist1">Main Igniter</dt>
4295 <dd>
4296 <p>This indicates whether the main igniter has
4297 continuity. If the igniter has a low resistance, then
4298 the voltage measured here will be close to the Li-Po
4299 battery voltage. A value greater than 3.2V is required
4300 for a 'GO' status.</p>
4301 </dd>
4302 </dl>
4303 </div>
4304 </div>
4305 <div class="sect2">
4306 <h3 id="_recover">13.11. Recover</h3>
4307 <div class="paragraph">
4308 <p>The 'Recover' tab shows information used while
4309 recovering the rocket on the ground after flight.</p>
4310 </div>
4311 <div class="paragraph">
4312 <p>While the Recover tab is displayed, the voice
4313 announcements will include distance along with either
4314 bearing or direction, depending on whether you are
4315 moving.</p>
4316 </div>
4317 <div class="dlist">
4318 <dl>
4319 <dt class="hdlist1">Bearing</dt>
4320 <dd>
4321 <p>This is the azimuth from true north for the rocket
4322 from the android device. Use this in combination with
4323 the Elevation value to help locate the rocket in the
4324 sky, or at least to help point the antenna in the
4325 general direction. This is provided in both degrees
4326 and a compass point (like West South West). You&#8217;ll
4327 want to know which direction is true north before
4328 launching your rocket.</p>
4329 </dd>
4330 <dt class="hdlist1">Direction</dt>
4331 <dd>
4332 <p>When you are in motion, this provides the angle from
4333 your current direction of motion towards the rocket.</p>
4334 </dd>
4335 <dt class="hdlist1">Distance</dt>
4336 <dd>
4337 <p>Distance over the ground to the rocket.</p>
4338 </dd>
4339 <dt class="hdlist1">Tar Lat/Tar Lon</dt>
4340 <dd>
4341 <p>Displays the last known location of the rocket.</p>
4342 </dd>
4343 <dt class="hdlist1">My Lat/My Lon</dt>
4344 <dd>
4345 <p>Displays the location of the Android device.</p>
4346 </dd>
4347 <dt class="hdlist1">Max Height</dt>
4348 <dd>
4349 <p>Shows the maximum height above launch pad seen during
4350 the flight.</p>
4351 </dd>
4352 <dt class="hdlist1">Max Speed</dt>
4353 <dd>
4354 <p>Shows the maximum vertical speed seen during the
4355 flight.</p>
4356 </dd>
4357 <dt class="hdlist1">Max Accel</dt>
4358 <dd>
4359 <p>Shows the maximum vertical acceleration seen during
4360 the flight.</p>
4361 </dd>
4362 </dl>
4363 </div>
4364 </div>
4365 <div class="sect2">
4366 <h3 id="_map_2">13.12. Map</h3>
4367 <div class="paragraph">
4368 <p>The 'Map' tab shows a map of the area around the
4369 rocket being tracked along with information needed to
4370 recover it.</p>
4371 </div>
4372 <div class="paragraph">
4373 <p>On the map itself, icons showing the location of the
4374 android device along with the last known location of
4375 each tracker. A blue line is drawn from the android
4376 device location to the currently selected tracker.</p>
4377 </div>
4378 <div class="paragraph">
4379 <p>Below the map, the distance and either bearing or
4380 direction along with the lat/lon of the target and the
4381 android device are shown</p>
4382 </div>
4383 <div class="paragraph">
4384 <p>The Map tab provides the same voice announcements as
4385 the Recover tab.</p>
4386 </div>
4387 </div>
4388 <div class="sect2">
4389 <h3 id="_downloading_flight_logs">13.13. Downloading Flight Logs</h3>
4390 <div class="paragraph">
4391 <p>AltosDroid always saves every bit of telemetry data it
4392 receives. To download that to a computer for use with
4393 AltosUI, remove the SD card from your Android device,
4394 or connect your device to your computer&#8217;s USB port and
4395 browse the files on that device. You will find
4396 '.telem' files in the TeleMetrum directory that will
4397 work with AltosUI directly.</p>
4398 </div>
4399 </div>
4400 </div>
4401 </div>
4402 <div class="sect1">
4403 <h2 id="_system_operation">Appendix A: System Operation</h2>
4404 <div class="sectionbody">
4405 <div class="sect2">
4406 <h3 id="_firmware_modes">A.1. Firmware Modes</h3>
4407 <div class="paragraph">
4408 <p>The AltOS firmware build for the altimeters has two
4409 fundamental modes, “idle” and “flight”.  Which of these modes
4410 the firmware operates in is determined at start up
4411 time.
4412 For
4413 TeleMetrum, TeleMega, EasyMega and EasyTimer, which have accelerometers, the mode is
4414 controlled by the orientation of the
4415 rocket (well, actually the board, of course&#8230;&#8203;) at the time
4416 power is switched on.  If the rocket is “nose up”, then
4417 the flight computer assumes it&#8217;s on a rail or rod being prepared for
4418 launch, so the firmware chooses flight mode.  However, if the
4419 rocket is more or less horizontal, the firmware instead enters
4420 idle mode.
4421 Since
4422 EasyMini doesn&#8217;t
4423 have an
4424 accelerometer we can use to determine orientation, “idle” mode
4425 is selected if the board is connected via USB to a computer,
4426 otherwise the board enters “flight” mode.
4427 TeleMini
4428 selects “idle” mode if it receives a command packet
4429 within the
4430 first five seconds of operation.</p>
4431 </div>
4432 <div class="paragraph">
4433 <p>At power on, the altimeter will beep out the battery voltage
4434 to the nearest tenth of a volt.  Each digit is represented by
4435 a sequence of short “dit” beeps, with a pause between
4436 digits. A zero digit is represented with one long “dah”
4437 beep. Then there will be a short pause while the altimeter
4438 completes initialization and self test, and decides which mode
4439 to enter next.</p>
4440 </div>
4441 <div class="paragraph">
4442 <p>In flight or “pad” mode, the altimeter engages the flight
4443 state machine, goes into transmit-only mode to send telemetry,
4444 and waits for launch to be detected.  Flight mode is indicated
4445 by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
4446 followed by beeps or flashes indicating the state of the
4447 pyrotechnic igniter continuity.  One beep/flash indicates
4448 apogee continuity, two beeps/flashes indicate main continuity,
4449 three beeps/flashes indicate both apogee and main continuity,
4450 and one longer “brap” sound which is made by rapidly
4451 alternating between two tones indicates no continuity.  For a
4452 dual deploy flight, make sure you&#8217;re getting three beeps or
4453 flashes before launching!  For apogee-only or motor eject
4454 flights, do what makes sense.</p>
4455 </div>
4456 <div class="paragraph">
4457 <p>If idle mode is entered, you will hear an audible “di-dit” or
4458 see two short flashes (“I” for idle), and the flight state
4459 machine is disengaged, thus no ejection charges will fire.
4460 The altimeters also listen for the radio link when in idle
4461 mode for requests sent via TeleDongle.  Commands can be issued
4462 in idle mode over either USB or the radio link
4463 equivalently.
4464 TeleMini only has the radio link.
4465 Idle mode is useful for configuring the altimeter, for
4466 extracting data from the on-board storage chip after
4467 flight, and for ground testing pyro charges.</p>
4468 </div>
4469 <div class="paragraph">
4470 <p>In “Idle” and “Pad” modes, once the mode indication
4471 beeps/flashes and continuity indication has been sent, if
4472 there is no space available to log the flight in on-board
4473 memory, the flight computer will emit a warbling tone (much
4474 slower than the “no continuity tone”)</p>
4475 </div>
4476 <div class="paragraph">
4477 <p>See <a href="#_understanding_beeps">Understanding Beeps</a> for a summary of all of
4478 the audio signals used.</p>
4479 </div>
4480 <div class="paragraph">
4481 <p>Once landed, the flight computer will signal that by emitting
4482 the “Landed” sound described above, after which it will beep
4483 out the apogee height (in meters). Each digit is represented
4484 by a sequence of short “dit” beeps, with a pause between
4485 digits. A zero digit is represented with one long “dah”
4486 beep. The flight computer will continue to report landed mode
4487 and beep out the maximum height until turned off.</p>
4488 </div>
4489 <div class="paragraph">
4490 <p>One “neat trick” of particular value when TeleMetrum, TeleMega
4491 or EasyMega are used with
4492 very large air-frames, is that you can power the board up while the
4493 rocket is horizontal, such that it comes up in idle mode.  Then you can
4494 raise the air-frame to launch position, and issue a 'reset' command
4495 via TeleDongle over the radio link to cause the altimeter to reboot and
4496 come up in flight mode.  This is much safer than standing on the top
4497 step of a rickety step-ladder or hanging off the side of a launch
4498 tower with a screw-driver trying to turn on your avionics before
4499 installing igniters!</p>
4500 </div>
4501 <div class="paragraph">
4502 <p>TeleMini is configured solely via the radio link. Of course, that
4503 means you need to know the TeleMini radio configuration values
4504 or you won&#8217;t be able to communicate with it. For situations
4505 when you don&#8217;t have the radio configuration values,
4506 TeleMini v1.0
4507 offers an 'emergency recovery' mode. In this mode,
4508 TeleMini v1.0 is
4509 configured as follows:</p>
4510 </div>
4511 <div class="ulist">
4512 <ul>
4513 <li>
4514 <p>Sets the radio frequency to 434.550MHz</p>
4515 </li>
4516 <li>
4517 <p>Sets the radio calibration back to the factory value.</p>
4518 </li>
4519 <li>
4520 <p>Sets the callsign to N0CALL</p>
4521 </li>
4522 <li>
4523 <p>Does not go to 'pad' mode after five seconds.</p>
4524 </li>
4525 </ul>
4526 </div>
4527 <div class="paragraph">
4528 <p>To get into 'emergency recovery' mode, first find the row of
4529 four small holes opposite the switch wiring. Using a short
4530 piece of small gauge wire, connect the outer two holes
4531 together, then power TeleMini up. Once the red LED is lit,
4532 disconnect the wire and the board should signal that it&#8217;s in
4533 'idle' mode after the initial five second startup
4534 period.</p>
4535 </div>
4536 </div>
4537 <div class="sect2">
4538 <h3 id="_gps">A.2. GPS</h3>
4539 <div class="paragraph">
4540 <p>TeleMetrum and TeleMega include a complete GPS receiver.  A
4541 complete explanation of how GPS works is beyond the scope of
4542 this manual, but the bottom line is that the GPS receiver
4543 needs to lock onto at least four satellites to obtain a solid
4544 3 dimensional position fix and know what time it is.</p>
4545 </div>
4546 <div class="paragraph">
4547 <p>The flight computers provide backup power to the GPS chip any time a
4548 battery is connected.  This allows the receiver to “warm start” on
4549 the launch rail much faster than if every power-on were a GPS
4550 “cold start”.  In typical operations, powering up
4551 on the flight line in idle mode while performing final air-frame
4552 preparation will be sufficient to allow the GPS receiver to cold
4553 start and acquire lock.  Then the board can be powered down during
4554 RSO review and installation on a launch rod or rail.  When the board
4555 is turned back on, the GPS system should lock very quickly, typically
4556 long before igniter installation and return to the flight line are
4557 complete.</p>
4558 </div>
4559 </div>
4560 <div class="sect2">
4561 <h3 id="_controlling_an_altimeter_over_the_radio_link">A.3. Controlling An Altimeter Over The Radio Link</h3>
4562 <div class="paragraph">
4563 <p>One of the unique features of the Altus Metrum system is the
4564 ability to create a two way command link between TeleDongle
4565 and an altimeter using the digital radio transceivers
4566 built into each device. This allows you to interact with the
4567 altimeter from afar, as if it were directly connected to the
4568 computer.</p>
4569 </div>
4570 <div class="paragraph">
4571 <p>Any operation which can be performed with a flight computer can
4572 either be done with the device directly connected to the
4573 computer via the USB cable, or through the radio
4574 link. TeleMini doesn&#8217;t provide a USB connector and so it is
4575 always communicated with over radio.  Select the appropriate
4576 TeleDongle device when the list of devices is presented and
4577 AltosUI will interact with an altimeter over the radio link.</p>
4578 </div>
4579 <div class="paragraph">
4580 <p>One oddity in the current interface is how AltosUI selects the
4581 frequency for radio communications. Instead of providing
4582 an interface to specifically configure the frequency, it uses
4583 whatever frequency was most recently selected for the target
4584 TeleDongle device in Monitor Flight mode. If you haven&#8217;t ever
4585 used that mode with the TeleDongle in question, select the
4586 Monitor Flight button from the top level UI, and pick the
4587 appropriate TeleDongle device.  Once the flight monitoring
4588 window is open, select the desired frequency and then close it
4589 down again. All radio communications will now use that frequency.</p>
4590 </div>
4591 <div class="ulist">
4592 <ul>
4593 <li>
4594 <p>Save Flight Data—Recover flight data from the
4595 rocket without opening it up.</p>
4596 </li>
4597 <li>
4598 <p>Configure altimeter apogee delays, main deploy
4599 heights and additional pyro event conditions to
4600 respond to changing launch conditions. You can also
4601 'reboot' the altimeter. Use this to remotely enable
4602 the flight computer by turning TeleMetrum or
4603 TeleMega on in “idle” mode, then once the air-frame
4604 is oriented for launch, you can reboot the
4605 altimeter and have it restart in pad mode without
4606 having to climb the scary ladder.</p>
4607 </li>
4608 <li>
4609 <p>Fire Igniters—Test your deployment charges without snaking
4610 wires out through holes in the air-frame. Simply assemble the
4611 rocket as if for flight with the apogee and main charges
4612 loaded, then remotely command the altimeter to fire the
4613 igniters.</p>
4614 </li>
4615 </ul>
4616 </div>
4617 <div class="paragraph">
4618 <p>Operation over the radio link for configuring an
4619 altimeter, ground testing igniters, and so forth uses
4620 the same RF frequencies as flight telemetry.  To
4621 configure the desired TeleDongle frequency, select the
4622 monitor flight tab, then use the frequency selector
4623 and close the window before performing other desired
4624 radio operations.</p>
4625 </div>
4626 <div class="paragraph">
4627 <p>The flight computers only enable radio commanding in
4628 'idle' mode.  TeleMetrum and TeleMega use the
4629 accelerometer to detect which orientation they start
4630 up in, so make sure you have the flight computer lying
4631 horizontally when you turn it on. Otherwise, it will
4632 start in 'pad' mode ready for flight, and will not be
4633 listening for command packets from TeleDongle.</p>
4634 </div>
4635 <div class="paragraph">
4636 <p>TeleMini listens for a command packet for five seconds
4637 after first being turned on, if it doesn&#8217;t hear
4638 anything, it enters 'pad' mode, ready for flight and
4639 will no longer listen for command packets. The easiest
4640 way to connect to TeleMini is to initiate the command
4641 and select the TeleDongle device. At this point, the
4642 TeleDongle will be attempting to communicate with the
4643 TeleMini. Now turn TeleMini on, and it should
4644 immediately start communicating with the TeleDongle
4645 and the desired operation can be performed.</p>
4646 </div>
4647 <div class="paragraph">
4648 <p>You can monitor the operation of the radio link by watching the
4649 lights on the devices. The red LED will flash each time a packet
4650 is transmitted, while the green LED will light up on TeleDongle when
4651 it is waiting to receive a packet from the altimeter.</p>
4652 </div>
4653 </div>
4654 <div class="sect2">
4655 <h3 id="_ground_testing">A.4. Ground Testing</h3>
4656 <div class="paragraph">
4657 <p>An important aspect of preparing a rocket using electronic deployment
4658 for flight is ground testing the recovery system.
4659 Thanks
4660 to the bi-directional radio link central to the Altus Metrum system,
4661 this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket
4662 with less work than you may be accustomed to with other systems.  It
4663 can even be fun!</p>
4664 </div>
4665 <div class="paragraph">
4666 <p>Just prep the rocket for flight, then power up the altimeter
4667 in “idle”
4668 mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
4669 selecting the Configure Altimeter tab for TeleMini).
4670 This will cause
4671 the firmware to go into “idle” mode, in which the normal flight
4672 state machine is disabled and charges will not fire without
4673 manual command.
4674 You can now command the altimeter to fire the apogee
4675 or main charges from a safe distance using your
4676 computer and the Fire Igniter tab to complete ejection testing.</p>
4677 </div>
4678 </div>
4679 <div class="sect2">
4680 <h3 id="_radio_link">A.5. Radio Link</h3>
4681 <div class="paragraph">
4682 <p>TeleMetrum, TeleMini and TeleMega all incorporate an
4683 RF transceiver, but it&#8217;s not a full duplex system;
4684 each end can only be transmitting or receiving at any
4685 given moment. So we had to decide how to manage the
4686 link.</p>
4687 </div>
4688 <div class="paragraph">
4689 <p>By design, the altimeter firmware listens for the
4690 radio link when it&#8217;s in “idle mode”, which allows us
4691 to use the radio link to configure the rocket, do
4692 things like ejection tests, and extract data after a
4693 flight without having to crack open the air-frame.
4694 However, when the board is in “flight mode”, the
4695 altimeter only transmits and doesn&#8217;t listen at all.
4696 That&#8217;s because we want to put ultimate priority on
4697 event detection and getting telemetry out of the
4698 rocket through the radio in case the rocket crashes
4699 and we aren&#8217;t able to extract data later.</p>
4700 </div>
4701 <div class="paragraph">
4702 <p>We don&#8217;t generally use a 'normal packet radio' mode
4703 like APRS because they&#8217;re just too inefficient.  The
4704 GFSK modulation we use is FSK with the base-band
4705 pulses passed through a Gaussian filter before they go
4706 into the modulator to limit the transmitted bandwidth.
4707 When combined with forward error correction and
4708 interleaving, this allows us to have a very robust
4709 19.2 kilobit data link with only 10-40 milliwatts of
4710 transmit power, a whip antenna in the rocket, and a
4711 hand-held Yagi on the ground.  We&#8217;ve had flights to
4712 above 21k feet AGL with great reception, and
4713 calculations suggest we should be good to well over
4714 40k feet AGL with a 5-element yagi on the ground with
4715 our 10mW units and over 100k feet AGL with the 40mW
4716 devices.  We hope to fly boards to higher altitudes
4717 over time, and would of course appreciate customer
4718 feedback on performance in higher altitude flights!</p>
4719 </div>
4720 </div>
4721 <div class="sect2">
4722 <h3 id="_aprs">A.6. APRS</h3>
4723 <div class="paragraph">
4724 <p>TeleMetrum v2 and newer and TeleMega can send APRS if desired, and the
4725 interval between APRS packets can be configured. As
4726 each APRS packet takes a full second to transmit, we
4727 recommend an interval of at least 5 seconds to avoid
4728 consuming too much battery power or radio channel
4729 bandwidth. You can configure the time within each
4730 minute that APRS transmits by changing the APRS offset
4731 value. When the GPS signal is locked and knows the
4732 current time, the APRS offset selects the time with
4733 each minute for the first APRS transmission;
4734 subsequent transmissions occur each APRS interval
4735 seconds thereafter.  You can configure the APRS
4736 interval and APRS offset using AltosUI; that
4737 process is described in <a href="#_configure_altimeter">Configure Altimeter</a>.</p>
4738 </div>
4739 <div class="paragraph">
4740 <p>AltOS supports both compressed and uncompressed APRS
4741 position report data formats. The compressed format
4742 provides for higher position precision and shorter
4743 packets than the uncompressed APRS format. We&#8217;ve found
4744 some older APRS receivers that do not handle the
4745 compressed format. The Kenwood TH-72A requires the use
4746 of uncompressed format to display altitude information
4747 correctly. The Yaesu FT1D requires the use of
4748 compressed format to display altitude information.</p>
4749 </div>
4750 <div class="paragraph">
4751 <p>APRS packets include an SSID (Secondary Station Identifier)
4752 field that allows one operator to have multiple
4753 transmitters. AltOS allows you to set this to a single digit
4754 from 0 to 9, allowing you to fly multiple transmitters at the
4755 same time while keeping the identify of each one separate in
4756 the receiver. By default, the SSID is set to the last digit of
4757 the device serial number.</p>
4758 </div>
4759 <div class="paragraph">
4760 <p>The APRS packet format includes a comment field that
4761 can have arbitrary text in it. AltOS uses this to send
4762 status information as shown in the following table.</p>
4763 </div>
4764 <table class="tableblock frame-all grid-all stretch">
4765 <caption class="title">Table 10. Altus Metrum APRS Comments</caption>
4766 <colgroup>
4767 <col style="width: 20%;">
4768 <col style="width: 20%;">
4769 <col style="width: 60%;">
4770 </colgroup>
4771 <thead>
4772 <tr>
4773 <th class="tableblock halign-left valign-top">Field</th>
4774 <th class="tableblock halign-left valign-top">Example</th>
4775 <th class="tableblock halign-left valign-top">Description</th>
4776 </tr>
4777 </thead>
4778 <tbody>
4779 <tr>
4780 <td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
4781 <td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
4782 <td class="tableblock halign-left valign-top"><p class="tableblock">GPS Status U for unlocked, L for locked</p></td>
4783 </tr>
4784 <tr>
4785 <td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
4786 <td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
4787 <td class="tableblock halign-left valign-top"><p class="tableblock">Number of Satellites in View</p></td>
4788 </tr>
4789 <tr>
4790 <td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
4791 <td class="tableblock halign-left valign-top"><p class="tableblock">B4.0</p></td>
4792 <td class="tableblock halign-left valign-top"><p class="tableblock">Altimeter Battery Voltage</p></td>
4793 </tr>
4794 <tr>
4795 <td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
4796 <td class="tableblock halign-left valign-top"><p class="tableblock">A3.7</p></td>
4797 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee Igniter Voltage</p></td>
4798 </tr>
4799 <tr>
4800 <td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
4801 <td class="tableblock halign-left valign-top"><p class="tableblock">M3.7</p></td>
4802 <td class="tableblock halign-left valign-top"><p class="tableblock">Main Igniter Voltage</p></td>
4803 </tr>
4804 <tr>
4805 <td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
4806 <td class="tableblock halign-left valign-top"><p class="tableblock">1286</p></td>
4807 <td class="tableblock halign-left valign-top"><p class="tableblock">Device Serial Number</p></td>
4808 </tr>
4809 <tr>
4810 <td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
4811 <td class="tableblock halign-left valign-top"><p class="tableblock">1286</p></td>
4812 <td class="tableblock halign-left valign-top"><p class="tableblock">Device Serial Number</p></td>
4813 </tr>
4814 </tbody>
4815 </table>
4816 <div class="paragraph">
4817 <p>Here&#8217;s an example of an APRS comment showing GPS lock with 6
4818 satellites in view, a primary battery at 4.0V, and
4819 apogee and main igniters both at 3.7V from device 1286.</p>
4820 </div>
4821 <div class="literalblock">
4822 <div class="content">
4823 <pre>L6 B4.0 A3.7 M3.7 1286</pre>
4824 </div>
4825 </div>
4826 <div class="paragraph">
4827 <p>Here&#8217;s an example of an APRS comment showing GPS lock with 6
4828 satellites in view and a primary battery at 4.0V from device 1876.</p>
4829 </div>
4830 <div class="literalblock">
4831 <div class="content">
4832 <pre>L6 B4.0 1876</pre>
4833 </div>
4834 </div>
4835 <div class="paragraph">
4836 <p>Make sure your primary battery is above 3.8V
4837 any connected igniters are above 3.5V
4838 and GPS is locked with at least 5 or 6 satellites in
4839 view before flying. If GPS is switching between L and
4840 U regularly, then it doesn&#8217;t have a good lock and you
4841 should wait until it becomes stable.</p>
4842 </div>
4843 <div class="paragraph">
4844 <p>If the GPS receiver loses lock, the APRS data
4845 transmitted will contain the last position for which
4846 GPS lock was available. You can tell that this has
4847 happened by noticing that the GPS status character
4848 switches from 'L' to 'U'. Before GPS has locked, APRS
4849 will transmit zero for latitude, longitude and
4850 altitude.</p>
4851 </div>
4852 </div>
4853 <div class="sect2">
4854 <h3 id="_configurable_parameters">A.7. Configurable Parameters</h3>
4855 <div class="paragraph">
4856 <p>Configuring an Altus Metrum altimeter for flight is
4857 very simple.  Even on our baro-only TeleMini and
4858 EasyMini boards, the use of a Kalman filter means
4859 there is no need to set a “mach delay”.  All of the
4860 configurable parameters can be set using AltosUI. Read
4861 <a href="#_configure_altimeter">Configure Altimeter</a> for more information.</p>
4862 </div>
4863 </div>
4864 </div>
4865 </div>
4866 <div class="sect1">
4867 <h2 id="_example_pyro_channel_configurations">Appendix B: Example Pyro Channel Configurations</h2>
4868 <div class="sectionbody">
4869 <div class="paragraph">
4870 <p>Programming configurable pyro channels on Altus Metrum products that
4871 include them isn&#8217;t difficult, but in an attempt to aid understanding
4872 of the configuration interface and help "keep simple things simple",
4873 we offer the following examples of the simplest configurations for
4874 common situations, along with some hints on avoiding unexpected
4875 results.</p>
4876 </div>
4877 <div class="paragraph">
4878 <p>The rich set of conditions provided can be used to configure almost
4879 any pyro event you can imagine, for a wide variety of objectives.
4880 But don&#8217;t be fooled!  Typical events need only one or a few simple
4881 conditions to be configured for success.  A key thing to remember is
4882 that <strong>all</strong> configured conditions must be true to allow a pyro channel
4883 to fire.  Trying to include too many conditions often results in
4884 conflicting rules that never allow a channel to fire.  The most
4885 important advice we can offer is, therefore, to try and find the
4886 simplest set of conditions that will do what you need for a given
4887 project.</p>
4888 </div>
4889 <div class="sect2">
4890 <h3 id="_two_stage_flights">B.1. Two-Stage Flights</h3>
4891 <div class="paragraph">
4892 <p>Successful completion of a two-stage flight often involves
4893 programming of two events.  The first is firing a separation
4894 charge, the second is igniting the sustainer&#8217;s (primary)
4895 motor.</p>
4896 </div>
4897 <div class="paragraph">
4898 <p>Separation charges are best fired as soon as possible after
4899 the previous stage has completed providing acceleration, to
4900 minimize drag of the sustainer&#8217;s coast phase before ignition.
4901 Recovery, whether the remainder of the flight is nominal or
4902 not, usually works best when the states are separated.  So,
4903 the "best" way to configure a pyro channel for a separation
4904 charge is to just set "after motor number".  For a 2-stage
4905 project, set this to "1".  This will cause the pyro channel
4906 to fire as soon as the firmware&#8217;s flight state machine
4907 determines the first motor has burned out.</p>
4908 </div>
4909 <div class="paragraph">
4910 <p>Safe ignition of a sustainer (primary) motor requires that
4911 it happen after the previous stage burns out, while the
4912 airframe remains mostly vertical, and typically after the
4913 sustainer has coasted away from the booster a bit.  A good
4914 starting point is thus "after motor number" set the same as
4915 the separation charge, which is "1" for a 2-stage rocket.
4916 Then "angle from vertical less than" set to some
4917 reasonably vertical amount, perhaps 20 degrees.  Then "delay
4918 after other conditions" set for the desired duration of coast.
4919 Use simulations to figure out what a reasonable value here is,
4920 but for typical high power rocketry sport flights that aren&#8217;t
4921 trying to set records, something like 2 seconds is usually a
4922 good place to start.</p>
4923 </div>
4924 </div>
4925 <div class="sect2">
4926 <h3 id="_triggered_clusters_and_air_starts">B.2. Triggered Clusters and Air Starts</h3>
4927 <div class="paragraph">
4928 <p>When an airframe has a cluster of motors, one of which is
4929 "primary" and centered, surrounding by a ring of "secondary"
4930 motors, you may want to use the launch control system to                        fire the primary motor and use onboard electronics to light
4931 the rest of the cluster as soon as launch is detected.  This
4932 is particularly true if the primary motor is significantly
4933 different in geometry and may take longer to come up to
4934 pressure than the secondary motors.  In this case, a simple
4935 configuration to light secondary motors is is "time since
4936 boost greater than" enabled and set to "0".  There&#8217;s
4937 really no point in setting an angle limit since no time has
4938 transpired for the airframe to change orientation.</p>
4939 </div>
4940 <div class="paragraph">
4941 <p>Air starts can use the same simple configuration, but with
4942 the time set to a non-zero value.  However, if air starts
4943 are going to light after the airframe leaves the launch rail
4944 or tower, add an "angle from vertical less than"
4945 condition just you would for a 2-stage sustainer to stay safe.</p>
4946 </div>
4947 </div>
4948 <div class="sect2">
4949 <h3 id="_redundant_apogee">B.3. Redundant Apogee</h3>
4950 <div class="paragraph">
4951 <p>When flying a board like TeleMega or EasyMega, it&#8217;s easy to
4952 configure a programmable channel to fire a redundant apogee
4953 charge.  This is of course not <strong>fully</strong> redundant, since it&#8217;s
4954 always possible that the board itself or its battery could
4955 the the failure source, but far more often, pyro events fail
4956 due to broken wires, bad connectors, or bad e-matches&#8230;&#8203; so
4957 firing two charges from one board can add useful redundancy.</p>
4958 </div>
4959 <div class="paragraph">
4960 <p>The simplest configuration for redundant apogee is "flight
4961 state after" set to "drogue", and then "delay after other
4962 conditions" set to a second or two.</p>
4963 </div>
4964 </div>
4965 <div class="sect2">
4966 <h3 id="_redundant_main">B.4. Redundant Main</h3>
4967 <div class="paragraph">
4968 <p>Similarly to apogee, configuring a redundant main charge can
4969 provide useful redundancy.  What we want is to configure an
4970 altitude for deployment lower than the primary main deploy
4971 altitude, and then ensure we only trigger on that condition
4972 while descending.</p>
4973 </div>
4974 <div class="paragraph">
4975 <p>The simplest configuration for redundant main is "flight
4976 state after" set to "drogue", which will ensure we&#8217;re in to
4977 the descent phase, then "height less than" set to a number
4978 lower than you&#8217;ve chosen for the primary main channel
4979 deployment height.</p>
4980 </div>
4981 </div>
4982 <div class="sect2">
4983 <h3 id="_apogee_above_baro_sensor_limit">B.5. Apogee Above Baro Sensor Limit</h3>
4984 <div class="paragraph">
4985 <p>A question we&#8217;ve seen increasingly often is "How does the
4986 Telemega/Easymega detect apogee for flights above 100,000
4987 feet?"  Flights above that height are a bit outside
4988 our original design envelope, but can be made to work&#8230;&#8203;
4989 This is <strong>not</strong> a simple flight, and the configuration for it
4990 is also not simple, but we think including this information
4991 is important for anyone contemplating such a project with our
4992 electronics!</p>
4993 </div>
4994 <div class="paragraph">
4995 <p>Our flight computers use a Kalman sensor-fusing filter to
4996 estimate the flight state, which consists of three values:</p>
4997 </div>
4998 <div class="olist arabic">
4999 <ol class="arabic">
5000 <li>
5001 <p>Height above ground</p>
5002 </li>
5003 <li>
5004 <p>Vertical speed</p>
5005 </li>
5006 <li>
5007 <p>Vertical acceleration</p>
5008 </li>
5009 </ol>
5010 </div>
5011 <div class="paragraph">
5012 <p>Apogee is assumed to be where vertical speed crosses zero.</p>
5013 </div>
5014 <div class="paragraph">
5015 <p>Below 30km altitude (about 100k'), we use both the barometer
5016 and the accelerometer to update the flight state, along with
5017 a basic Newtonian model of motion. That works well, pegging
5018 apogee within a few sensor samples essentially every time.</p>
5019 </div>
5020 <div class="paragraph">
5021 <p>Above 30km, the barometric sensor doesn&#8217;t provide useful data,
5022 so we can&#8217;t use it to update the flight state. Instead, the
5023 Kalman filter falls back to a single sensor mode, using only
5024 the accelerometer.</p>
5025 </div>
5026 <div class="paragraph">
5027 <p>At all altitudes, we de-sense the barometric data when we
5028 estimate the speed is near or above mach as the sensor is
5029 often subjected to significant transients, which would
5030 otherwise push the flight state estimates too fast and could
5031 trigger a false apogee event.</p>
5032 </div>
5033 <div class="paragraph">
5034 <p>That means the filter is no longer getting the benefit of two
5035 sensors, and relies on just the accelerometer. The trouble
5036 with accelerometers is they&#8217;re measuring the derivative of
5037 speed, so you have to integrate their values to compute speed.
5038 Any offset error in acceleration measurement gets constantly
5039 added to that speed.</p>
5040 </div>
5041 <div class="paragraph">
5042 <p>In addition, we assume the axial acceleration is actually
5043 vertical acceleration; our tilt measurements have enough
5044 integration error during coast that we can&#8217;t usefully use
5045 that to get vertical acceleration. Because we don&#8217;t live in
5046 an inertial frame, that means we&#8217;re mis-computing the total
5047 acceleration acting on the airframe as we have to add gravity
5048 into the mix, and simply adding that to the axial acceleration
5049 value doesn&#8217;t generate the right value.</p>
5050 </div>
5051 <div class="paragraph">
5052 <p>The effect of this is to under-estimate apogee when you base
5053 the computation purely on acceleration as the rocket flies a
5054 parabolic path.</p>
5055 </div>
5056 <div class="paragraph">
5057 <p>For flights <strong>near</strong> 100k', all of this works pretty well -
5058 you&#8217;ve got the flight state estimates adjusted using the
5059 barometric sensor up to 30km, then you&#8217;re flying on inertial
5060 data to apogee.</p>
5061 </div>
5062 <div class="paragraph">
5063 <p>For flights well above 100k', it&#8217;s not great; you&#8217;re usually
5064 going fast enough through 100k' that the baro sensor is still
5065 de-sensed through the end of its useful range, so the flight
5066 state estimates are not as close. After that, as you&#8217;re flying
5067 purely on accelerometer data, there&#8217;s no way to re-correct the
5068 state, so the apogee estimates can be off by quite a bit.</p>
5069 </div>
5070 <div class="paragraph">
5071 <p>In the worst cases we have seen, the baro sensor data was
5072 wildly incorrect above mach due to poor static port design,
5073 leaving the state estimate of speed across the 30km boundary
5074 way off and causing the apogee detection to happen far from
5075 the correct time.</p>
5076 </div>
5077 <div class="paragraph">
5078 <p>The good news is that correctly determining apogee is not
5079 really all that important at high altitudes; there&#8217;s so little
5080 density that a drogue will have almost no drag anyways.  Data
5081 from customer flights shows a very parabolic path down to
5082 about 50-60k feet, even with a recovery system deployed.</p>
5083 </div>
5084 <div class="paragraph">
5085 <p>So, what we recommend is to set up two apogee plans:</p>
5086 </div>
5087 <div class="olist arabic">
5088 <ol class="arabic">
5089 <li>
5090 <p>Use the built-in apogee detection, but add a
5091 significant delay (as much as 30 seconds). This
5092 will probably fire near enough to apogee to not
5093 have a significant impact on the maximum height
5094 achieved.</p>
5095 </li>
5096 <li>
5097 <p>Add a back-up apogee which fires after apogee
5098 <strong>when the height is below about 20-25km</strong>. This
5099 way, if the flight isn&#8217;t nominal, and the sustainer
5100 ends up reaching apogee in dense air, you aren&#8217;t
5101 hoping the chutes come out before it gets going
5102 too fast. And, you get a second pyro channel firing
5103 at that altitude even if it reached a higher
5104 altitude before.</p>
5105 </li>
5106 </ol>
5107 </div>
5108 <div class="paragraph">
5109 <p>You can wire these two pyro channels to the same pyro device;
5110 you just need to make sure they&#8217;re wired + to + and - to -
5111 (the manual shows which screw terminals are which).</p>
5112 </div>
5113 <div class="paragraph">
5114 <p>The bottom line is that flights to altitudes modestly above
5115 the range of the baro sensor with Altus Metrum products can
5116 be accomplished safely, but flying "way high" (like 300k')
5117 demands a deployment mechanism which doesn&#8217;t solely rely on
5118 altimeters (like ours) which are designed for modest altitude
5119 rocketry.  Flights to those altitudes also probably need
5120 active stabilization to make sure they follow the prescribed
5121 trajectory and stay inside their waiver.</p>
5122 </div>
5123 </div>
5124 </div>
5125 </div>
5126 <div class="sect1">
5127 <h2 id="_handling_precautions">Appendix C: Handling Precautions</h2>
5128 <div class="sectionbody">
5129 <div class="paragraph">
5130 <p>All Altus Metrum products are sophisticated electronic devices.
5131 When handled gently and properly installed in an air-frame, they
5132 will deliver impressive results.  However, as with all electronic
5133 devices, there are some precautions you must take.</p>
5134 </div>
5135 <div class="admonitionblock warning">
5136 <table>
5137 <tr>
5138 <td class="icon">
5139 <img src="./images/icons/warning.svg" alt="Warning">
5140 </td>
5141 <td class="content">
5142 The Lithium Polymer rechargeable batteries have an
5143 extraordinary power density.  This is great because we can fly with
5144 much less battery mass than if we used alkaline batteries or previous
5145 generation rechargeable batteries&#8230;&#8203; but if they are punctured
5146 or their leads are allowed to short, they can and will release their
5147 energy very rapidly!
5148 Thus we recommend that you take some care when handling our batteries
5149 and consider giving them some extra protection in your air-frame.  We
5150 often wrap them in suitable scraps of closed-cell packing foam before
5151 strapping them down, for example.
5152 </td>
5153 </tr>
5154 </table>
5155 </div>
5156 <div class="paragraph">
5157 <p>The barometric sensors used on all of our flight computers are
5158 sensitive to sunlight.  In normal mounting situations, the baro sensor
5159 and all of the other surface mount components
5160 are “down” towards whatever the underlying mounting surface is, so
5161 this is not normally a problem.  Please consider this when designing an
5162 installation in an air-frame with a see-through plastic payload bay.  It
5163 is particularly important to
5164 consider this with TeleMini v1.0, both because the baro sensor is on the
5165 “top” of the board, and because many model rockets with payload bays
5166 use clear plastic for the payload bay!  Replacing these with an opaque
5167 cardboard tube, painting them, or wrapping them with a layer of masking
5168 tape are all reasonable approaches to keep the sensor out of direct
5169 sunlight.</p>
5170 </div>
5171 <div class="paragraph">
5172 <p>The barometric sensor sampling port must be able to “breathe”,
5173 both by not being covered by foam or tape or other materials that might
5174 directly block the hole on the top of the sensor, and also by having a
5175 suitable static vent to outside air.</p>
5176 </div>
5177 <div class="paragraph">
5178 <p>As with all other rocketry electronics, Altus Metrum altimeters must
5179 be protected from exposure to corrosive motor exhaust and ejection
5180 charge gasses.</p>
5181 </div>
5182 </div>
5183 </div>
5184 <div class="sect1">
5185 <h2 id="_updating_device_firmware">Appendix D: Updating Device Firmware</h2>
5186 <div class="sectionbody">
5187 <div class="paragraph">
5188 <p>TeleMega, TeleMetrum v2 and newer, EasyMega, EasyMini and TeleDongle v3
5189 are all
5190 programmed directly over their USB connectors (self
5191 programming).
5192 TeleMetrum v1, TeleMini v1.0 and TeleDongle v0.2 are
5193 all programmed by using another device as a programmer (pair
5194 programming). It&#8217;s important to recognize which kind of devices
5195 you have before trying to reprogram them.</p>
5196 </div>
5197 <div class="paragraph">
5198 <p>TeleMini v3 can be updated directly over USB, but has no USB connector
5199 on the board.  Instead, the USB signals are present on a row of 6
5200 holes adjacent to the copyright assertion in the silk screen.  Thus,
5201 updating firmware on TeleMini v3 requires making up a special cable,
5202 after which you can treat it just like TeleMetrum or TeleMega.  Many
5203 USB cables seem to follow the color code of red is +5V, black is GND,
5204 green is USB +, and white is USB -.  On TeleMini v3, pin 3 which has
5205 a square copper pad is ground, pin 1 is USB -, and pin 2 is USB +.</p>
5206 </div>
5207 <div class="paragraph">
5208 <p>You may wish to begin by ensuring you have current firmware
5209 images.  These are distributed as part of the AltOS software
5210 bundle that also includes the AltosUI ground station program.
5211 Newer ground station versions typically work fine with older
5212 firmware versions, so you don&#8217;t need to update your devices
5213 just to try out new software features.  You can always
5214 download the most recent version from
5215 <a href="http://www.altusmetrum.org/AltOS/" class="bare">http://www.altusmetrum.org/AltOS/</a></p>
5216 </div>
5217 <div class="sect2">
5218 <h3 id="_updating_telemega_telemetrum_v2_or_newer_telemini_v3_easymega_easymini_teledongle_v3_or_telebt_v3_firmware">D.1. Updating TeleMega, TeleMetrum v2 or newer, TeleMini v3, EasyMega, EasyMini, TeleDongle v3 or TeleBT v3 Firmware</h3>
5219 <div class="paragraph">
5220 <p>Self-programmable devices are reprogrammed by
5221 connecting them to your computer over USB.</p>
5222 </div>
5223 <div class="olist arabic">
5224 <ol class="arabic">
5225 <li>
5226 <p>Attach a battery if necessary and power switch to
5227 the target device. Power up the device.</p>
5228 </li>
5229 <li>
5230 <p>Using a Micro USB cable, connect the target device to your
5231 computer&#8217;s USB socket.  If the target is a TeleMini v3,
5232 make up and attach a special USB cable.</p>
5233 </li>
5234 <li>
5235 <p>Run AltosUI, and select 'Flash Image' from the File menu.</p>
5236 </li>
5237 <li>
5238 <p>Select the target device in the Device Selection dialog.</p>
5239 </li>
5240 <li>
5241 <p>Select the image you want to flash to the device,
5242 which should have a name in the form
5243 &lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx,
5244 such as EasyMini-v1.0-1.6.0.ihx.</p>
5245 </li>
5246 <li>
5247 <p>Make sure the configuration parameters are
5248 reasonable looking. If the serial number and/or RF
5249 configuration values aren&#8217;t right, you&#8217;ll need to
5250 change them.</p>
5251 </li>
5252 <li>
5253 <p>Hit the 'OK' button and the software should proceed
5254 to flash the device with new firmware, showing a
5255 progress bar.</p>
5256 </li>
5257 <li>
5258 <p>Verify that the device is working by using the
5259 'Configure Altimeter' or 'Configure Groundstation'
5260 item to check over the configuration.</p>
5261 </li>
5262 </ol>
5263 </div>
5264 <div class="sect3">
5265 <h4 id="_recovering_from_self_flashing_failure">D.1.1. Recovering From Self-Flashing Failure</h4>
5266 <div class="paragraph">
5267 <p>If the firmware loading fails, it can leave the device
5268 unable to boot. Not to worry, you can force the device to
5269 start the boot loader instead, which will let you try to
5270 flash the device again.</p>
5271 </div>
5272 <div class="paragraph">
5273 <p>On each device, connecting two pins from one of the exposed
5274 connectors will force the boot loader to start, even if the
5275 regular operating system has been corrupted in some way.</p>
5276 </div>
5277 <div class="dlist">
5278 <dl>
5279 <dt class="hdlist1">TeleMega</dt>
5280 <dd>
5281 <p>Connect pin 6 and pin 1 of the companion
5282 connector. Pin 1 can be identified by the square pad
5283 around it, and then the pins count sequentially across
5284 the board. Be very careful to <strong>not</strong> short pin 8 to
5285 anything as that is connected directly to the
5286 battery. Pin 7 carries 3.3V and the board will crash
5287 if that is connected to pin 1, but shouldn&#8217;t damage
5288 the board.</p>
5289 </dd>
5290 <dt class="hdlist1">EasyMega</dt>
5291 <dd>
5292 <p>Connect pin 6 and pin 1 of the companion
5293 connector. Pin 1 can be identified by the square pad
5294 around it, and then the pins count sequentially across
5295 the board. Be very careful to <strong>not</strong> short pin 8 to
5296 anything as that is connected directly to the
5297 battery. Pin 7 carries 3.3V and the board will crash
5298 if that is connected to pin 1, but shouldn&#8217;t damage
5299 the board.</p>
5300 </dd>
5301 <dt class="hdlist1">EasyTimer</dt>
5302 <dd>
5303 <p>Connect pin 5 and pin 1 of the debug connector, which
5304 is the six holes next to the beeper. Pin 1 can be
5305 identified by the square pad around it, and then the
5306 pins count sequentially across the board, making Pin 5
5307 the one on the other end of the row.</p>
5308 </dd>
5309 <dt class="hdlist1">TeleMetrum v2 and newer</dt>
5310 <dd>
5311 <p>Connect pin 6 and pin 1 of the companion
5312 connector. Pin 1 can be identified by the square pad
5313 around it, and then the pins count sequentially across
5314 the board. Be very careful to <strong>not</strong> short pin 8 to
5315 anything as that is connected directly to the
5316 battery. Pin 7 carries 3.3V and the board will crash
5317 if that is connected to pin 1, but shouldn&#8217;t damage
5318 the board.</p>
5319 </dd>
5320 <dt class="hdlist1">EasyMini</dt>
5321 <dd>
5322 <p>Connect pin 6 and pin 1 of the debug connector, which
5323 is the six holes next to the beeper. Pin 1 can be
5324 identified by the square pad around it, and then the
5325 pins count sequentially across the board, making Pin 6
5326 the one on the other end of the row.</p>
5327 </dd>
5328 <dt class="hdlist1">TeleGPS v1</dt>
5329 <dd>
5330 <p>Connect pin 32 on the CPU to ground.  Pin 32 is the
5331 right-most pin on the bottom edge of the CPU when the
5332 board is oriented with the USB and battery connectors
5333 to the right.</p>
5334 </dd>
5335 <dt class="hdlist1">TeleGPS v2</dt>
5336 <dd>
5337 <p>Connect together pins 1 and 5 of the Debug connector.
5338 Pin 1 is the pin with the square pad around the hole.</p>
5339 </dd>
5340 <dt class="hdlist1">TeleDongle v3</dt>
5341 <dd>
5342 <p>Connect pin 32 on the CPU to ground. Pin 32 is closest
5343 to the USB wires on the row of pins towards the center
5344 of the board. Ground is available on the capacitor
5345 next to it, on the end towards the USB wires.</p>
5346 </dd>
5347 <dt class="hdlist1">TeleBT v3</dt>
5348 <dd>
5349 <p>Connect pin 4 on the CPU to 3.3V, which can be done by
5350 connecting pin 1 to pin 4.  Pin 1 is the left pin on
5351 the lower edge of the chip when the unit is oriented
5352 such that the SMA is at the top.</p>
5353 </dd>
5354 <dt class="hdlist1">TeleBT v4</dt>
5355 <dd>
5356 <p>Connect pin 30 on the CPU to ground. Pin 30 is the 6th
5357 pin from the right on the top when the unit is oriented
5358 such that the SMA is at the top.</p>
5359 </dd>
5360 </dl>
5361 </div>
5362 <div class="paragraph">
5363 <p>Once you&#8217;ve located the right pins:</p>
5364 </div>
5365 <div class="olist arabic">
5366 <ol class="arabic">
5367 <li>
5368 <p>Turn the altimeter power off.</p>
5369 </li>
5370 <li>
5371 <p>Connect a battery.</p>
5372 </li>
5373 <li>
5374 <p>Connect the indicated terminals together with a
5375 short piece of wire. Take care not to accidentally
5376 connect anything else.</p>
5377 </li>
5378 <li>
5379 <p>Connect USB</p>
5380 </li>
5381 <li>
5382 <p>Turn the board power on.</p>
5383 </li>
5384 </ol>
5385 </div>
5386 <div class="paragraph">
5387 <p>The board should now be visible over USB as
5388 'AltosFlash' and be ready to receive firmware.  Once
5389 the board has been powered up, you can remove the
5390 piece of wire.</p>
5391 </div>
5392 </div>
5393 </div>
5394 <div class="sect2">
5395 <h3 id="_pair_programming">D.2. Pair Programming</h3>
5396 <div class="paragraph">
5397 <p>The big concept to understand is that you have to use
5398 a TeleMetrum v1.0, TeleBT v1.0 or TeleDongle v0.2 as a
5399 programmer to update a pair programmed device. Due to
5400 limited memory resources in the cc1111, we don&#8217;t
5401 support programming directly over USB for these
5402 devices.</p>
5403 </div>
5404 <div class="paragraph">
5405 <p>If you need to update the firmware on a TeleDongle
5406 v0.2, we recommend updating the altimeter first,
5407 before updating TeleDongle.  However, note that
5408 TeleDongle rarely need to be updated.  Any firmware
5409 version 1.0.1 or later will work, version 1.2.1 may
5410 have improved receiver performance slightly.</p>
5411 </div>
5412 <div class="sect3">
5413 <h4 id="_updating_telemetrum_v1_x_firmware">D.2.1. Updating TeleMetrum v1.x Firmware</h4>
5414 <div class="olist arabic">
5415 <ol class="arabic">
5416 <li>
5417 <p>Find the 'programming cable' that you got as
5418 part of the starter kit, that has a red
5419 8-pin MicroMaTch connector on one end and a
5420 red 4-pin MicroMaTch connector on the other
5421 end.</p>
5422 </li>
5423 <li>
5424 <p>Take the 2 screws out of the TeleDongle v0.2
5425 or TeleBT v1.0 case to get access to the
5426 circuit board.</p>
5427 </li>
5428 <li>
5429 <p>Plug the 8-pin end of the programming cable
5430 to the matching connector on the TeleDongle
5431 v0.2 or TeleBT v1.0, and the 4-pin end to
5432 the matching connector on the TeleMetrum.
5433 Note that each MicroMaTch connector has an
5434 alignment pin that goes through a hole in
5435 the PC board when you have the cable
5436 oriented correctly.</p>
5437 </li>
5438 <li>
5439 <p>Attach a battery to the TeleMetrum board.</p>
5440 </li>
5441 <li>
5442 <p>Plug the TeleDongle v0.2 or TeleBT v1.0 into
5443 your computer&#8217;s USB port, and power up the
5444 TeleMetrum.</p>
5445 </li>
5446 <li>
5447 <p>Run AltosUI, and select 'Flash Image' from
5448 the File menu.</p>
5449 </li>
5450 <li>
5451 <p>Pick the TeleDongle v0.2 or TeleBT v1.0
5452 device from the list, identifying it as the
5453 programming device.</p>
5454 </li>
5455 <li>
5456 <p>Select the image you want put on the
5457 TeleMetrum, which should have a name in the
5458 form telemetrum-v1.2-1.0.0.ihx.  It should
5459 be visible in the default directory, if not
5460 you may have to poke around your system to
5461 find it.</p>
5462 </li>
5463 <li>
5464 <p>Make sure the configuration parameters are
5465 reasonable looking. If the serial number
5466 and/or RF configuration values aren&#8217;t right,
5467 you&#8217;ll need to change them.</p>
5468 </li>
5469 <li>
5470 <p>Hit the 'OK' button and the software should
5471 proceed to flash the TeleMetrum with new
5472 firmware, showing a progress bar.</p>
5473 </li>
5474 <li>
5475 <p>Confirm that the TeleMetrum board seems to
5476 have updated OK, which you can do by
5477 plugging in to it over USB and using a
5478 terminal program to connect to the board and
5479 issue the 'v' command to check the version,
5480 etc.</p>
5481 </li>
5482 </ol>
5483 </div>
5484 <div class="paragraph">
5485 <p>If something goes wrong, give it another try.</p>
5486 </div>
5487 </div>
5488 <div class="sect3">
5489 <h4 id="_updating_telemini_v1_0_firmware">D.2.2. Updating TeleMini v1.0 Firmware</h4>
5490 <div class="paragraph">
5491 <p>You&#8217;ll need a special 'programming cable' to
5492 reprogram the TeleMini v1.0.  You can make your own
5493 using an 8-pin MicroMaTch connector on one end
5494 and a set of four pins on the other.</p>
5495 </div>
5496 <div class="olist arabic">
5497 <ol class="arabic">
5498 <li>
5499 <p>Take the 2 screws out of the TeleDongle v0.2
5500 or TeleBT v1.0 case to get access to the
5501 circuit board.</p>
5502 </li>
5503 <li>
5504 <p>Plug the 8-pin end of the programming cable
5505 to the matching connector on the TeleDongle
5506 v0.2 or TeleBT v1.0, and the 4-pins into the
5507 holes in the TeleMini v1.0 circuit board.  Note
5508 that the MicroMaTch connector has an
5509 alignment pin that goes through a hole in
5510 the PC board when you have the cable
5511 oriented correctly, and that pin 1 on the
5512 TeleMini v1.0 board is marked with a square pad
5513 while the other pins have round pads.</p>
5514 </li>
5515 <li>
5516 <p>Attach a battery to the TeleMini v1.0 board.</p>
5517 </li>
5518 <li>
5519 <p>Plug the TeleDongle v0.2 or TeleBT v1.0 into
5520 your computer&#8217;s USB port, and power up the
5521 TeleMini v1.0</p>
5522 </li>
5523 <li>
5524 <p>Run AltosUI, and select 'Flash Image' from
5525 the File menu.</p>
5526 </li>
5527 <li>
5528 <p>Pick the TeleDongle v0.2 or TeleBT v1.0
5529 device from the list, identifying it as the
5530 programming device.</p>
5531 </li>
5532 <li>
5533 <p>Select the image you want put on the
5534 TeleMini v1.0, which should have a name in the
5535 form telemini-v1.0-1.0.0.ihx.  It should be
5536 visible in the default directory, if not you
5537 may have to poke around your system to find
5538 it.</p>
5539 </li>
5540 <li>
5541 <p>Make sure the configuration parameters are
5542 reasonable looking. If the serial number
5543 and/or RF configuration values aren&#8217;t right,
5544 you&#8217;ll need to change them.</p>
5545 </li>
5546 <li>
5547 <p>Hit the 'OK' button and the software should
5548 proceed to flash the TeleMini v1.0 with new
5549 firmware, showing a progress bar.</p>
5550 </li>
5551 <li>
5552 <p>Confirm that the TeleMini v1.0 board seems to
5553 have updated OK, which you can do by
5554 configuring it over the radio link through
5555 the TeleDongle, or letting it come up in
5556 “flight” mode and listening for telemetry.</p>
5557 </li>
5558 </ol>
5559 </div>
5560 <div class="paragraph">
5561 <p>If something goes wrong, give it another try.</p>
5562 </div>
5563 </div>
5564 <div class="sect3">
5565 <h4 id="_updating_teledongle_v0_2_firmware">D.2.3. Updating TeleDongle v0.2 Firmware</h4>
5566 <div class="paragraph">
5567 <p>Updating TeleDongle v0.2 firmware is just like
5568 updating TeleMetrum v1.x or TeleMini v1.0 firmware, but you
5569 use either a TeleMetrum v1.x, TeleDongle v0.2 or
5570 TeleBT v1.0 as the programmer.</p>
5571 </div>
5572 <div class="olist arabic">
5573 <ol class="arabic">
5574 <li>
5575 <p>Find the 'programming cable' that you got as part of
5576 the starter kit, that has a red 8-pin MicroMaTch
5577 connector on one end and a red 4-pin MicroMaTch
5578 connector on the other end.</p>
5579 </li>
5580 <li>
5581 <p>Find the USB cable that you got as part of the
5582 starter kit, and plug the “mini” end in to the
5583 mating connector on TeleMetrum v1.x, TeleDongle v0.2
5584 or TeleBT v1.0.</p>
5585 </li>
5586 <li>
5587 <p>Take the 2 screws out of the TeleDongle v0.2 or
5588 TeleBT v1.0 case to get access to the circuit board.</p>
5589 </li>
5590 <li>
5591 <p>Plug the 8-pin end of the programming cable to the
5592 matching connector on the programmer, and the 4-pin
5593 end to the matching connector on the TeleDongle
5594 v0.2.  Note that each MicroMaTch connector has an
5595 alignment pin that goes through a hole in the PC
5596 board when you have the cable oriented correctly.</p>
5597 </li>
5598 <li>
5599 <p>Attach a battery to the TeleMetrum v1.x board if
5600 you&#8217;re using one.</p>
5601 </li>
5602 <li>
5603 <p>Plug both the programmer and the TeleDongle into
5604 your computer&#8217;s USB ports, and power up the
5605 programmer.</p>
5606 </li>
5607 <li>
5608 <p>Run AltosUI, and select 'Flash Image' from the File
5609 menu.</p>
5610 </li>
5611 <li>
5612 <p>Pick the programmer device from the list,
5613 identifying it as the programming device.</p>
5614 </li>
5615 <li>
5616 <p>Select the image you want put on the TeleDongle
5617 v0.2, which should have a name in the form
5618 teledongle-v0.2-1.0.0.ihx.  It should be visible in
5619 the default directory, if not you may have to poke
5620 around your system to find it.</p>
5621 </li>
5622 <li>
5623 <p>Make sure the configuration parameters are
5624 reasonable looking. If the serial number and/or RF
5625 configuration values aren&#8217;t right, you&#8217;ll need to
5626 change them.  The TeleDongle v0.2 serial number is
5627 on the “bottom” of the circuit board, and can
5628 usually be read through the translucent blue plastic
5629 case without needing to remove the board from the
5630 case.</p>
5631 </li>
5632 <li>
5633 <p>Hit the 'OK' button and the software should proceed
5634 to flash the TeleDongle v0.2 with new firmware,
5635 showing a progress bar.</p>
5636 </li>
5637 <li>
5638 <p>Confirm that the TeleDongle v0.2 board seems to have
5639 updated OK, which you can do by plugging in to it
5640 over USB and using a terminal program to connect to
5641 the board and issue the 'v' command to check the
5642 version, etc.  Once you&#8217;re happy, remove the
5643 programming cable and put the cover back on the
5644 TeleDongle v0.2.</p>
5645 </li>
5646 </ol>
5647 </div>
5648 <div class="paragraph">
5649 <p>If something goes wrong, give it another try.</p>
5650 </div>
5651 <div class="paragraph">
5652 <p>Be careful removing the programming cable from the
5653 locking 8-pin connector on TeleMetrum.  You&#8217;ll need a
5654 fingernail or perhaps a thin screwdriver or knife
5655 blade to gently pry the locking ears out slightly to
5656 extract the connector.  We used a locking connector on
5657 TeleMetrum to help ensure that the cabling to
5658 companion boards used in a rocket don&#8217;t ever come
5659 loose accidentally in flight.</p>
5660 </div>
5661 </div>
5662 </div>
5663 </div>
5664 </div>
5665 <div class="sect1">
5666 <h2 id="_frequency_calibration">Appendix E: Frequency Calibration</h2>
5667 <div class="sectionbody">
5668 <div class="paragraph">
5669 <p>All products that have radio interfaces require calibration of the radio
5670 frequency.  Normally, this calibration is done once during the production
5671 process and the resulting cal value is saved into non-volatile memory.  The
5672 procedure decribed here should only be used outside of the factory if you
5673 are really convinced the radio calibration is bad, and you have access to
5674 the required tools to do the calibration.</p>
5675 </div>
5676 <div class="paragraph">
5677 <p>Because this procedure is only rarely needed in the field, we have not
5678 written any fancy user interface for doing it .. some interaction with
5679 and careful typing in a command-like style interface are required!</p>
5680 </div>
5681 <div class="sect2">
5682 <h3 id="_background_information">E.1. Background Information</h3>
5683 <div class="paragraph">
5684 <p>The radio system on each board uses a quartz crystal to control
5685 a frequency synthesizer that can be programmed to a range of operating
5686 frequencies.  While these crystals are very stable, they have an accuracy
5687 specification that means once the base frequency they set is multiplied up
5688 to the typical operating range of our products, any variation also gets
5689 multiplied.  The objective of the calibration process is, indirectly, to
5690 measure the actual operating frequency of the crystal and adjust the way
5691 the frequency synthesizer is programmed to account for this variation.</p>
5692 </div>
5693 <div class="paragraph">
5694 <p>The frequency may shift a few tens of Hz over the full operating temperature
5695 range, and it may also shift a bit over time as the crystal ages.  But once
5696 properly calibrated, none of those changes are likely to ever cause any
5697 operational problem, as the shift in operating frequency due to these factors
5698 is tiny compared to the bandwidth of our transmitted signal.</p>
5699 </div>
5700 </div>
5701 <div class="sect2">
5702 <h3 id="_required_equipment">E.2. Required Equipment</h3>
5703 <div class="paragraph">
5704 <p>The calibration process requires the ability to precisely measure the actual
5705 frequency of a steady CW carrier on or about the intended operating frequency
5706 in the vicinity of 435 MHz.</p>
5707 </div>
5708 <div class="paragraph">
5709 <p>In production, we use an HP 5385A that is locked to a 10 MHz reference that
5710 is in turn locked to GPS, which provides a highly accurate calibration.  Any
5711 reasonably accurate frequency counter is likely to be sufficient.</p>
5712 </div>
5713 <div class="paragraph">
5714 <p>You also need a computer with terminal program and USB cable to attach to
5715 the board in question, along with a battery and power switch suitable for
5716 powering the board up.</p>
5717 </div>
5718 </div>
5719 <div class="sect2">
5720 <h3 id="_rf_calibration_procedure">E.3. RF Calibration Procedure</h3>
5721 <div class="paragraph">
5722 <p>Using the terminal program, connect to the board over USB.  You will find
5723 that you are now interacting with a command interpreter on the board.  Using
5724 '?' will show the available commands.  Of interest for this process are the
5725 'C' command which turns on a steady transmitted carrier on the currently
5726 selected operating frequency, and the 'c' subcommands that allow interaction
5727 with the saved configuration.</p>
5728 </div>
5729 <div class="paragraph">
5730 <p>Use the 'c s' command to discover and note the current radio calibration
5731 value, and the operating frequency the board is configured for in kHz.</p>
5732 </div>
5733 <div class="paragraph">
5734 <p>Set up your frequency counter with a suitable antenna near the board&#8217;s
5735 antenna and use the 'C' command to turn on a steady carrier.  Let the
5736 frequency stabilize, and note what it is to as many digits as are steady
5737 on your counter&#8217;s display.</p>
5738 </div>
5739 <div class="paragraph">
5740 <p>To calculate the new calibration value, the equation is:</p>
5741 </div>
5742 <div class="olist arabic">
5743 <ol class="arabic">
5744 <li>
5745 <p>(intended_frequency / measured_frequency) * current_cal_value</p>
5746 </li>
5747 </ol>
5748 </div>
5749 <div class="paragraph">
5750 <p>Set the new calibration value using 'c f &lt;value&gt;', then use 'c w' to save
5751 that cal value into non-volatile memory.  You can use the 'C' command again
5752 to confirm the operating frequency is now within a few 10&#8217;s of Hz of the
5753 intended operating frequency.</p>
5754 </div>
5755 </div>
5756 </div>
5757 </div>
5758 <div class="sect1">
5759 <h2 id="_flight_data_recording">Appendix F: Flight Data Recording</h2>
5760 <div class="sectionbody">
5761 <div class="paragraph">
5762 <p>Each flight computer logs data at 100 samples per second
5763 during ascent and 10 samples per second during
5764 descent, except for TeleMini v1.0, which records ascent at 10 samples
5765 per second and descent at 1 sample per second.
5766 Data are logged to
5767 an on-board flash memory part, which can be partitioned into
5768 several equal-sized blocks, one for each flight.</p>
5769 </div>
5770 <table class="tableblock frame-all grid-all stretch">
5771 <caption class="title">Table 11. Data Storage on Altus Metrum altimeters</caption>
5772 <colgroup>
5773 <col style="width: 25%;">
5774 <col style="width: 25%;">
5775 <col style="width: 25%;">
5776 <col style="width: 25%;">
5777 </colgroup>
5778 <thead>
5779 <tr>
5780 <th class="tableblock halign-left valign-top">Device</th>
5781 <th class="tableblock halign-left valign-top">Bytes per Sample</th>
5782 <th class="tableblock halign-left valign-top">Total Storage</th>
5783 <th class="tableblock halign-left valign-top">Minutes at Full Rate</th>
5784 </tr>
5785 </thead>
5786 <tbody>
5787 <tr>
5788 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.0</p></td>
5789 <td class="tableblock halign-left valign-top"><p class="tableblock">8</p></td>
5790 <td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
5791 <td class="tableblock halign-left valign-top"><p class="tableblock">20</p></td>
5792 </tr>
5793 <tr>
5794 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.1 v1.2</p></td>
5795 <td class="tableblock halign-left valign-top"><p class="tableblock">8</p></td>
5796 <td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
5797 <td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
5798 </tr>
5799 <tr>
5800 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v2.0</p></td>
5801 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
5802 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5803 <td class="tableblock halign-left valign-top"><p class="tableblock">80</p></td>
5804 </tr>
5805 <tr>
5806 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v3.0</p></td>
5807 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
5808 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5809 <td class="tableblock halign-left valign-top"><p class="tableblock">80</p></td>
5810 </tr>
5811 <tr>
5812 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
5813 <td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
5814 <td class="tableblock halign-left valign-top"><p class="tableblock">5kB</p></td>
5815 <td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
5816 </tr>
5817 <tr>
5818 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v3.0</p></td>
5819 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
5820 <td class="tableblock halign-left valign-top"><p class="tableblock">512kB</p></td>
5821 <td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
5822 </tr>
5823 <tr>
5824 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
5825 <td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
5826 <td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
5827 <td class="tableblock halign-left valign-top"><p class="tableblock">10</p></td>
5828 </tr>
5829 <tr>
5830 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega</p></td>
5831 <td class="tableblock halign-left valign-top"><p class="tableblock">32</p></td>
5832 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5833 <td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
5834 </tr>
5835 <tr>
5836 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega</p></td>
5837 <td class="tableblock halign-left valign-top"><p class="tableblock">32</p></td>
5838 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5839 <td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
5840 </tr>
5841 </tbody>
5842 </table>
5843 <div class="paragraph">
5844 <p>The on-board flash is partitioned into separate flight logs,
5845 each of a fixed maximum size. Increase the maximum size of
5846 each log and you reduce the number of flights that can be
5847 stored. Decrease the size and you can store more flights.</p>
5848 </div>
5849 <div class="paragraph">
5850 <p>Configuration data is also stored in the flash memory on
5851 TeleMetrum v1.x,
5852 TeleMini v3.0 and
5853 EasyMini.
5854 This consumes 64kB
5855 of flash space.  This configuration space is not available
5856 for storing flight log data.</p>
5857 </div>
5858 <div class="paragraph">
5859 <p>TeleMetrum v2 or newer, TeleMega and EasyMega
5860 store configuration data in a bit of eeprom available within
5861 the processor chip, leaving that space available in flash for
5862 more flight data.</p>
5863 </div>
5864 <div class="paragraph">
5865 <p>To compute the amount of space needed for a single flight, you
5866 can multiply the expected ascent time (in seconds) by 100
5867 times bytes-per-sample, multiply the expected descent time (in
5868 seconds) by 10 times the bytes per sample and add the two
5869 together. That will slightly under-estimate the storage (in
5870 bytes) needed for the flight.
5871 For instance, a TeleMetrum v2 or newer flight spending
5872 20 seconds in ascent and 150 seconds in descent will take
5873 about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You
5874 could store dozens of these flights in the on-board flash.</p>
5875 </div>
5876 <div class="paragraph">
5877 <p>The default size allows for several flights on each flight
5878 computer, except for TeleMini v1.0, which
5879 only holds data for a single flight.
5880 You can adjust the size.</p>
5881 </div>
5882 <div class="paragraph">
5883 <p>Altus Metrum flight computers will not overwrite existing
5884 flight data, so be sure to download flight data and erase it
5885 from the flight computer before it fills up. The flight
5886 computer will still successfully control the flight even if it
5887 cannot log data, so the only thing you will lose is the data.</p>
5888 </div>
5889 </div>
5890 </div>
5891 <div class="sect1">
5892 <h2 id="_altus_metrum_hardware_specifications">Appendix G: Altus Metrum Hardware Specifications</h2>
5893 <div class="sectionbody">
5894 <div class="paragraph">
5895 <p>Here&#8217;s the full set of Altus Metrum products, both in
5896 production and retired.</p>
5897 </div>
5898 <table class="tableblock frame-all grid-all stretch">
5899 <caption class="title">Table 12. Altus Metrum Flight Computer Electronics</caption>
5900 <colgroup>
5901 <col style="width: 12.5%;">
5902 <col style="width: 12.5%;">
5903 <col style="width: 12.5%;">
5904 <col style="width: 12.5%;">
5905 <col style="width: 12.5%;">
5906 <col style="width: 12.5%;">
5907 <col style="width: 12.5%;">
5908 <col style="width: 12.5%;">
5909 </colgroup>
5910 <thead>
5911 <tr>
5912 <th class="tableblock halign-left valign-top">Device</th>
5913 <th class="tableblock halign-left valign-top">Barometer</th>
5914 <th class="tableblock halign-left valign-top">Z-axis accel</th>
5915 <th class="tableblock halign-left valign-top">GPS</th>
5916 <th class="tableblock halign-left valign-top">3D sensors</th>
5917 <th class="tableblock halign-left valign-top">Storage</th>
5918 <th class="tableblock halign-left valign-top">RF Output</th>
5919 <th class="tableblock halign-left valign-top">Battery</th>
5920 </tr>
5921 </thead>
5922 <tbody>
5923 <tr>
5924 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.0</p></td>
5925 <td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
5926 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA2202 50g</p></td>
5927 <td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
5928 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5929 <td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
5930 <td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
5931 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5932 </tr>
5933 <tr>
5934 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.1</p></td>
5935 <td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
5936 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA2202 50g</p></td>
5937 <td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
5938 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5939 <td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
5940 <td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
5941 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5942 </tr>
5943 <tr>
5944 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.2</p></td>
5945 <td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
5946 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL78 70g</p></td>
5947 <td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
5948 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5949 <td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
5950 <td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
5951 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5952 </tr>
5953 <tr>
5954 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v2.0</p></td>
5955 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
5956 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
5957 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
5958 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5959 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5960 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
5961 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5962 </tr>
5963 <tr>
5964 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v3.0</p></td>
5965 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
5966 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
5967 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
5968 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5969 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5970 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
5971 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5972 </tr>
5973 <tr>
5974 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v4.0</p></td>
5975 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
5976 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
5977 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8C</p></td>
5978 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5979 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
5980 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
5981 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5982 </tr>
5983 <tr>
5984 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
5985 <td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
5986 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5987 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5988 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5989 <td class="tableblock halign-left valign-top"><p class="tableblock">5kB</p></td>
5990 <td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
5991 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
5992 </tr>
5993 <tr>
5994 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v3.0</p></td>
5995 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
5996 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5997 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5998 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
5999 <td class="tableblock halign-left valign-top"><p class="tableblock">512kB</p></td>
6000 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6001 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6002 </tr>
6003 <tr>
6004 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini v1.0-v3.0</p></td>
6005 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6006 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6007 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6008 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6009 <td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
6010 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6011 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
6012 </tr>
6013 <tr>
6014 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v1.0</p></td>
6015 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6016 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
6017 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
6018 <td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
6019 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6020 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6021 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6022 </tr>
6023 <tr>
6024 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v2.0</p></td>
6025 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6026 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
6027 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
6028 <td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
6029 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6030 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6031 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6032 </tr>
6033 <tr>
6034 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v3.0</p></td>
6035 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6036 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
6037 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
6038 <td class="tableblock halign-left valign-top"><p class="tableblock">MPU9250</p></td>
6039 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6040 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6041 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6042 </tr>
6043 <tr>
6044 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v4.0</p></td>
6045 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6046 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
6047 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
6048 <td class="tableblock halign-left valign-top"><p class="tableblock">BMX160</p></td>
6049 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6050 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6051 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6052 </tr>
6053 <tr>
6054 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v5.0</p></td>
6055 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6056 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
6057 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
6058 <td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 MMC5983</p></td>
6059 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6060 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6061 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6062 </tr>
6063 <tr>
6064 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v6.0</p></td>
6065 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6066 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
6067 <td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
6068 <td class="tableblock halign-left valign-top"><p class="tableblock">BMI088 MMC5983</p></td>
6069 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6070 <td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
6071 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6072 </tr>
6073 <tr>
6074 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega v1.0</p></td>
6075 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6076 <td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
6077 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6078 <td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
6079 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6080 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6081 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6082 </tr>
6083 <tr>
6084 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega v2.0</p></td>
6085 <td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
6086 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
6087 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6088 <td class="tableblock halign-left valign-top"><p class="tableblock">MPU9250</p></td>
6089 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6090 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6091 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
6092 </tr>
6093 <tr>
6094 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyTimer v1.0</p></td>
6095 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6096 <td class="tableblock halign-left valign-top"><p class="tableblock">16g</p></td>
6097 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6098 <td class="tableblock halign-left valign-top"><p class="tableblock">BMX160</p></td>
6099 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6100 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6101 <td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
6102 </tr>
6103 <tr>
6104 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMotor v3.0</p></td>
6105 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6106 <td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
6107 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6108 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6109 <td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
6110 <td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
6111 <td class="tableblock halign-left valign-top"><p class="tableblock">6.5-15V</p></td>
6112 </tr>
6113 </tbody>
6114 </table>
6115 <div style="page-break-after: always;"></div>
6116 <table class="tableblock frame-all grid-all stretch">
6117 <caption class="title">Table 13. Altus Metrum Flight Computer Mechanical Components</caption>
6118 <colgroup>
6119 <col style="width: 16.6666%;">
6120 <col style="width: 16.6666%;">
6121 <col style="width: 16.6666%;">
6122 <col style="width: 16.6666%;">
6123 <col style="width: 16.6666%;">
6124 <col style="width: 16.667%;">
6125 </colgroup>
6126 <thead>
6127 <tr>
6128 <th class="tableblock halign-left valign-top">Device</th>
6129 <th class="tableblock halign-left valign-top">Connectors</th>
6130 <th class="tableblock halign-left valign-top">Screw Terminals</th>
6131 <th class="tableblock halign-left valign-top">Width</th>
6132 <th class="tableblock halign-left valign-top">Length</th>
6133 <th class="tableblock halign-left valign-top">Tube Size</th>
6134 </tr>
6135 </thead>
6136 <tbody>
6137 <tr>
6138 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum</p></td>
6139 <td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Companion USB Battery</p></td>
6140 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Switch</p></td>
6141 <td class="tableblock halign-left valign-top"><p class="tableblock">1 inch (2.54cm)</p></td>
6142 <td class="tableblock halign-left valign-top"><p class="tableblock">2 ¾ inch (6.99cm)</p></td>
6143 <td class="tableblock halign-left valign-top"><p class="tableblock">29mm coupler</p></td>
6144 </tr>
6145 <tr>
6146 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
6147 <td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Battery</p></td>
6148 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro</p></td>
6149 <td class="tableblock halign-left valign-top"><p class="tableblock">½ inch (1.27cm)</p></td>
6150 <td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
6151 <td class="tableblock halign-left valign-top"><p class="tableblock">18mm coupler</p></td>
6152 </tr>
6153 <tr>
6154 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v2.0</p></td>
6155 <td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug USB Battery</p></td>
6156 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery Switch</p></td>
6157 <td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
6158 <td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
6159 <td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
6160 </tr>
6161 <tr>
6162 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
6163 <td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
6164 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery</p></td>
6165 <td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
6166 <td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
6167 <td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
6168 </tr>
6169 <tr>
6170 <td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega</p></td>
6171 <td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Companion USB Battery</p></td>
6172 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Pyro A-D Switch Pyro battery</p></td>
6173 <td class="tableblock halign-left valign-top"><p class="tableblock">1¼ inch (3.18cm)</p></td>
6174 <td class="tableblock halign-left valign-top"><p class="tableblock">3¼ inch (8.26cm)</p></td>
6175 <td class="tableblock halign-left valign-top"><p class="tableblock">38mm coupler</p></td>
6176 </tr>
6177 <tr>
6178 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega</p></td>
6179 <td class="tableblock halign-left valign-top"><p class="tableblock">Debug Companion USB Battery</p></td>
6180 <td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Pyro A-D Switch Pyro battery</p></td>
6181 <td class="tableblock halign-left valign-top"><p class="tableblock">1¼ inch (3.18cm)</p></td>
6182 <td class="tableblock halign-left valign-top"><p class="tableblock">2¼ inch (5.62cm)</p></td>
6183 <td class="tableblock halign-left valign-top"><p class="tableblock">38mm coupler</p></td>
6184 </tr>
6185 <tr>
6186 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyTimer</p></td>
6187 <td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
6188 <td class="tableblock halign-left valign-top"><p class="tableblock">Pyro A Pyro B Battery</p></td>
6189 <td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
6190 <td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
6191 <td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
6192 </tr>
6193 <tr>
6194 <td class="tableblock halign-left valign-top"><p class="tableblock">EasyMotor</p></td>
6195 <td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB</p></td>
6196 <td class="tableblock halign-left valign-top"><p class="tableblock">+5V Pres GND Switch Battery</p></td>
6197 <td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
6198 <td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
6199 <td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
6200 </tr>
6201 </tbody>
6202 </table>
6203 </div>
6204 </div>
6205 <div class="sect1">
6206 <h2 id="_release_notes">Appendix H: Release Notes</h2>
6207 <div class="sectionbody">
6208 <div class="sect2">
6209 <h3 id="_release_notes_for_version_1_9_15">H.1. Release Notes for Version 1.9.15</h3>
6210 <div class="paragraph">
6211 <p>Version 1.9.15</p>
6212 </div>
6213 <div class="sect3">
6214 <h4 id="_altos">H.1.1. AltOS</h4>
6215 <div class="ulist">
6216 <ul>
6217 <li>
6218 <p>Add TeleMega v6.0 support</p>
6219 </li>
6220 <li>
6221 <p>Add TeleMetrum v4.0 support</p>
6222 </li>
6223 <li>
6224 <p>Fix sign of IMU values for TeleMega v5 boards in the
6225 'across' axis. This affects IMU acceleration and gyro reports
6226 for that axis, but has no effect on in-flight operation of
6227 the tilt computation.</p>
6228 </li>
6229 </ul>
6230 </div>
6231 <div style="page-break-after: always;"></div>
6232 </div>
6233 </div>
6234 <div class="sect2">
6235 <h3 id="_release_notes_for_version_1_9_14">H.2. Release Notes for Version 1.9.14</h3>
6236 <div class="paragraph">
6237 <p>Version 1.9.14</p>
6238 </div>
6239 <div class="sect3">
6240 <h4 id="_altos_2">H.2.1. AltOS</h4>
6241 <div class="ulist">
6242 <ul>
6243 <li>
6244 <p>Fix 1.9.13 regression in TeleLCO startup sequence that
6245 detects available TeleFire units.</p>
6246 </li>
6247 </ul>
6248 </div>
6249 <div style="page-break-after: always;"></div>
6250 </div>
6251 </div>
6252 <div class="sect2">
6253 <h3 id="_release_notes_for_version_1_9_13">H.3. Release Notes for Version 1.9.13</h3>
6254 <div class="paragraph">
6255 <p>Version 1.9.13</p>
6256 </div>
6257 <div class="sect3">
6258 <h4 id="_altos_3">H.3.1. AltOS</h4>
6259 <div class="ulist">
6260 <ul>
6261 <li>
6262 <p>Add option to beep max height in feet after landing</p>
6263 </li>
6264 <li>
6265 <p>Fix APRS reports to be sent at the correct time and spacing.</p>
6266 </li>
6267 <li>
6268 <p>Fix possible barometric sensor communication failure when
6269 the CPU is busy talking to the radio at the same time. This
6270 would cause loss of telemetry and failure to track the state
6271 of the rocket during flight. This was aggrevated by the APRS
6272 reports getting sent more often than they should.</p>
6273 </li>
6274 <li>
6275 <p>Change EasyMotor v3 code to base logging on motor pressure
6276 rather than the accelerometer. This allows use of EasyMotor
6277 v3 in a static test stand.</p>
6278 </li>
6279 </ul>
6280 </div>
6281 </div>
6282 <div class="sect3">
6283 <h4 id="_altosui_2">H.3.2. AltosUI</h4>
6284 <div class="ulist">
6285 <ul>
6286 <li>
6287 <p>Add support for configuring the units used to report height
6288 after landing on the beeper.</p>
6289 </li>
6290 </ul>
6291 </div>
6292 <div style="page-break-after: always;"></div>
6293 </div>
6294 </div>
6295 <div class="sect2">
6296 <h3 id="_release_notes_for_version_1_9_12">H.4. Release Notes for Version 1.9.12</h3>
6297 <div class="paragraph">
6298 <p>Version 1.9.12</p>
6299 </div>
6300 <div class="sect3">
6301 <h4 id="_altos_4">H.4.1. AltOS</h4>
6302 <div class="ulist">
6303 <ul>
6304 <li>
6305 <p>Add EasyMini v3.0 and EasyMotor v3.0 support</p>
6306 </li>
6307 <li>
6308 <p>Fix TeleMetrum v2.0 configuration. Saving config would
6309 crash the board.</p>
6310 </li>
6311 </ul>
6312 </div>
6313 </div>
6314 <div class="sect3">
6315 <h4 id="_altosui_3">H.4.2. AltosUI</h4>
6316 <div class="ulist">
6317 <ul>
6318 <li>
6319 <p>Add EasyMotor log parsing and graphing.</p>
6320 </li>
6321 </ul>
6322 </div>
6323 <div style="page-break-after: always;"></div>
6324 </div>
6325 </div>
6326 <div class="sect2">
6327 <h3 id="_release_notes_for_version_1_9_11">H.5. Release Notes for Version 1.9.11</h3>
6328 <div class="paragraph">
6329 <p>Version 1.9.11</p>
6330 </div>
6331 <div class="sect3">
6332 <h4 id="_altos_5">H.5.1. AltOS</h4>
6333 <div class="ulist">
6334 <ul>
6335 <li>
6336 <p>Make Apogee Delay work again.</p>
6337 </li>
6338 <li>
6339 <p>Allow TX power to be limited to 10mW for compliance with
6340 some uses under UK regulations.</p>
6341 </li>
6342 <li>
6343 <p>Fix numerous minor issues with 16- vs 32- bit time values.</p>
6344 </li>
6345 </ul>
6346 </div>
6347 </div>
6348 <div class="sect3">
6349 <h4 id="_altosui_4">H.5.2. AltosUI</h4>
6350 <div class="ulist">
6351 <ul>
6352 <li>
6353 <p>Support M1-based Macs, follow AdoptOpenJDK to Adoptium</p>
6354 </li>
6355 </ul>
6356 </div>
6357 </div>
6358 <div class="sect3">
6359 <h4 id="_altosdroid_2">H.5.3. AltosDroid</h4>
6360 <div class="ulist">
6361 <ul>
6362 <li>
6363 <p>Handle Bluetooth permissions reliably.</p>
6364 </li>
6365 <li>
6366 <p>Fix some screen rotation bugs.</p>
6367 </li>
6368 </ul>
6369 </div>
6370 <div style="page-break-after: always;"></div>
6371 </div>
6372 </div>
6373 <div class="sect2">
6374 <h3 id="_release_notes_for_version_1_9_10">H.6. Release Notes for Version 1.9.10</h3>
6375 <div class="paragraph">
6376 <p>Version 1.9.10</p>
6377 </div>
6378 <div class="paragraph">
6379 <p>This release contains a couple of bug fixes for ground station software.</p>
6380 </div>
6381 <div class="sect3">
6382 <h4 id="_altosui_5">H.6.1. AltosUI</h4>
6383 <div class="ulist">
6384 <ul>
6385 <li>
6386 <p>Rework the windows DLL build to make AltosUI run on more
6387 instances of Windows 10.</p>
6388 </li>
6389 </ul>
6390 </div>
6391 </div>
6392 <div class="sect3">
6393 <h4 id="_altosdroid_3">H.6.2. AltosDroid</h4>
6394 <div class="ulist">
6395 <ul>
6396 <li>
6397 <p>Adapt to Android security changes which prevent AltosDroid
6398 from storing flights in
6399 /storage/emulated/0/AltusMetrum. Now, flights are stored in
6400 /storage/emulated/0/media/org.altusmetrum.AltosDroid/AltusMetrum
6401 instead.  Also, AltosDroid will display an error message if
6402 flight data cannot be logged.</p>
6403 </li>
6404 </ul>
6405 </div>
6406 <div style="page-break-after: always;"></div>
6407 </div>
6408 </div>
6409 <div class="sect2">
6410 <h3 id="_release_notes_for_version_1_9_9">H.7. Release Notes for Version 1.9.9</h3>
6411 <div class="paragraph">
6412 <p>Version 1.9.9</p>
6413 </div>
6414 <div class="paragraph">
6415 <p>This release contains a critical bug fix for a problem
6416 introduced in version 1.9.8 for TeleMega and EasyMega
6417 boards. This problem occurs when using the stored
6418 configuration from 1.9.7 or earlier.</p>
6419 </div>
6420 <div class="paragraph">
6421 <p>If you are running 1.9.8 or are upgrading from 1.9.8 on any
6422 version of TeleMega or EasyMega, you must reconfigure all pyro
6423 channels, recalibrate accelerometers, reset the APRS interval,
6424 adjust the beep tone and reset the pyro time.</p>
6425 </div>
6426 <div class="sect3">
6427 <h4 id="_altos_6">H.7.1. AltOS</h4>
6428 <div class="ulist">
6429 <ul>
6430 <li>
6431 <p>Fix EasyMega and TeleMega upgrade process from 1.9.7 or
6432 earlier.  1.9.8 introduced larger delay values, which
6433 required modifying the configuration in-place, and the 1.9.8
6434 version had a flaw which broke the pyro channel config and
6435 all of the config values beyond that in memory, including
6436 APRS interval, IMU accel calibation, beep tone and pyro
6437 time.</p>
6438 </li>
6439 <li>
6440 <p>Fix TeleMega v5.0 mag sensor driver. This driver was quite
6441 broken due to developing it in the presence of the magnetic
6442 beeper on the board. Because of that beeper, the values this
6443 sensor records are not accurate. Fortunately, they are not
6444 used for controlling the flight.</p>
6445 </li>
6446 </ul>
6447 </div>
6448 </div>
6449 <div class="sect3">
6450 <h4 id="_altosui_6">H.7.2. AltosUI</h4>
6451 <div class="ulist">
6452 <ul>
6453 <li>
6454 <p>Parse TeleMega v5.0 log files. A missing check in the code
6455 meant that the TeleMega v5.0 log files would cause an error
6456 when attempting to load them. Logs saved with AltosUI
6457 1.9.8 were not affected, only the presentation of the data
6458 was broken.</p>
6459 </li>
6460 </ul>
6461 </div>
6462 <div style="page-break-after: always;"></div>
6463 </div>
6464 </div>
6465 <div class="sect2">
6466 <h3 id="_release_notes_for_version_1_9_8">H.8. Release Notes for Version 1.9.8</h3>
6467 <div class="paragraph">
6468 <p>Version 1.9.8</p>
6469 </div>
6470 <div class="sect3">
6471 <h4 id="_altos_7">H.8.1. AltOS</h4>
6472 <div class="ulist">
6473 <ul>
6474 <li>
6475 <p>Add support for TeleMega v5.0</p>
6476 </li>
6477 <li>
6478 <p>Extend extra pyro channel times to support delay &gt; 327 seconds</p>
6479 </li>
6480 </ul>
6481 </div>
6482 </div>
6483 <div class="sect3">
6484 <h4 id="_altosui_7">H.8.2. AltosUI</h4>
6485 <div class="ulist">
6486 <ul>
6487 <li>
6488 <p>Support ARM devices in Linux binary release</p>
6489 </li>
6490 <li>
6491 <p>Add support for TeleMega v5.0</p>
6492 </li>
6493 </ul>
6494 </div>
6495 </div>
6496 <div class="sect3">
6497 <h4 id="_altosdroid_4">H.8.3. AltosDroid</h4>
6498 <div class="ulist">
6499 <ul>
6500 <li>
6501 <p>Show tilt angle in pad and flight tabs</p>
6502 </li>
6503 <li>
6504 <p>Show altitude as well as height (useful for TeleGPS)</p>
6505 </li>
6506 <li>
6507 <p>Support devices without GPS receivers</p>
6508 </li>
6509 </ul>
6510 </div>
6511 </div>
6512 <div class="sect3">
6513 <h4 id="_micropeak_gui">H.8.4. MicroPeak GUI</h4>
6514 <div class="ulist">
6515 <ul>
6516 <li>
6517 <p>Show error dialog if device open fails</p>
6518 </li>
6519 </ul>
6520 </div>
6521 <div style="page-break-after: always;"></div>
6522 </div>
6523 </div>
6524 <div class="sect2">
6525 <h3 id="_release_notes_for_version_1_9_7">H.9. Release Notes for Version 1.9.7</h3>
6526 <div class="paragraph">
6527 <p>Version 1.9.7</p>
6528 </div>
6529 <div class="sect3">
6530 <h4 id="_altos_8">H.9.1. AltOS</h4>
6531 <div class="ulist">
6532 <ul>
6533 <li>
6534 <p>Fix TeleGPS logging so that new data are appended to an existing log correctly</p>
6535 </li>
6536 </ul>
6537 </div>
6538 </div>
6539 <div class="sect3">
6540 <h4 id="_altosui_8">H.9.2. AltosUI</h4>
6541 <div class="ulist">
6542 <ul>
6543 <li>
6544 <p>Support Mac OS X 11 (Big Sur)</p>
6545 </li>
6546 <li>
6547 <p>Support Monitor Idle on Easy Timer</p>
6548 </li>
6549 <li>
6550 <p>Fix TeleMega v4.0 and TeleMetrum v3.0 configuration in Antenna Down mode</p>
6551 </li>
6552 <li>
6553 <p>Show launch sites in Load Maps view</p>
6554 </li>
6555 <li>
6556 <p>Add IMU header names to CSV files</p>
6557 </li>
6558 <li>
6559 <p>Clean up TeleGPS log corruption due to firmware bugs during firmware update</p>
6560 </li>
6561 </ul>
6562 </div>
6563 </div>
6564 <div class="sect3">
6565 <h4 id="_altosdroid_5">H.9.3. AltosDroid</h4>
6566 <div class="ulist">
6567 <ul>
6568 <li>
6569 <p>Support older devices back to Android version 5.1</p>
6570 </li>
6571 <li>
6572 <p>Fix a number of issues that could result in app crashes</p>
6573 </li>
6574 </ul>
6575 </div>
6576 <div style="page-break-after: always;"></div>
6577 </div>
6578 </div>
6579 <div class="sect2">
6580 <h3 id="_release_notes_for_version_1_9_6">H.10. Release Notes for Version 1.9.6</h3>
6581 <div class="paragraph">
6582 <p>Version 1.9.6</p>
6583 </div>
6584 <div class="sect3">
6585 <h4 id="_altos_9">H.10.1. AltOS</h4>
6586 <div class="ulist">
6587 <ul>
6588 <li>
6589 <p>Fix EasyTimer bug where it might mis-detect boost (either
6590 detect it early or not at all) due to small errors in
6591 accelerometer calibration leading to large accumulated error
6592 in speed.</p>
6593 </li>
6594 <li>
6595 <p>Adjust self-test of new 9-axis IMU (BMX-160) so that it
6596 doesn&#8217;t think the part has a failure when tested sitting
6597 horizontally.</p>
6598 </li>
6599 </ul>
6600 </div>
6601 <div style="page-break-after: always;"></div>
6602 </div>
6603 </div>
6604 <div class="sect2">
6605 <h3 id="_release_notes_for_version_1_9_5">H.11. Release Notes for Version 1.9.5</h3>
6606 <div class="paragraph">
6607 <p>Version 1.9.5</p>
6608 </div>
6609 <div class="sect3">
6610 <h4 id="_altos_10">H.11.1. AltOS</h4>
6611 <div class="ulist">
6612 <ul>
6613 <li>
6614 <p>Add Booster mode for all dual-deploy altimeters. Select
6615 "Separation &amp; Apogee" mode in AltosUI to fire the 'main'
6616 channel at first motor burnout and the 'apogee' channel at
6617 apogee.</p>
6618 </li>
6619 <li>
6620 <p>Improve reliability of stm32l firmware under heavy
6621 load. This was found using Monitor Idle on TeleMega with all
6622 flash slots full of data which would occasionally lock up.</p>
6623 </li>
6624 <li>
6625 <p>Fix orientation label in AltosUI for devices with
6626 radios. This makes the orientation say 'Antenna up' and
6627 'Antenna Down' for TeleMetrum and TeleMega again.</p>
6628 </li>
6629 <li>
6630 <p>Fix log data for pyro channels which were inhibited (often
6631 because of a tilt limit). They used to report 'fired' as
6632 soon as they were inhibited, which was misleading. Now they
6633 never report as having been fired.</p>
6634 </li>
6635 <li>
6636 <p>Allow Igniter Test to fire each igniter more than once.</p>
6637 </li>
6638 </ul>
6639 </div>
6640 </div>
6641 <div class="sect3">
6642 <h4 id="_altosui_9">H.11.2. AltosUI</h4>
6643 <div class="ulist">
6644 <ul>
6645 <li>
6646 <p>Improve performance of Monitor Idle mode by sending less data for each
6647 update.</p>
6648 </li>
6649 <li>
6650 <p>Improve Mac OS X install scripts so that they work on
6651 Catalina. This involves sending the user to get Java from
6652 the AdoptOpenJDK project which provides a version that works
6653 with Java applications.</p>
6654 </li>
6655 <li>
6656 <p>Make larger dialogs scrollable for use on smaller screens.</p>
6657 </li>
6658 <li>
6659 <p>Fix troubles re-flashing EasyMega boards running older
6660 firmware.</p>
6661 </li>
6662 <li>
6663 <p>Add TeleMetrum v3.0 firmware to the Windows
6664 AltosUI packages.</p>
6665 </li>
6666 </ul>
6667 </div>
6668 <div style="page-break-after: always;"></div>
6669 </div>
6670 </div>
6671 <div class="sect2">
6672 <h3 id="_release_notes_for_version_1_9_4">H.12. Release Notes for Version 1.9.4</h3>
6673 <div class="paragraph">
6674 <p>Version 1.9.4</p>
6675 </div>
6676 <div class="sect3">
6677 <h4 id="_altos_11">H.12.1. AltOS</h4>
6678 <div class="ulist">
6679 <ul>
6680 <li>
6681 <p>Fixed firmware for TeleDongle v3.0 and TeleBT v4.0. Version 1.9.3 bricked those
6682 devices requiring them to be opened up to get them working again.</p>
6683 </li>
6684 <li>
6685 <p>Fixed firmware for EasyMini v1.0. Changes in the storage
6686 code caused it to use significantly more RAM which made the
6687 interrupt stack smash into other data structures and cause
6688 the device to panic at startup time.</p>
6689 </li>
6690 </ul>
6691 </div>
6692 </div>
6693 <div class="sect3">
6694 <h4 id="_altosui_10">H.12.2. AltosUI</h4>
6695 <div class="ulist">
6696 <ul>
6697 <li>
6698 <p>Add TeleMetrum v3.0 firmware to the Linux and Mac OSX
6699 AltosUI packages.</p>
6700 </li>
6701 </ul>
6702 </div>
6703 <div style="page-break-after: always;"></div>
6704 </div>
6705 </div>
6706 <div class="sect2">
6707 <h3 id="_release_notes_for_version_1_9_3">H.13. Release Notes for Version 1.9.3</h3>
6708 <div class="paragraph">
6709 <p>Version 1.9.3</p>
6710 </div>
6711 <div class="sect3">
6712 <h4 id="_altos_12">H.13.1. AltOS</h4>
6713 <div class="ulist">
6714 <ul>
6715 <li>
6716 <p>Add APRS offset. Allows multiple APRS transmitters to coordinate when
6717 transmission occurs to allow them to share a frequency.</p>
6718 </li>
6719 <li>
6720 <p>Fix max log size. Flight computer storage is erased in 64kB chunks. Adjust max
6721 log size to be a multiple of this size.</p>
6722 </li>
6723 <li>
6724 <p>Check flight erasing more carefully. Handle interrupting erasing in the
6725 middle.</p>
6726 </li>
6727 <li>
6728 <p>Add EasyTimer support.</p>
6729 </li>
6730 </ul>
6731 </div>
6732 </div>
6733 <div class="sect3">
6734 <h4 id="_altosui_telegps_micropeak">H.13.2. AltosUI, TeleGPS, MicroPeak</h4>
6735 <div class="ulist">
6736 <ul>
6737 <li>
6738 <p>Add configuration support for APRS offset.</p>
6739 </li>
6740 <li>
6741 <p>Adjust flight log sizes to be a multiple of the flight
6742 computer erase block size.</p>
6743 </li>
6744 <li>
6745 <p>Report barometric pad altitude in Pad tab for TeleMini.</p>
6746 </li>
6747 </ul>
6748 </div>
6749 <div style="page-break-after: always;"></div>
6750 </div>
6751 </div>
6752 <div class="sect2">
6753 <h3 id="_release_notes_for_version_1_9_2">H.14. Release Notes for Version 1.9.2</h3>
6754 <div class="paragraph">
6755 <p>Version 1.9.2</p>
6756 </div>
6757 <div class="sect3">
6758 <h4 id="_altos_13">H.14.1. AltOS</h4>
6759 <div class="ulist">
6760 <ul>
6761 <li>
6762 <p>Add support for TeleMega v4.0</p>
6763 </li>
6764 <li>
6765 <p>Fix time wrapping issue with TeleLCO and TeleFire</p>
6766 </li>
6767 </ul>
6768 </div>
6769 </div>
6770 <div class="sect3">
6771 <h4 id="_altosui_telegps_micropeak_2">H.14.2. AltosUI, TeleGPS, MicroPeak</h4>
6772 <div class="ulist">
6773 <ul>
6774 <li>
6775 <p>Add column in AltosUI for IMU data from TeleMega and EasyMega</p>
6776 </li>
6777 </ul>
6778 </div>
6779 </div>
6780 <div class="sect3">
6781 <h4 id="_altosdroid_6">H.14.3. AltosDroid</h4>
6782 <div class="ulist">
6783 <ul>
6784 <li>
6785 <p>Allow sorting of trackers by call, serial, frequency or age</p>
6786 </li>
6787 <li>
6788 <p>Offer selection of font sizes</p>
6789 </li>
6790 <li>
6791 <p>Various bug fixes for older Android versions</p>
6792 </li>
6793 </ul>
6794 </div>
6795 <div style="page-break-after: always;"></div>
6796 </div>
6797 </div>
6798 <div class="sect2">
6799 <h3 id="_release_notes_for_version_1_9_1">H.15. Release Notes for Version 1.9.1</h3>
6800 <div class="paragraph">
6801 <p>Version 1.9.1</p>
6802 </div>
6803 <div class="sect3">
6804 <h4 id="_altos_14">H.15.1. AltOS</h4>
6805 <div class="ulist">
6806 <ul>
6807 <li>
6808 <p>Add support for TeleMetrum v3.0</p>
6809 </li>
6810 <li>
6811 <p>Fix accel cal value when changing EasyMega v2.0 pad orientation</p>
6812 </li>
6813 <li>
6814 <p>Correct EasyMega v2.0 magnetometer data axes</p>
6815 </li>
6816 <li>
6817 <p>Fix EasyMega v2.0 idle monitor display of IMU data</p>
6818 </li>
6819 <li>
6820 <p>Report all sensor failures at power-up time.</p>
6821 </li>
6822 </ul>
6823 </div>
6824 </div>
6825 <div class="sect3">
6826 <h4 id="_altosui_telegps_micropeak_3">H.15.2. AltosUI, TeleGPS, MicroPeak</h4>
6827 <div class="ulist">
6828 <ul>
6829 <li>
6830 <p>Display error message when attempting to graph unknown format file.</p>
6831 </li>
6832 <li>
6833 <p>Make it possible to disable APRS once enabled.</p>
6834 </li>
6835 <li>
6836 <p>Display some data for point near cursor in map tab.</p>
6837 </li>
6838 <li>
6839 <p>Support upgrading devices from pre-1.8 firmware</p>
6840 </li>
6841 <li>
6842 <p>Wait for Windows to prepare new devices during firmware
6843 upgrade. This should avoid the “COMxx: open failed” message.</p>
6844 </li>
6845 </ul>
6846 </div>
6847 <div style="page-break-after: always;"></div>
6848 </div>
6849 </div>
6850 <div class="sect2">
6851 <h3 id="_release_notes_for_version_1_9">H.16. Release Notes for Version 1.9</h3>
6852 <div class="paragraph">
6853 <p>Version 1.9</p>
6854 </div>
6855 <div class="sect3">
6856 <h4 id="_altos_15">H.16.1. AltOS</h4>
6857 <div class="ulist">
6858 <ul>
6859 <li>
6860 <p>Add support for EasyMega v2.0</p>
6861 </li>
6862 <li>
6863 <p>Replace C library for ARM devices</p>
6864 </li>
6865 <li>
6866 <p>Remove support for 8051-based devices and SDCC compiler</p>
6867 </li>
6868 </ul>
6869 </div>
6870 </div>
6871 <div class="sect3">
6872 <h4 id="_altosui_telegps_micropeak_4">H.16.2. AltosUI, TeleGPS, MicroPeak</h4>
6873 <div class="ulist">
6874 <ul>
6875 <li>
6876 <p>Select ROM images based on product name when reflashing</p>
6877 </li>
6878 <li>
6879 <p>Fix TeleGPS v2 battery voltage display</p>
6880 </li>
6881 </ul>
6882 </div>
6883 <div style="page-break-after: always;"></div>
6884 </div>
6885 </div>
6886 <div class="sect2">
6887 <h3 id="_release_notes_for_version_1_8_7">H.17. Release Notes for Version 1.8.7</h3>
6888 <div class="paragraph">
6889 <p>Version 1.8.7</p>
6890 </div>
6891 <div class="sect3">
6892 <h4 id="_altos_16">H.17.1. AltOS</h4>
6893 <div class="ulist">
6894 <ul>
6895 <li>
6896 <p>Include TeleMega v3.0 firmware</p>
6897 </li>
6898 </ul>
6899 </div>
6900 </div>
6901 <div class="sect3">
6902 <h4 id="_altosui_telegps_micropeak_5">H.17.2. AltosUI, TeleGPS, MicroPeak</h4>
6903 <div class="ulist">
6904 <ul>
6905 <li>
6906 <p>Poll for new devices while Device dialog is displayed</p>
6907 </li>
6908 <li>
6909 <p>Wait for device to re-appear when flashing new firmware</p>
6910 </li>
6911 <li>
6912 <p>Fetch correct TeleBT v4.0 RF calibration values from web
6913 site when reflashing.</p>
6914 </li>
6915 <li>
6916 <p>Change gyro headings in .csv files from x/y/z to
6917 roll/pitch/yaw</p>
6918 </li>
6919 <li>
6920 <p>Add documentation about Packet Link mode</p>
6921 </li>
6922 <li>
6923 <p>Add documentation about forcing TeleMini RF parameters to
6924 known values.</p>
6925 </li>
6926 <li>
6927 <p>Create a proxy server for Google Maps to re-enable map
6928 images</p>
6929 </li>
6930 <li>
6931 <p>Fix Java version info in all distributed jar files so that
6932 applications will run with standard Mac OS X Java.</p>
6933 </li>
6934 <li>
6935 <p>Replace JavaApplicationStub for Mac OS X so that
6936 applications will run with Oracle Java.</p>
6937 </li>
6938 </ul>
6939 </div>
6940 <div style="page-break-after: always;"></div>
6941 </div>
6942 </div>
6943 <div class="sect2">
6944 <h3 id="_release_notes_for_version_1_8_6">H.18. Release Notes for Version 1.8.6</h3>
6945 <div class="paragraph">
6946 <p>Version 1.8.6</p>
6947 </div>
6948 <div class="sect3">
6949 <h4 id="_altos_17">H.18.1. AltOS</h4>
6950 <div class="ulist">
6951 <ul>
6952 <li>
6953 <p>Use maximum of 64 previous tilt values in pyro tilt tests</p>
6954 </li>
6955 <li>
6956 <p>Eliminate 100m height requirement for coast detection</p>
6957 </li>
6958 <li>
6959 <p>Change After Motor pyro check to be &gt;= instead of ==</p>
6960 </li>
6961 <li>
6962 <p>Change Time since Boost to be Time since launch.</p>
6963 </li>
6964 </ul>
6965 </div>
6966 </div>
6967 <div class="sect3">
6968 <h4 id="_altosui_telegps">H.18.2. AltosUI, TeleGPS</h4>
6969 <div class="ulist">
6970 <ul>
6971 <li>
6972 <p>Clarify pyro test phrasing</p>
6973 </li>
6974 <li>
6975 <p>Remove ascending/descending from pyro config UI</p>
6976 </li>
6977 <li>
6978 <p>Fix accel calibration in Antenna Down mode</p>
6979 </li>
6980 <li>
6981 <p>Add mag sensor reporting for TeleMega v3 idle monitoring.</p>
6982 </li>
6983 <li>
6984 <p>Fix radio parameter saving at 2400 bps telmetry rate.</p>
6985 </li>
6986 </ul>
6987 </div>
6988 </div>
6989 <div class="sect3">
6990 <h4 id="_micropeak">H.18.3. MicroPeak</h4>
6991 <div class="ulist">
6992 <ul>
6993 <li>
6994 <p>Report altimeter-recorded maximum height value</p>
6995 </li>
6996 </ul>
6997 </div>
6998 <div style="page-break-after: always;"></div>
6999 </div>
7000 </div>
7001 <div class="sect2">
7002 <h3 id="_release_notes_for_version_1_8_5">H.19. Release Notes for Version 1.8.5</h3>
7003 <div class="paragraph">
7004 <p>Version 1.8.5 includes fixes to the ground software support
7005 for TeleBT v4, along with a few other minor updates.</p>
7006 </div>
7007 <div class="sect3">
7008 <h4 id="_altos_18">H.19.1. AltOS</h4>
7009 <div class="ulist">
7010 <ul>
7011 <li>
7012 <p>Fix startup beeps that indicate sensor failures.</p>
7013 </li>
7014 </ul>
7015 </div>
7016 </div>
7017 <div class="sect3">
7018 <h4 id="_altosui_telegps_2">H.19.2. AltosUI, TeleGPS</h4>
7019 <div class="ulist">
7020 <ul>
7021 <li>
7022 <p>When updating device firmware, make sure selected firmware
7023 matches target device.</p>
7024 </li>
7025 <li>
7026 <p>Correct Bluetooth device matching when looking for TeleBT
7027 devices.</p>
7028 </li>
7029 </ul>
7030 </div>
7031 <div style="page-break-after: always;"></div>
7032 </div>
7033 </div>
7034 <div class="sect2">
7035 <h3 id="_release_notes_for_version_1_8_4">H.20. Release Notes for Version 1.8.4</h3>
7036 <div class="paragraph">
7037 <p>Version 1.8.4 includes support for EasyMini version 2.0</p>
7038 </div>
7039 <div class="sect3">
7040 <h4 id="_altos_19">H.20.1. AltOS</h4>
7041 <div class="ulist">
7042 <ul>
7043 <li>
7044 <p>Support for EasyMini version 2.0 hardware.</p>
7045 </li>
7046 </ul>
7047 </div>
7048 <div style="page-break-after: always;"></div>
7049 </div>
7050 </div>
7051 <div class="sect2">
7052 <h3 id="_release_notes_for_version_1_8_3">H.21. Release Notes for Version 1.8.3</h3>
7053 <div class="paragraph">
7054 <p>Version 1.8.3 includes support for TeleMega version 3.0 along
7055 with two important flight computer fixes. This version also
7056 changes KML export data to make Tripoli Record reporting
7057 better and some updates to graph presentation and data
7058 downloading.</p>
7059 </div>
7060 <div class="sect3">
7061 <h4 id="_altos_20">H.21.1. AltOS</h4>
7062 <div class="sect4">
7063 <h5 id="_altos_new_features">AltOS New Features</h5>
7064 <div class="ulist">
7065 <ul>
7066 <li>
7067 <p>Support for TeleMega version 3.0 hardware.</p>
7068 </li>
7069 </ul>
7070 </div>
7071 </div>
7072 <div class="sect4">
7073 <h5 id="_altos_bug_fixes">AltOS Bug Fixes</h5>
7074 <div class="ulist">
7075 <ul>
7076 <li>
7077 <p>Ground testing EasyMega and TeleMega additional pyro
7078 channels could result in a sticky 'fired' status which would
7079 prevent these channels from firing on future flights.</p>
7080 </li>
7081 <li>
7082 <p>Corrupted flight log records could prevent future flights
7083 from capturing log data.</p>
7084 </li>
7085 <li>
7086 <p>Fixed saving of pyro configuration that ended with
7087 'Descending'.</p>
7088 </li>
7089 </ul>
7090 </div>
7091 </div>
7092 </div>
7093 <div class="sect3">
7094 <h4 id="_altosui_and_telegps_applications">H.21.2. AltosUI and TeleGPS Applications</h4>
7095 <div class="sect4">
7096 <h5 id="_altosui_new_features">AltosUI New Features</h5>
7097 <div class="ulist">
7098 <ul>
7099 <li>
7100 <p>Support for TeleMega version 3.0.</p>
7101 </li>
7102 <li>
7103 <p>Graph lines have improved appearance to make them easier to
7104 distinguish. Markers may be placed at data points to show
7105 captured recorded data values.</p>
7106 </li>
7107 <li>
7108 <p>Graphing offers the ability to adjust the smoothing of
7109 computed speed and acceleration data.</p>
7110 </li>
7111 <li>
7112 <p>The download dialog now offers to graph new flights, checks
7113 for existing files to avoid overwriting data and reports if
7114 there are checksum errors in the downloaded data.</p>
7115 </li>
7116 </ul>
7117 </div>
7118 </div>
7119 <div class="sect4">
7120 <h5 id="_altosuitelegps_bug_fixes">AltosUI/TeleGPS Bug Fixes</h5>
7121 <div class="ulist">
7122 <ul>
7123 <li>
7124 <p>Restore TeleGPS tracking behavior.</p>
7125 </li>
7126 <li>
7127 <p>Display flight computer call sign and serial number in
7128 Monitor Idle mode instead of ground station values.</p>
7129 </li>
7130 </ul>
7131 </div>
7132 </div>
7133 <div class="sect4">
7134 <h5 id="_altosui_and_telegps_changes">AltosUI and TeleGPS Changes</h5>
7135 <div class="ulist">
7136 <ul>
7137 <li>
7138 <p>KML export now reports both barometric and GPS altitude data
7139 to make it more useful for Tripoli record reporting.</p>
7140 </li>
7141 <li>
7142 <p>CSV export now includes TeleMega/EasyMega pyro voltages and
7143 tilt angle.</p>
7144 </li>
7145 </ul>
7146 </div>
7147 <div style="page-break-after: always;"></div>
7148 </div>
7149 </div>
7150 </div>
7151 <div class="sect2">
7152 <h3 id="_release_notes_for_version_1_8_2">H.22. Release Notes for Version 1.8.2</h3>
7153 <div class="paragraph">
7154 <p>Version 1.8.2 includes support for TeleGPS version 2.0 along
7155 with accelerometer recalibration support in AltosUI.</p>
7156 </div>
7157 <div class="paragraph">
7158 <p>1.8.2 also contains a couple of minor fixes for AltosUI when
7159 analyzing saved data files.</p>
7160 </div>
7161 <div class="sect3">
7162 <h4 id="_altos_21">H.22.1. AltOS</h4>
7163 <div class="paragraph">
7164 <p>AltOS New Features</p>
7165 </div>
7166 <div class="ulist">
7167 <ul>
7168 <li>
7169 <p>Support for TeleGPS version 2.0 hardware.</p>
7170 </li>
7171 </ul>
7172 </div>
7173 </div>
7174 <div class="sect3">
7175 <h4 id="_altosui_and_telegps_applications_2">H.22.2. AltosUI and TeleGPS Applications</h4>
7176 <div class="paragraph">
7177 <p>AltosUI and TeleGPS New Features</p>
7178 </div>
7179 <div class="ulist">
7180 <ul>
7181 <li>
7182 <p>Support for TeleGPS version 2.0.</p>
7183 </li>
7184 <li>
7185 <p>Accelerometer re-calibration user interface.</p>
7186 </li>
7187 </ul>
7188 </div>
7189 <div class="paragraph">
7190 <p>AltosUI and TeleGPS Bug Fixes</p>
7191 </div>
7192 <div class="ulist">
7193 <ul>
7194 <li>
7195 <p>Prevent some crashes when reading older saved flight data
7196 for graphing or KML export.</p>
7197 </li>
7198 </ul>
7199 </div>
7200 <div style="page-break-after: always;"></div>
7201 </div>
7202 </div>
7203 <div class="sect2">
7204 <h3 id="_release_notes_for_version_1_8_1">H.23. Release Notes for Version 1.8.1</h3>
7205 <div class="paragraph">
7206 <p>Version 1.8.1 includes an important bug fix for Apogee Lockout
7207 operation in all flight computers. Anyone using this option
7208 must update firmware.</p>
7209 </div>
7210 <div class="paragraph">
7211 <p>This release also contains a change in how flight computers
7212 with accelerometers deal with speeds around and above Mach
7213 1. In previous versions, the flight computer would completely
7214 disregard the barometric sensor above 330m/s (around Mach
7215 1). Now, the data from the barometric sensor is reduced in
7216 effect without ever going away entirely. This prevents early
7217 drogue deployment for flights which spend considerable time
7218 above Mach 1.</p>
7219 </div>
7220 <div class="paragraph">
7221 <p>1.8.1 also contains a couple of minor fixes for AltosUI when
7222 analyzing saved data files.</p>
7223 </div>
7224 <div class="sect3">
7225 <h4 id="_altos_22">H.23.1. AltOS</h4>
7226 <div class="paragraph">
7227 <p>AltOS Bug Fixes</p>
7228 </div>
7229 <div class="ulist">
7230 <ul>
7231 <li>
7232 <p>Handle time value wrapping in Apogee Lockout
7233 correctly. Without this, apogee lockout would sometimes
7234 prevent any drogue charge from firing.</p>
7235 </li>
7236 <li>
7237 <p>Change Kalman filter on flight computers with accelerometer
7238 to continue using the barometric sensor even at high speeds
7239 to avoid unintentional drogue deployment during
7240 deceleration.</p>
7241 </li>
7242 </ul>
7243 </div>
7244 </div>
7245 <div class="sect3">
7246 <h4 id="_altosui_and_telegps_applications_3">H.23.2. AltosUI and TeleGPS Applications</h4>
7247 <div class="paragraph">
7248 <p>AltosUI New Features</p>
7249 </div>
7250 <div class="ulist">
7251 <ul>
7252 <li>
7253 <p>Add new 'Huge' font size to make text even bigger on high
7254 resolution monitors.</p>
7255 </li>
7256 </ul>
7257 </div>
7258 <div class="paragraph">
7259 <p>AltosUI Bug Fixes</p>
7260 </div>
7261 <div class="ulist">
7262 <ul>
7263 <li>
7264 <p>Prevent some crashes when reading older saved flight data
7265 for graphing or KML export.</p>
7266 </li>
7267 <li>
7268 <p>Load frequency preference at startup. The loading code was
7269 broken, so you&#8217;d see only the default frequencies.</p>
7270 </li>
7271 </ul>
7272 </div>
7273 <div style="page-break-after: always;"></div>
7274 </div>
7275 </div>
7276 <div class="sect2">
7277 <h3 id="_release_notes_for_version_1_8">H.24. Release Notes for Version 1.8</h3>
7278 <div class="paragraph">
7279 <p>Version 1.8 includes support for our new TeleBT v4.0 ground
7280 station, updates for data analysis in our ground station
7281 software and bug fixes in in the flight software for all our
7282 boards and ground station interfaces.</p>
7283 </div>
7284 <div class="sect3">
7285 <h4 id="_altos_23">H.24.1. AltOS</h4>
7286 <div class="paragraph">
7287 <p>AltOS New Features</p>
7288 </div>
7289 <div class="ulist">
7290 <ul>
7291 <li>
7292 <p>Add support for TeleBT v4.0 boards.</p>
7293 </li>
7294 </ul>
7295 </div>
7296 </div>
7297 <div class="sect3">
7298 <h4 id="_altosui_and_telegps_applications_4">H.24.2. AltosUI and TeleGPS Applications</h4>
7299 <div class="paragraph">
7300 <p>AltosUI New Features</p>
7301 </div>
7302 <div class="ulist">
7303 <ul>
7304 <li>
7305 <p>Add support for TeleBT v4.0 hardware</p>
7306 </li>
7307 <li>
7308 <p>Rewrite graphing and export functions. This code now handles
7309 each data series separately so that graphs are drawn
7310 correctly. Smoothing now uses a filter that looks both
7311 forward and backwards in time to make computed speed and
7312 acceleration data more accurate.</p>
7313 </li>
7314 </ul>
7315 </div>
7316 <div class="paragraph">
7317 <p>AltosUI Bug Fixes</p>
7318 </div>
7319 <div class="ulist">
7320 <ul>
7321 <li>
7322 <p>Correct axis labeling of magnetic sensor in TeleMega and
7323 EasyMega. The Y and Z axes were flipped.</p>
7324 </li>
7325 </ul>
7326 </div>
7327 <div style="page-break-after: always;"></div>
7328 </div>
7329 </div>
7330 <div class="sect2">
7331 <h3 id="_release_notes_for_version_1_7">H.25. Release Notes for Version 1.7</h3>
7332 <div class="paragraph">
7333 <p>Version 1.7 includes support for our new TeleMini v3.0
7334 flight computer and bug fixes in in the flight software for all our boards
7335 and ground station interfaces.</p>
7336 </div>
7337 <div class="sect3">
7338 <h4 id="_altos_24">H.25.1. AltOS</h4>
7339 <div class="paragraph">
7340 <p>AltOS New Features</p>
7341 </div>
7342 <div class="ulist">
7343 <ul>
7344 <li>
7345 <p>Add support for TeleMini v3.0 boards.</p>
7346 </li>
7347 </ul>
7348 </div>
7349 <div class="paragraph">
7350 <p>AltOS Fixes</p>
7351 </div>
7352 <div class="ulist">
7353 <ul>
7354 <li>
7355 <p>Fix interrupt priorities on STM32L processors. Run timer
7356 interrupt at lowest priority so that device interrupts get
7357 serviced first.</p>
7358 </li>
7359 </ul>
7360 </div>
7361 </div>
7362 <div class="sect3">
7363 <h4 id="_altosui_and_telegps_applications_5">H.25.2. AltosUI and TeleGPS Applications</h4>
7364 <div class="paragraph">
7365 <p>AltosUI New Features</p>
7366 </div>
7367 <div class="ulist">
7368 <ul>
7369 <li>
7370 <p>Add support for TeleMini v3.0 hardware</p>
7371 </li>
7372 </ul>
7373 </div>
7374 <div style="page-break-after: always;"></div>
7375 </div>
7376 </div>
7377 <div class="sect2">
7378 <h3 id="_release_notes_for_version_1_6_8">H.26. Release Notes for Version 1.6.8</h3>
7379 <div class="paragraph">
7380 <p>Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where
7381 the device could stop logging data and transmitting
7382 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
7383 v2.0 users should update their flight firmware.</p>
7384 </div>
7385 <div class="sect3">
7386 <h4 id="_altos_25">H.26.1. AltOS</h4>
7387 <div class="paragraph">
7388 <p>AltOS fixes:</p>
7389 </div>
7390 <div class="ulist">
7391 <ul>
7392 <li>
7393 <p>Fix STM32L DMA driver to work around STM32L SoC DMA priority
7394 issue t lock-up in the logging or radio code, either of
7395 which could stop data logging and telemetry.</p>
7396 </li>
7397 <li>
7398 <p>Avoid having TeleBT battery status values smash telemetry
7399 packet data by holding a lock during both operations.</p>
7400 </li>
7401 <li>
7402 <p>Don&#8217;t start reporting 'flight 0' when the log fills in
7403 flight.</p>
7404 </li>
7405 </ul>
7406 </div>
7407 <div class="paragraph">
7408 <p>AltOS changes:</p>
7409 </div>
7410 <div class="ulist">
7411 <ul>
7412 <li>
7413 <p>Flash LEDS on all products briefly during power up so that
7414 they can be tested during production.</p>
7415 </li>
7416 </ul>
7417 </div>
7418 </div>
7419 <div class="sect3">
7420 <h4 id="_altosui_telegps_and_altosdroid_applications">H.26.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
7421 <div class="paragraph">
7422 <p>AltosUI fixes:</p>
7423 </div>
7424 <div class="ulist">
7425 <ul>
7426 <li>
7427 <p>Re-enable go/no-go entries after they&#8217;ve been disabled due
7428 to lack of data. If telemetry information is delayed when
7429 the Ui starts up, sometimes important fields would get
7430 disabled to never re-appear.</p>
7431 </li>
7432 <li>
7433 <p>Deal with ground station failure better during Configure
7434 Ground Station operation by cleaning up pending operations.</p>
7435 </li>
7436 </ul>
7437 </div>
7438 <div style="page-break-after: always;"></div>
7439 </div>
7440 </div>
7441 <div class="sect2">
7442 <h3 id="_release_notes_for_version_1_6_5">H.27. Release Notes for Version 1.6.5</h3>
7443 <div class="paragraph">
7444 <p>Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where
7445 the device would often stop logging data and transmitting
7446 telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
7447 v2.0 users should update their flight firmware.</p>
7448 </div>
7449 <div class="sect3">
7450 <h4 id="_altos_26">H.27.1. AltOS</h4>
7451 <div class="paragraph">
7452 <p>AltOS fixes:</p>
7453 </div>
7454 <div class="ulist">
7455 <ul>
7456 <li>
7457 <p>Fix STM32L SPI driver to prevent lock-up in the logging or
7458 radio code, either of which could stop data logging and
7459 telemetry. Found and characterized by Chuck Haskin, who also
7460 tested the new firmware before release.</p>
7461 </li>
7462 </ul>
7463 </div>
7464 </div>
7465 <div class="sect3">
7466 <h4 id="_altosui_telegps_and_altosdroid_applications_2">H.27.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
7467 <div class="paragraph">
7468 <p>AltosUI fixes:</p>
7469 </div>
7470 <div class="ulist">
7471 <ul>
7472 <li>
7473 <p>Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with
7474 Windows package.</p>
7475 </li>
7476 </ul>
7477 </div>
7478 <div style="page-break-after: always;"></div>
7479 </div>
7480 </div>
7481 <div class="sect2">
7482 <h3 id="_release_notes_for_version_1_6_4">H.28. Release Notes for Version 1.6.4</h3>
7483 <div class="paragraph">
7484 <p>Version 1.6.4 fixes a bluetooth communication problem with
7485 TeleBT v1.0 devices, along with some altosui and altosdroid
7486 minor nits. It also now ships firmware for some newer devices.</p>
7487 </div>
7488 <div class="sect3">
7489 <h4 id="_altos_27">H.28.1. AltOS</h4>
7490 <div class="paragraph">
7491 <p>AltOS fixes:</p>
7492 </div>
7493 <div class="ulist">
7494 <ul>
7495 <li>
7496 <p>Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS
7497 doesn&#8217;t seem to work, switch from using the hardware to
7498 driving these pins with software.</p>
7499 </li>
7500 <li>
7501 <p>Fix ARM USB drivers to deal with OS restarts. Needed to
7502 reset all USB-related state when the USB bus is reset. These
7503 fixes affect all STM32L, STM32F0 and LPC11U14 based devices.</p>
7504 </li>
7505 </ul>
7506 </div>
7507 </div>
7508 <div class="sect3">
7509 <h4 id="_altosui_telegps_and_altosdroid_applications_3">H.28.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
7510 <div class="paragraph">
7511 <p>AltosUI, TeleGPS and AltosDroid New Features:</p>
7512 </div>
7513 <div class="ulist">
7514 <ul>
7515 <li>
7516 <p>Automatically switch from meters or feet to kilometers or
7517 miles for distance units.</p>
7518 </li>
7519 <li>
7520 <p>Add Monitor Idle mode to TeleGPS application.</p>
7521 </li>
7522 </ul>
7523 </div>
7524 <div class="paragraph">
7525 <p>AltosUI, TeleGPS and AltosDroid Fixes:</p>
7526 </div>
7527 <div class="ulist">
7528 <ul>
7529 <li>
7530 <p>Abort map preloading when the preload map dialog is closed.</p>
7531 </li>
7532 <li>
7533 <p>In AltosDroid, Don&#8217;t reconnect to last device if the user
7534 had disconnected it the last time the application was
7535 active.</p>
7536 </li>
7537 </ul>
7538 </div>
7539 </div>
7540 <div class="sect3">
7541 <h4 id="_documentation">H.28.3. Documentation</h4>
7542 <div class="ulist">
7543 <ul>
7544 <li>
7545 <p>Mention TeleMega v2.0 in hardware specs table.</p>
7546 </li>
7547 <li>
7548 <p>Document TeleGPS RF output in telegps manual.</p>
7549 </li>
7550 </ul>
7551 </div>
7552 <div style="page-break-after: always;"></div>
7553 </div>
7554 </div>
7555 <div class="sect2">
7556 <h3 id="_release_notes_for_version_1_6_3">H.29. Release Notes for Version 1.6.3</h3>
7557 <div class="paragraph">
7558 <p>Version 1.6.3 adds idle mode to AltosDroid and has bug fixes
7559 for our host software on desktops, laptops an android devices
7560 along with BlueTooth support for Windows.</p>
7561 </div>
7562 <div class="sect3">
7563 <h4 id="_altos_28">H.29.1. AltOS</h4>
7564 <div class="paragraph">
7565 <p>AltOS fixes:</p>
7566 </div>
7567 <div class="ulist">
7568 <ul>
7569 <li>
7570 <p>Fix hardware flow control on TeleBT v3.0. RTS/CTS is
7571 wired backwards on this board, switch from using the
7572 hardware to driving these pins with software.</p>
7573 </li>
7574 </ul>
7575 </div>
7576 </div>
7577 <div class="sect3">
7578 <h4 id="_altosui_and_telegps_applications_6">H.29.2. AltosUI and TeleGPS Applications</h4>
7579 <div class="paragraph">
7580 <p>AltosUI and TeleGPS New Features:</p>
7581 </div>
7582 <div class="ulist">
7583 <ul>
7584 <li>
7585 <p>Add BlueTooth support for Windows operating system. This
7586 supports connections to TeleBT over BlueTooth rather than
7587 just USB.</p>
7588 </li>
7589 </ul>
7590 </div>
7591 <div class="paragraph">
7592 <p>AltosUI and TeleGPS Fixes:</p>
7593 </div>
7594 <div class="ulist">
7595 <ul>
7596 <li>
7597 <p>Change Java detection and install on Windows. Detection is
7598 now done by looking for the 'javaw.exe' program, and
7599 installation by opening a browser on the java.com web site.</p>
7600 </li>
7601 <li>
7602 <p>Delay polling while the Fire Igniters is visible to allow
7603 for TeleMega to report back complete status over the radio.</p>
7604 </li>
7605 <li>
7606 <p>Disallow changing RF calibration numbers in the
7607 configuration UI. There&#8217;s no good reason to change this from
7608 the field, and recovering is really hard if you haven&#8217;t
7609 written down the right number.</p>
7610 </li>
7611 <li>
7612 <p>Fix USB device discovery on Mac OS X El Capitan. This makes
7613 the connected Altus Metrum USB devices appear again.</p>
7614 </li>
7615 <li>
7616 <p>Fix acceleration data presented in MonitorIdle mode for
7617 TeleMetrum v2.0 flight computers.</p>
7618 </li>
7619 </ul>
7620 </div>
7621 </div>
7622 <div class="sect3">
7623 <h4 id="_altosdroid_7">H.29.3. AltosDroid</h4>
7624 <div class="paragraph">
7625 <p>AltosDroid new features:</p>
7626 </div>
7627 <div class="ulist">
7628 <ul>
7629 <li>
7630 <p>Monitor Idle mode. Check state of flight computer while in
7631 idle mode over the radio link</p>
7632 </li>
7633 <li>
7634 <p>Fire Igniters. Remotely fire ignires for recovery system
7635 ground tests.</p>
7636 </li>
7637 <li>
7638 <p>Remote reboot. Cause the flight computer to reboot over the
7639 radio link. This provides a method for switching the flight
7640 computer from idle to flight mode without needing to reach
7641 the power switch.</p>
7642 </li>
7643 <li>
7644 <p>Configurable frequency menu. Change the set of available
7645 frequencies and provide more descriptive names.</p>
7646 </li>
7647 </ul>
7648 </div>
7649 <div class="paragraph">
7650 <p>AltosDroid bug fixes:</p>
7651 </div>
7652 <div class="ulist">
7653 <ul>
7654 <li>
7655 <p>Don&#8217;t set target location if GPS hasn&#8217;t locked yet.</p>
7656 </li>
7657 <li>
7658 <p>Fix saving target states so they can be reloaded when the
7659 application restarts. When the application is shut down and
7660 restarted, all previous target state information will be
7661 restored (including GPS position if available).</p>
7662 </li>
7663 <li>
7664 <p>Fix crash on some Android devices for offline maps when
7665 changing the map scale or location.</p>
7666 </li>
7667 <li>
7668 <p>Don&#8217;t require USB OTG support. This kept the latest
7669 AltosDroid from being offered on devices without USB device
7670 support, although it can work without that just fine using
7671 BlueTooth.</p>
7672 </li>
7673 <li>
7674 <p>Don&#8217;t require bluetooth to be enabled. This allows the
7675 application to operate with USB devices or just show old
7676 data without turning on the bluetooth radio.</p>
7677 </li>
7678 <li>
7679 <p>Recover old tracker positions when restarting
7680 application. This finally allows you to safely stop and
7681 restart the application without losing the last known
7682 location of any tracker.</p>
7683 </li>
7684 </ul>
7685 </div>
7686 </div>
7687 <div class="sect3">
7688 <h4 id="_documentation_2">H.29.4. Documentation</h4>
7689 <div class="ulist">
7690 <ul>
7691 <li>
7692 <p>Document TeleMega and EasyMega additional pyro channel
7693 continuity audio alert pattern.</p>
7694 </li>
7695 </ul>
7696 </div>
7697 <div style="page-break-after: always;"></div>
7698 </div>
7699 </div>
7700 <div class="sect2">
7701 <h3 id="_release_notes_for_version_1_6_2">H.30. Release Notes for Version 1.6.2</h3>
7702 <div class="paragraph">
7703 <p>Version 1.6.2 includes support for our updated TeleMega v2.0
7704 product and bug fixes in in the flight software for all our boards
7705 and ground station interfaces.</p>
7706 </div>
7707 <div class="sect3">
7708 <h4 id="_altos_29">H.30.1. AltOS</h4>
7709 <div class="paragraph">
7710 <p>AltOS New Features:</p>
7711 </div>
7712 <div class="ulist">
7713 <ul>
7714 <li>
7715 <p>Add support for TeleMega v2.0 boards.</p>
7716 </li>
7717 <li>
7718 <p>Add PWM servo driver. There&#8217;s no higher level code using
7719 this yet, but the driver allows testing of the TeleMega v2.0
7720 servo output connector.</p>
7721 </li>
7722 </ul>
7723 </div>
7724 <div class="paragraph">
7725 <p>AltOS Fixes:</p>
7726 </div>
7727 <div class="ulist">
7728 <ul>
7729 <li>
7730 <p>Slow down telemetry packets to allow receiver to keep
7731 up.</p>
7732 </li>
7733 </ul>
7734 </div>
7735 </div>
7736 <div class="sect3">
7737 <h4 id="_altosui_and_telegps_applications_7">H.30.2. AltosUI and TeleGPS Applications</h4>
7738 <div class="paragraph">
7739 <p>AltosUI and TeleGPS Fixes:</p>
7740 </div>
7741 <div class="ulist">
7742 <ul>
7743 <li>
7744 <p>Fix post-flight orientation computation when processing
7745 TeleMega and EasyMega eeprom data files.</p>
7746 </li>
7747 <li>
7748 <p>Capture complete eeprom data even when there are invalid
7749 entries in the data. This keeps reading eeprom contents and
7750 writing the associated .eeprom file when an error is detected.</p>
7751 </li>
7752 </ul>
7753 </div>
7754 </div>
7755 <div class="sect3">
7756 <h4 id="_documentation_3">H.30.3. Documentation</h4>
7757 <div class="paragraph">
7758 <p>We spent a bunch of time trying to improve our documentation</p>
7759 </div>
7760 <div class="ulist">
7761 <ul>
7762 <li>
7763 <p>HTML versions now have a table of contents on the left side.</p>
7764 </li>
7765 <li>
7766 <p>EasyMini now has its own shorter manual.</p>
7767 </li>
7768 <li>
7769 <p>Provide links between sections in each document.</p>
7770 </li>
7771 <li>
7772 <p>Lots of minor rewriting and restructuring to avoid
7773 duplication of information</p>
7774 </li>
7775 </ul>
7776 </div>
7777 <div style="page-break-after: always;"></div>
7778 </div>
7779 </div>
7780 <div class="sect2">
7781 <h3 id="_release_notes_for_version_1_6_1">H.31. Release Notes for Version 1.6.1</h3>
7782 <div class="paragraph">
7783 <p>Version 1.6.1 includes support for our updated TeleBT v3.0
7784 product and bug fixes in in the flight software for all our boards
7785 and ground station interfaces.</p>
7786 </div>
7787 <div class="sect3">
7788 <h4 id="_altos_30">H.31.1. AltOS</h4>
7789 <div class="paragraph">
7790 <p>AltOS New Features:</p>
7791 </div>
7792 <div class="ulist">
7793 <ul>
7794 <li>
7795 <p>Add support for TeleBT v3.0 boards.</p>
7796 </li>
7797 <li>
7798 <p>Add support for uncompressed APRS data, providing support
7799 for older APRS receivers. Uncompressed APRS data is less
7800 precise, takes more bandwidth and doesn&#8217;t have integrated
7801 altitude data.</p>
7802 </li>
7803 </ul>
7804 </div>
7805 <div class="paragraph">
7806 <p>AltOS Fixes:</p>
7807 </div>
7808 <div class="ulist">
7809 <ul>
7810 <li>
7811 <p>Make TeleDongle and TeleBT more tolerant of data rate
7812 variations from transmitting devices.</p>
7813 </li>
7814 </ul>
7815 </div>
7816 </div>
7817 <div class="sect3">
7818 <h4 id="_altosui_and_telegps_applications_8">H.31.2. AltosUI and TeleGPS Applications</h4>
7819 <div class="paragraph">
7820 <p>AltosUI and TeleGPS New Features:</p>
7821 </div>
7822 <div class="ulist">
7823 <ul>
7824 <li>
7825 <p>Add map to Monitor Idle display. It&#8217;s nice to be able to
7826 verify that maps are working, instead of needing to use
7827 Monitor Flight.</p>
7828 </li>
7829 </ul>
7830 </div>
7831 <div class="paragraph">
7832 <p>AltosUI and TeleGPS Fixes:</p>
7833 </div>
7834 <div class="ulist">
7835 <ul>
7836 <li>
7837 <p>Fix frequency configuration to round values instead of
7838 truncate them, avoiding a common 1kHz error in the setting.</p>
7839 </li>
7840 <li>
7841 <p>Turn the Windows stub into a more useful program that can
7842 launch the application with parameters so that file manager
7843 icons work more reliably.</p>
7844 </li>
7845 <li>
7846 <p>Force KML export to use a C locale so that numbers are
7847 formatted with '.' instead of ',' for a decimal separator in
7848 non-US locales.</p>
7849 </li>
7850 <li>
7851 <p>Preload map tiles based on distance rather than number of
7852 tiles; this means you get the same resolution covering the
7853 entire area, rather than having high resolution near the
7854 center and low resolution further away.</p>
7855 </li>
7856 <li>
7857 <p>Allow configuration of frequency and callsign in Monitor
7858 Idle mode.</p>
7859 </li>
7860 <li>
7861 <p>Fix layout weirdness when resizing windows on
7862 Windows. Windows shouldn&#8217;t have giant blank spaces around
7863 the useful content anymore.</p>
7864 </li>
7865 <li>
7866 <p>Fix layout weirdness when resizing windows on
7867 Windows. Windows shouldn&#8217;t have giant blank spaces around
7868 the useful content anymore.</p>
7869 </li>
7870 <li>
7871 <p>Use a longer filter for descent speed values. This should
7872 provide something more useful on the display, although it
7873 will take longer to respond to changes now.</p>
7874 </li>
7875 <li>
7876 <p>Make Replay Flight run in realtime again. It had been set to
7877 run at 10x speed by mistake.</p>
7878 </li>
7879 </ul>
7880 </div>
7881 </div>
7882 <div class="sect3">
7883 <h4 id="_altosdroid_8">H.31.3. AltosDroid</h4>
7884 <div class="paragraph">
7885 <p>AltosDroid New Features:</p>
7886 </div>
7887 <div class="ulist">
7888 <ul>
7889 <li>
7890 <p>Add offline map support using mapping code from AltosUI.</p>
7891 </li>
7892 <li>
7893 <p>Support TeleDongle (and TeleBT via USB) on devices
7894 supporting USB On-The-Go.</p>
7895 </li>
7896 <li>
7897 <p>Display additional TeleMega pyro channel status in Pad tab.</p>
7898 </li>
7899 <li>
7900 <p>Switch between metric and imperial units.</p>
7901 </li>
7902 <li>
7903 <p>Monitor TeleBT battery voltage.</p>
7904 </li>
7905 <li>
7906 <p>Track multiple devices at the same time, selecting between
7907 them with a menu or using the map.</p>
7908 </li>
7909 <li>
7910 <p>Add hybrid, satellite and terrain map types.</p>
7911 </li>
7912 </ul>
7913 </div>
7914 <div class="paragraph">
7915 <p>AltosDroid Fixes:</p>
7916 </div>
7917 <div class="ulist">
7918 <ul>
7919 <li>
7920 <p>Use standard Android display conventions so that a menu
7921 button is available in the application title bar.</p>
7922 </li>
7923 <li>
7924 <p>Adjust layout to work on large and small screens; shrinking
7925 the go/no-go lights in smaller environments to try and make
7926 everything visible.</p>
7927 </li>
7928 <li>
7929 <p>Make voice announcements depend on current tab.</p>
7930 </li>
7931 <li>
7932 <p>Compute adjustment to current travel direction while in
7933 motion towards rocket.</p>
7934 </li>
7935 </ul>
7936 </div>
7937 <div style="page-break-after: always;"></div>
7938 </div>
7939 </div>
7940 <div class="sect2">
7941 <h3 id="_release_notes_for_version_1_6">H.32. Release Notes for Version 1.6</h3>
7942 <div class="paragraph">
7943 <p>Version 1.6 includes support for our updated TeleDongle v3.0
7944 product and bug fixes in in the flight software for all our boards
7945 and ground station interfaces.</p>
7946 </div>
7947 <div class="sect3">
7948 <h4 id="_altos_31">H.32.1. AltOS</h4>
7949 <div class="paragraph">
7950 <p>AltOS New Features</p>
7951 </div>
7952 <div class="ulist">
7953 <ul>
7954 <li>
7955 <p>Add support for TeleDongle v3.0 boards.</p>
7956 </li>
7957 </ul>
7958 </div>
7959 <div class="paragraph">
7960 <p>AltOS Fixes</p>
7961 </div>
7962 <div class="ulist">
7963 <ul>
7964 <li>
7965 <p>Don&#8217;t beep out the continuity twice by accident in idle mode.
7966 If the battery voltage report takes longer than the initialiation
7967 sequence, the igniter continuity would get reported twice.</p>
7968 </li>
7969 <li>
7970 <p>Record all 32 bits of gyro calibration data in TeleMega and
7971 EasyMega log files. This fixes computation of the gyro rates
7972 in AltosUI.</p>
7973 </li>
7974 <li>
7975 <p>Change TeleDongle LED usage. Green LED flashes when valid
7976 packet is received. Red LED flashes when invalid packet is
7977 received.</p>
7978 </li>
7979 <li>
7980 <p>Replace LPC11U14 SPI driver with non-interrupt version. The
7981 interrupt code would occasionally wedge on long transfers
7982 if interrupts were blocked for too long. This affects all
7983 released TeleGPS products; if you have a TeleGPS device,
7984 you&#8217;ll want to reflash the firmware.</p>
7985 </li>
7986 </ul>
7987 </div>
7988 </div>
7989 <div class="sect3">
7990 <h4 id="_altosui_and_telegps_applications_9">H.32.2. AltosUI and TeleGPS Applications</h4>
7991 <div class="paragraph">
7992 <p>AltosUI and TeleGPS New Features</p>
7993 </div>
7994 <div class="ulist">
7995 <ul>
7996 <li>
7997 <p>Compute tilt angle from TeleMega and EasyMega log
7998 files. This duplicates the quaternion-based angle tracking
7999 code from the flight firmware inside the ground station
8000 software so that post-flight analysis can include evaluation
8001 of the tilt angle.</p>
8002 </li>
8003 <li>
8004 <p>Shows the tool button window when starting with a data file
8005 specified. This means that opening a data file from the file
8006 manager will now bring up the main window to let you operate
8007 the whole application.</p>
8008 </li>
8009 </ul>
8010 </div>
8011 <div class="paragraph">
8012 <p>AltosUI Fixes</p>
8013 </div>
8014 <div class="ulist">
8015 <ul>
8016 <li>
8017 <p>Show the 'Connecting' dialog when using Monitor Idle. Lets
8018 you cancel the Monitor Idle startup when connecting over the
8019 radio link.</p>
8020 </li>
8021 <li>
8022 <p>Make 'Monitor Idle' work for TeleGPS devices when connected
8023 over USB. It&#8217;s nice for testing without needing to broadcast
8024 over the radio.</p>
8025 </li>
8026 <li>
8027 <p>Use different Windows API to discover USB devices. This
8028 works better on my Windows 7 box, and will be used if the
8029 older API fails to provide the necessary information.</p>
8030 </li>
8031 <li>
8032 <p>Look in more places in the registry to try and identify the
8033 installed Java version on Windows. If you install the
8034 default 32-bit version of Windows on a 64-bit OS, the Java
8035 registry information is hiding \SOFTWARE\Wow6432Node for
8036 some reason.</p>
8037 </li>
8038 <li>
8039 <p>Fix file association on Windows by searching for the
8040 javaw.exe program instead of assuming it is in
8041 %SYSTEMROOT%. This makes double-clicking on Altus Metrum
8042 data files in the file manager work correctly.</p>
8043 </li>
8044 <li>
8045 <p>When replaying a file, put 'done' in the Age field when we
8046 reach the end of the file, instead of continuing to count forever.</p>
8047 </li>
8048 <li>
8049 <p>In the Scan Channels code, wait for five seconds if we see
8050 any packet. This is needed because AltOS now sends the
8051 callsign, serial number and flight number only once every
8052 five seconds these days.</p>
8053 </li>
8054 <li>
8055 <p>In the Scan Channels code, reset pending flight state
8056 information each time we change channels. This avoids having
8057 flight computers appear on multiple frequencies by accident.</p>
8058 </li>
8059 </ul>
8060 </div>
8061 <div style="page-break-after: always;"></div>
8062 </div>
8063 </div>
8064 <div class="sect2">
8065 <h3 id="_release_notes_for_version_1_5">H.33. Release Notes for Version 1.5</h3>
8066 <div class="paragraph">
8067 <p>Version 1.5 is a major release. It includes support for our new
8068 EasyMega product, new features and bug fixes in in the flight
8069 software for all our boards and the AltosUI ground station</p>
8070 </div>
8071 <div class="sect3">
8072 <h4 id="_altos_32">H.33.1. AltOS</h4>
8073 <div class="paragraph">
8074 <p>AltOS New Features</p>
8075 </div>
8076 <div class="ulist">
8077 <ul>
8078 <li>
8079 <p>Add support for EasyMega boards.</p>
8080 </li>
8081 <li>
8082 <p>Make the APRS SSID be configurable. This lets you track
8083 different rockets on the same receiver without getting
8084 things mixed up.</p>
8085 </li>
8086 <li>
8087 <p>Report extra pyro channel continuity state on EasyMega and
8088 TeleMega via the beeper. This lets you easily verify flight
8089 readiness on these boards after powering up the electronics
8090 on the rail.</p>
8091 </li>
8092 <li>
8093 <p>Add lower telemetry data rates (2400 and 9600 bps) to
8094 increase telemetry radio range. This reduces the amount of
8095 data received as well as increasing battery consumption in
8096 the transmitter.</p>
8097 </li>
8098 <li>
8099 <p>Change TeleGPS to have only a single log, and append new
8100 data to it rather than using seperate per-flight logs. This
8101 avoids accidentally filling up log storage by turning
8102 TeleGPS on/off several times.</p>
8103 </li>
8104 </ul>
8105 </div>
8106 <div class="paragraph">
8107 <p>AltOS Fixes</p>
8108 </div>
8109 <div class="ulist">
8110 <ul>
8111 <li>
8112 <p>Increase the maximum range for altitude values from +/-32767m
8113 to +/-2147483647m, allowing the flight computers to function
8114 correctly above the 32km level.</p>
8115 </li>
8116 <li>
8117 <p>Continuously test pyro firing conditions during delay stage,
8118 inhibiting the pyro channel if the test fails. This prevents
8119 firing pyro charges where the conditions were good before
8120 the delay, but become bad before the delay expires.</p>
8121 </li>
8122 <li>
8123 <p>Allow negative numbers in pyro configuration values. This
8124 lets you specify things like descending speed or
8125 deceleration.</p>
8126 </li>
8127 </ul>
8128 </div>
8129 </div>
8130 <div class="sect3">
8131 <h4 id="_altosui_and_telegps_applications_10">H.33.2. AltosUI and TeleGPS Applications</h4>
8132 <div class="paragraph">
8133 <p>AltosUI and TeleGPS New Features</p>
8134 </div>
8135 <div class="ulist">
8136 <ul>
8137 <li>
8138 <p>Support telemetry baud rate selection. Adds menus to
8139 the flight monitoring and configuration for baud rate
8140 selection.</p>
8141 </li>
8142 <li>
8143 <p>Support APRS SSID configuration.</p>
8144 </li>
8145 <li>
8146 <p>Integrate with file managers. This provides icons for all of
8147 our file types and associates our application with the files
8148 so that using a file manager to open a AltOS data file
8149 results in launching our application.</p>
8150 </li>
8151 </ul>
8152 </div>
8153 <div class="paragraph">
8154 <p>AltosUI Fixes</p>
8155 </div>
8156 <div class="ulist">
8157 <ul>
8158 <li>
8159 <p>Make the 'Graph' button on the landed tab work again.</p>
8160 </li>
8161 <li>
8162 <p>Make tests for Java on Windows a bit smarter, and also
8163 provide the user with the option to skip installing Java for
8164 cases where we just can&#8217;t figure out what version is installed.</p>
8165 </li>
8166 </ul>
8167 </div>
8168 <div style="page-break-after: always;"></div>
8169 </div>
8170 </div>
8171 <div class="sect2">
8172 <h3 id="_release_notes_for_version_1_4_2">H.34. Release Notes for Version 1.4.2</h3>
8173 <div class="paragraph">
8174 <p>Version 1.4.2 is a minor release. It fixes Java-related install issues on
8175 Windows</p>
8176 </div>
8177 <div class="sect3">
8178 <h4 id="_altosui_and_telegps_applications_11">H.34.1. AltosUI and TeleGPS Applications</h4>
8179 <div class="paragraph">
8180 <p>Windows Install Fixes</p>
8181 </div>
8182 <div class="ulist">
8183 <ul>
8184 <li>
8185 <p>Checks for Java installation data in more registry locations.</p>
8186 </li>
8187 <li>
8188 <p>Allows user to bypass Java installation in case the
8189 detection fails.</p>
8190 </li>
8191 </ul>
8192 </div>
8193 <div style="page-break-after: always;"></div>
8194 </div>
8195 </div>
8196 <div class="sect2">
8197 <h3 id="_release_notes_for_version_1_4_1">H.35. Release Notes for Version 1.4.1</h3>
8198 <div class="paragraph">
8199 <p>Version 1.4.1 is a minor release. It fixes install issues on
8200 Windows and provides the missing TeleMetrum V2.0 firmware. There
8201 aren&#8217;t any changes to the firmware or host applications at
8202 all. All Windows users will want to upgrade to get the signed
8203 driver, but Mac and Linux users who do not need the TeleMetrum
8204 V2.0 firmware image will not need to upgrade.</p>
8205 </div>
8206 <div class="sect3">
8207 <h4 id="_altosui_and_telegps_applications_12">H.35.1. AltosUI and TeleGPS Applications:</h4>
8208 <div class="paragraph">
8209 <p>Windows Install Fixes</p>
8210 </div>
8211 <div class="ulist">
8212 <ul>
8213 <li>
8214 <p>Provide signed Windows driver files. This should avoid any need to
8215 disable driver signature checking on Windows 7 or 8.</p>
8216 </li>
8217 <li>
8218 <p>Fix Java version detection and download. Previously, the
8219 installer would only look for Java 6 or 7 and insist on
8220 downloading its own Java bits if there was something else
8221 installed. Furthermore, the 64-bit Java link provided didn&#8217;t
8222 work for anyone other than Keith, making it impossible to
8223 install AltOS on any machine with Java SE 8 installed.</p>
8224 </li>
8225 </ul>
8226 </div>
8227 <div class="paragraph">
8228 <p>Other Fixes</p>
8229 </div>
8230 <div class="ulist">
8231 <ul>
8232 <li>
8233 <p>Include 1.4 firmware for TeleMetrum V2.0. None of the
8234 installers shipped this file. Now it&#8217;s included in the AltOS
8235 packages for Linux, Mac and Windows.</p>
8236 </li>
8237 <li>
8238 <p>Include Google Application Key for map downloading. The 1.4
8239 release didn&#8217;t have this key in the released version of the
8240 software, making map downloading fail for most people.</p>
8241 </li>
8242 </ul>
8243 </div>
8244 <div style="page-break-after: always;"></div>
8245 </div>
8246 </div>
8247 <div class="sect2">
8248 <h3 id="_release_notes_for_version_1_4">H.36. Release Notes for Version 1.4</h3>
8249 <div class="paragraph">
8250 <p>Version 1.4 is a major release. It includes support for our new
8251 TeleGPS product, new features and bug fixes in in the flight
8252 software for all our boards and the AltosUI ground station</p>
8253 </div>
8254 <div class="sect3">
8255 <h4 id="_altos_33">H.36.1. AltOS</h4>
8256 <div class="paragraph">
8257 <p>AltOS new features:</p>
8258 </div>
8259 <div class="ulist">
8260 <ul>
8261 <li>
8262 <p>Add support for TeleGPS boards.</p>
8263 </li>
8264 <li>
8265 <p>Make the beeper tone configurable, making it
8266 possible to distinguish between two Altus Metrum
8267 products in the same ebay.</p>
8268 </li>
8269 <li>
8270 <p>Make the firing time for extra pyro channels
8271 configurable, allowing longer (or shorter) than the
8272 default 50ms.  Only relevant for TeleMega at this
8273 time.</p>
8274 </li>
8275 </ul>
8276 </div>
8277 <div class="paragraph">
8278 <p>AltOS fixes:</p>
8279 </div>
8280 <div class="ulist">
8281 <ul>
8282 <li>
8283 <p>Replace the 'dit dit dit' tones at startup with the
8284 current battery voltage, measured in tenths of a
8285 volt. This lets you check the battery voltage
8286 without needing telemetry, which is especially
8287 useful on EasyMini.</p>
8288 </li>
8289 <li>
8290 <p>Change state beeping to "Farnsworth spacing", which
8291 means they&#8217;re quite a bit faster than before, and so
8292 they take less time to send.</p>
8293 </li>
8294 <li>
8295 <p>Fix bug preventing the selection of the 'Flight
8296 State After' mode in pyro configuration.</p>
8297 </li>
8298 <li>
8299 <p>Fix bug where erasing flights would reset the flight
8300 number to 2 on TeleMega and TeleMetrum v2.</p>
8301 </li>
8302 <li>
8303 <p>Fix u-Blox GPS driver to mark course and speed data
8304 as being present.</p>
8305 </li>
8306 </ul>
8307 </div>
8308 </div>
8309 <div class="sect3">
8310 <h4 id="_altosui_application">H.36.2. AltosUI Application</h4>
8311 <div class="paragraph">
8312 <p>AltosUI new features:</p>
8313 </div>
8314 <div class="ulist">
8315 <ul>
8316 <li>
8317 <p>Add zooming and new content types (terrain and road
8318 maps) to map view. Change map storage format from
8319 PNG to Jpeg, which saves a huge amount of disk
8320 space. You will need to re-download all of your
8321 pre-loaded map images.</p>
8322 </li>
8323 <li>
8324 <p>Add a distance measuring device to the maps
8325 view. Select this by using any button other than the
8326 left one, or by pressing shift or control on the
8327 keyboard while using the left button.</p>
8328 </li>
8329 <li>
8330 <p>Add new 'Ignitor' tab to the flight monitor display
8331 for TeleMega&#8217;s extra ignitors.</p>
8332 </li>
8333 <li>
8334 <p>Add additional ignitor firing marks and voltages to
8335 the graph so you can see when the ignitors fired,
8336 along with the ignitor voltages.</p>
8337 </li>
8338 <li>
8339 <p>Add GPS course, ground speed and climb rate as
8340 optional graph elements.</p>
8341 </li>
8342 </ul>
8343 </div>
8344 <div class="paragraph">
8345 <p>AltosUI fixes:</p>
8346 </div>
8347 <div class="ulist">
8348 <ul>
8349 <li>
8350 <p>When flashing new firmware, re-try opening the
8351 device as sometimes it takes a while for the
8352 underlying operating system to recognize that the
8353 device has rebooted in preparation for the flashing
8354 operation.</p>
8355 </li>
8356 <li>
8357 <p>Hide Tilt Angle in ascent tab for devices that don&#8217;t
8358 have a gyro.</p>
8359 </li>
8360 <li>
8361 <p>Increase the width of data lines in the graphs to
8362 make them easier to read.</p>
8363 </li>
8364 <li>
8365 <p>Filter out speed and acceleration spikes caused by
8366 ejection charge firing when computing the maximum
8367 values. This provides a more accurate reading of
8368 those maximums.</p>
8369 </li>
8370 <li>
8371 <p>Fix EasyMini voltage displays. Early EasyMini
8372 prototypes used a 3.0V regulator, and AltosUI still
8373 used that value as the basis of the
8374 computation. Production EasyMini boards have always
8375 shipped with a 3.3V regulator. Also, purple EasyMini
8376 boards sensed the battery voltage past the blocking
8377 diode, resulting in a drop of about 150mV from the
8378 true battery voltage. Compensate for that when
8379 displaying the value.</p>
8380 </li>
8381 <li>
8382 <p>Display error message when trying to configure
8383 maximum flight log size while the flight computer
8384 still has flight data stored.</p>
8385 </li>
8386 <li>
8387 <p>Handle TeleMetrum and TeleMini eeprom files
8388 generated with pre-1.0 firmware. Those ancient
8389 versions didn&#8217;t report the log format, so just use
8390 the product name instead.</p>
8391 </li>
8392 </ul>
8393 </div>
8394 </div>
8395 <div class="sect3">
8396 <h4 id="_telegps_application">H.36.3. TeleGPS Application</h4>
8397 <div class="ulist">
8398 <ul>
8399 <li>
8400 <p>New application designed for use with TeleGPS boards.</p>
8401 </li>
8402 <li>
8403 <p>Shares code with AltosUI, mostly just trimmed down
8404 to focus on TeleGPS-related functions.</p>
8405 </li>
8406 </ul>
8407 </div>
8408 </div>
8409 <div class="sect3">
8410 <h4 id="_documentation_4">H.36.4. Documentation</h4>
8411 <div class="paragraph">
8412 <p>Documentation changes:</p>
8413 </div>
8414 <div class="ulist">
8415 <ul>
8416 <li>
8417 <p>Re-create the drill template images; they should
8418 print correctly from Firefox at least. Ship these as
8419 individual PDF files so they&#8217;re easy to print.</p>
8420 </li>
8421 <li>
8422 <p>Add a description of the 'Apogee Lockout' setting,
8423 which prevents the apogee charge from firing for a
8424 configurable amount of time after boost.</p>
8425 </li>
8426 </ul>
8427 </div>
8428 <div style="page-break-after: always;"></div>
8429 </div>
8430 </div>
8431 <div class="sect2">
8432 <h3 id="_release_notes_for_version_1_3_2">H.37. Release Notes for Version 1.3.2</h3>
8433 <div class="paragraph">
8434 <p>Version 1.3.2 is a minor release. It includes small bug fixes for
8435 the TeleMega flight software and AltosUI ground station</p>
8436 </div>
8437 <div class="sect3">
8438 <h4 id="_altos_34">H.37.1. AltOS</h4>
8439 <div class="paragraph">
8440 <p>AltOS fixes:</p>
8441 </div>
8442 <div class="ulist">
8443 <ul>
8444 <li>
8445 <p>On TeleMega, limit number of logged GPS status
8446 information to 12 satellites. That&#8217;s all there is
8447 room for in the log structure.</p>
8448 </li>
8449 <li>
8450 <p>Improve APRS behavior. Remembers last known GPS
8451 position and keeps sending that if we lose GPS
8452 lock. Marks locked/unlocked by sending L/U in the
8453 APRS comment field along with the number of sats in
8454 view and voltages.</p>
8455 </li>
8456 </ul>
8457 </div>
8458 </div>
8459 <div class="sect3">
8460 <h4 id="_altosui_application_2">H.37.2. AltosUI Application</h4>
8461 <div class="paragraph">
8462 <p>AltosUI fixes:</p>
8463 </div>
8464 <div class="ulist">
8465 <ul>
8466 <li>
8467 <p>If the TeleMega flight firmware reports that it has
8468 logged information about more than 12 satellites,
8469 don&#8217;t believe it as the log only holds 12 satellite
8470 records.</p>
8471 </li>
8472 <li>
8473 <p>Track the maximum height as computed from GPS
8474 altitude data and report that in the flight summary
8475 data.</p>
8476 </li>
8477 <li>
8478 <p>Use letters (A, B, C, D) for alternate pyro channel
8479 names instead of numbers (0, 1, 2, 3) in the Fire
8480 Igniter dialog.</p>
8481 </li>
8482 </ul>
8483 </div>
8484 <div style="page-break-after: always;"></div>
8485 </div>
8486 </div>
8487 <div class="sect2">
8488 <h3 id="_release_notes_for_version_1_3_1">H.38. Release Notes for Version 1.3.1</h3>
8489 <div class="paragraph">
8490 <p>Version 1.3.1 is a minor release. It improves support for
8491 TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini.</p>
8492 </div>
8493 <div class="sect3">
8494 <h4 id="_altos_35">H.38.1. AltOS</h4>
8495 <div class="paragraph">
8496 <p>AltOS new features:</p>
8497 </div>
8498 <div class="ulist">
8499 <ul>
8500 <li>
8501 <p>Improved APRS mode. Now uses compressed position
8502 format for smaller data size, improved precision and
8503 to include altitude data as well as latitude and
8504 longitude. Also added battery and pyro voltage
8505 reports in the APRS comment field so you can confirm
8506 that the unit is ready for launch.</p>
8507 </li>
8508 </ul>
8509 </div>
8510 <div class="paragraph">
8511 <p>AltOS fixes:</p>
8512 </div>
8513 <div class="ulist">
8514 <ul>
8515 <li>
8516 <p>Improve sensor boot code. If sensors fail to
8517 self-test, the device will still boot up and check
8518 for pad/idle modes. If in idle mode, the device will
8519 warn the user with a distinct beep, if in Pad mode,
8520 the unit will operate as best it can. Also, the
8521 Z-axis accelerometer now uses the factory
8522 calibration values instead of re-calibrating on the
8523 pad each time. This avoids accidental boost detect
8524 when moving the device around while in Pad mode.</p>
8525 </li>
8526 <li>
8527 <p>Fix antenna-down mode accelerometer
8528 configuration. Antenna down mode wasn&#8217;t working
8529 because the accelerometer calibration values were
8530 getting re-computed incorrectly in inverted mode.</p>
8531 </li>
8532 </ul>
8533 </div>
8534 </div>
8535 <div class="sect3">
8536 <h4 id="_altosui_application_3">H.38.2. AltosUI Application</h4>
8537 <div class="paragraph">
8538 <p>AltosUI new features:</p>
8539 </div>
8540 <div class="ulist">
8541 <ul>
8542 <li>
8543 <p>Display additional TeleMega sensor values in real
8544 units. Make all of these values available for
8545 plotting. Display TeleMega orientation value in the
8546 Ascent and Table tabs.</p>
8547 </li>
8548 <li>
8549 <p>Support additional TeleMega pyro channels in the
8550 Fire Igniter dialog. This lets you do remote testing
8551 of all of the channels, rather than just Apogee and
8552 Main.</p>
8553 </li>
8554 </ul>
8555 </div>
8556 <div class="paragraph">
8557 <p>AltosUI fixes:</p>
8558 </div>
8559 <div class="ulist">
8560 <ul>
8561 <li>
8562 <p>Limit data rate when downloading satellite images
8563 from Google to make sure we stay within their limits
8564 so that all of the map tiles download successfully.</p>
8565 </li>
8566 </ul>
8567 </div>
8568 <div style="page-break-after: always;"></div>
8569 </div>
8570 </div>
8571 <div class="sect2">
8572 <h3 id="_release_notes_for_version_1_3">H.39. Release Notes for Version 1.3</h3>
8573 <div class="paragraph">
8574 <p>Version 1.3 is a major release. It adds support for TeleMega,
8575 TeleMetrum v2.0, TeleMini v2.0 and EasyMini.</p>
8576 </div>
8577 <div class="sect3">
8578 <h4 id="_altos_36">H.39.1. AltOS</h4>
8579 <div class="paragraph">
8580 <p>AltOS new features:</p>
8581 </div>
8582 <div class="ulist">
8583 <ul>
8584 <li>
8585 <p>Add STM32L processor support. This includes
8586 enhancements to the scheduler to support products
8587 with many threads.</p>
8588 </li>
8589 <li>
8590 <p>Add NXP LPC11U14 processor support.</p>
8591 </li>
8592 <li>
8593 <p>Support additional pyro channels. These are
8594 configurable through the UI to handle air starts,
8595 staging, additional recovery events and external
8596 devices such as cameras.</p>
8597 </li>
8598 <li>
8599 <p>Add 3-axis gyro support for orientation
8600 tracking. This integrates the gyros to compute the
8601 angle from vertical during flight, allowing the
8602 additional pyro events to be controlled by this
8603 value.</p>
8604 </li>
8605 <li>
8606 <p>Many more device drivers, including u-Blox Max 7Q
8607 GPS, Freescale MMA6555 digital single-axis
8608 accelerometer, Invensense MPU6000 3-axis
8609 accelerometer + 3 axis gyro, Honeywell HMC5883
8610 3-axis magnetic sensor and the TI CC1120 and CC115L
8611 digital FM transceivers</p>
8612 </li>
8613 </ul>
8614 </div>
8615 </div>
8616 <div class="sect3">
8617 <h4 id="_altosui_application_4">H.39.2. AltosUI Application</h4>
8618 <div class="paragraph">
8619 <p>AltosUI new features:</p>
8620 </div>
8621 <div class="ulist">
8622 <ul>
8623 <li>
8624 <p>Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and
8625 EasyMini telemetry and log formats.</p>
8626 </li>
8627 </ul>
8628 </div>
8629 <div class="paragraph">
8630 <p>AltosUI fixes:</p>
8631 </div>
8632 <div class="ulist">
8633 <ul>
8634 <li>
8635 <p>Use preferred units for main deployment height
8636 configuration, instead of always doing configuration in
8637 meters.
8638 == MicroPeak Application</p>
8639 </li>
8640 <li>
8641 <p>Add 'Download' button to menu bar.</p>
8642 </li>
8643 <li>
8644 <p>Save the last log directory and offer that as the
8645 default for new downloads</p>
8646 </li>
8647 </ul>
8648 </div>
8649 <div style="page-break-after: always;"></div>
8650 </div>
8651 </div>
8652 <div class="sect2">
8653 <h3 id="_release_notes_for_version_1_2_1">H.40. Release Notes for Version 1.2.1</h3>
8654 <div class="paragraph">
8655 <p>Version 1.2.1 is a minor release. It adds support for TeleBT and
8656 the AltosDroid application, provides several new features in
8657 AltosUI and fixes some bugs in the AltOS firmware.</p>
8658 </div>
8659 <div class="sect3">
8660 <h4 id="_altos_37">H.40.1. AltOS</h4>
8661 <div class="paragraph">
8662 <p>AltOS new features:</p>
8663 </div>
8664 <div class="ulist">
8665 <ul>
8666 <li>
8667 <p>Add support for TeleBT</p>
8668 </li>
8669 </ul>
8670 </div>
8671 <div class="paragraph">
8672 <p>AltOS fixes:</p>
8673 </div>
8674 <div class="ulist">
8675 <ul>
8676 <li>
8677 <p>In TeleMini recovery mode (when booted with the
8678 outer two debug pins connected together), the radio
8679 parameters are also set back to defaults
8680 (434.550MHz, N0CALL, factory radio cal).</p>
8681 </li>
8682 <li>
8683 <p>Correct Kalman filter model error covariance
8684 matrix. The values used previously assumed
8685 continuous measurements instead of discrete
8686 measurements.</p>
8687 </li>
8688 <li>
8689 <p>Fix some bugs in the USB driver for TeleMetrum and
8690 TeleDongle that affected Windows users.</p>
8691 </li>
8692 <li>
8693 <p>Adjusted the automatic gain control parameters that
8694 affect receive performance for TeleDongle. Field
8695 tests indicate that this may improve receive
8696 performance somewhat.</p>
8697 </li>
8698 </ul>
8699 </div>
8700 </div>
8701 <div class="sect3">
8702 <h4 id="_altosui_application_5">H.40.2. AltosUI Application</h4>
8703 <div class="paragraph">
8704 <p>AltosUI application new features:</p>
8705 </div>
8706 <div class="ulist">
8707 <ul>
8708 <li>
8709 <p>Make the initial position of the AltosUI top level
8710 window configurable. Along with this change, the
8711 other windows will pop up at 'sensible' places now,
8712 instead of on top of one another.</p>
8713 </li>
8714 <li>
8715 <p>Add GPS data and a map to the graph window. This
8716 lets you see a complete summary of the flight
8717 without needing to 'replay' the whole thing.</p>
8718 </li>
8719 </ul>
8720 </div>
8721 <div class="paragraph">
8722 <p>AltosUI application fixes:</p>
8723 </div>
8724 <div class="ulist">
8725 <ul>
8726 <li>
8727 <p>Handle missing GPS lock in 'Descent'
8728 tab. Previously, if the GPS position of the pad was
8729 unknown, an exception would be raised, breaking the
8730 Descent tab contents.</p>
8731 </li>
8732 <li>
8733 <p>Improve the graph, adding tool-tips to show values
8734 near the cursor and making the displayed set of
8735 values configurable, adding all of the flight data
8736 as options while leaving the default settings alone
8737 so that the graph starts by showing height, speed
8738 and acceleration.</p>
8739 </li>
8740 <li>
8741 <p>Add callsign to Monitor idle window and connecting
8742 dialogs. This makes it clear which callsign is being
8743 used so that the operator will be aware that it must
8744 match the flight computer value or no communication
8745 will work.</p>
8746 </li>
8747 <li>
8748 <p>When downloading flight data, display the block
8749 number so that the user has some sense of
8750 progress. Unfortunately, we don&#8217;t know how many
8751 blocks will need to be downloaded, but at least it
8752 isn&#8217;t just sitting there doing nothing for a long
8753 time.</p>
8754 </li>
8755 </ul>
8756 </div>
8757 </div>
8758 <div class="sect3">
8759 <h4 id="_altosdroid_9">H.40.3. AltosDroid</h4>
8760 <div class="ulist">
8761 <ul>
8762 <li>
8763 <p>First version of this application</p>
8764 </li>
8765 </ul>
8766 </div>
8767 <div style="page-break-after: always;"></div>
8768 </div>
8769 </div>
8770 <div class="sect2">
8771 <h3 id="_release_notes_for_version_1_2">H.41. Release Notes for Version 1.2</h3>
8772 <div class="paragraph">
8773 <p>Version 1.2 is a major release. It adds support for MicroPeak
8774 and the MicroPeak USB adapter.</p>
8775 </div>
8776 <div class="sect3">
8777 <h4 id="_altos_38">H.41.1. AltOS</h4>
8778 <div class="paragraph">
8779 <p>AltOS New Features:</p>
8780 </div>
8781 <div class="ulist">
8782 <ul>
8783 <li>
8784 <p>Add MicroPeak support. This includes support for the
8785 ATtiny85 processor and adaptations to the core code
8786 to allow for devices too small to run the
8787 multi-tasking scheduler.</p>
8788 </li>
8789 </ul>
8790 </div>
8791 </div>
8792 <div class="sect3">
8793 <h4 id="_altosui_and_micropeak_application">H.41.2. AltosUI and MicroPeak Application</h4>
8794 <div class="paragraph">
8795 <p>New Features:</p>
8796 </div>
8797 <div class="ulist">
8798 <ul>
8799 <li>
8800 <p>Added MicroPeak application</p>
8801 </li>
8802 </ul>
8803 </div>
8804 <div class="paragraph">
8805 <p>AltosUI and MicroPeak fixes:</p>
8806 </div>
8807 <div class="ulist">
8808 <ul>
8809 <li>
8810 <p>Distribute Mac OS X packages in disk image ('.dmg')
8811 format to greatly simplify installation.</p>
8812 </li>
8813 <li>
8814 <p>Provide version numbers for the shared Java
8815 libraries to ensure that upgrades work properly, and
8816 to allow for multiple Altus Metrum software packages
8817 to be installed in the same directory at the same
8818 time.</p>
8819 </li>
8820 </ul>
8821 </div>
8822 <div style="page-break-after: always;"></div>
8823 </div>
8824 </div>
8825 <div class="sect2">
8826 <h3 id="_release_notes_for_version_1_1">H.42. Release Notes for Version 1.1</h3>
8827 <div class="paragraph">
8828 <p>Version 1.1.1 is a bug-fix release. It fixes a couple of bugs
8829 in AltosUI and one firmware bug that affects TeleMetrum
8830 version 1.0 boards. Thanks to Bob Brown for help diagnosing
8831 the Google Earth file export issue, and for suggesting the
8832 addition of the Ground Distance value in the Descent tab.</p>
8833 </div>
8834 <div class="sect3">
8835 <h4 id="_altos_39">H.42.1. AltOS</h4>
8836 <div class="paragraph">
8837 <p>AltOS fixes:</p>
8838 </div>
8839 <div class="ulist">
8840 <ul>
8841 <li>
8842 <p>TeleMetrum v1.0 boards use the AT45DB081D flash
8843 memory part to store flight data, which is different
8844 from later TeleMetrum boards. The AltOS v1.1 driver
8845 for this chip couldn&#8217;t erase memory, leaving it
8846 impossible to delete flight data or update
8847 configuration values. This bug doesn&#8217;t affect newer
8848 TeleMetrum boards, and it doesn&#8217;t affect the safety
8849 of rockets flying version 1.1 firmware.</p>
8850 </li>
8851 </ul>
8852 </div>
8853 </div>
8854 <div class="sect3">
8855 <h4 id="_altosui_11">H.42.2. AltosUI</h4>
8856 <div class="paragraph">
8857 <p>AltosUI new features:</p>
8858 </div>
8859 <div class="ulist">
8860 <ul>
8861 <li>
8862 <p>The “Descent” tab displays the range to the rocket,
8863 which is a combination of the over-the-ground
8864 distance to the rockets current latitude/longitude
8865 and the height of the rocket. As such, it&#8217;s useful
8866 for knowing how far away the rocket is, but
8867 difficult to use when estimating where the rocket
8868 might eventually land. A new “Ground Distance” field
8869 has been added which displays the distance to a spot
8870 right underneath the rocket.</p>
8871 </li>
8872 </ul>
8873 </div>
8874 <div class="paragraph">
8875 <p>AltosUI fixes:</p>
8876 </div>
8877 <div class="ulist">
8878 <ul>
8879 <li>
8880 <p>Creating a Google Earth file (KML) from on-board
8881 flight data (EEPROM) would generate an empty
8882 file. The code responsible for reading the EEPROM
8883 file wasn&#8217;t ever setting the GPS valid bits, and so
8884 the KML export code thought there was no GPS data in
8885 the file.</p>
8886 </li>
8887 <li>
8888 <p>The “Landed” tab was displaying all values in metric
8889 units, even when AltosUI was configured to display
8890 imperial units. Somehow I just missed this tab when
8891 doing the units stuff.</p>
8892 </li>
8893 <li>
8894 <p>Sensor data wasn&#8217;t being displayed for TeleMini
8895 flight computers in Monitor Idle mode, including
8896 things like battery voltage. The code that picked
8897 which kinds of data to fetch from the flight
8898 computer was missing a check for TeleMini when
8899 deciding whether to fetch the analog sensor data.</p>
8900 </li>
8901 </ul>
8902 </div>
8903 <div style="page-break-after: always;"></div>
8904 </div>
8905 </div>
8906 <div class="sect2">
8907 <h3 id="_release_notes_for_version_1_1_2">H.43. Release Notes for Version 1.1</h3>
8908 <div class="paragraph">
8909 <p>Version 1.1 is a minor release. It provides a few new features
8910 in AltosUI and the AltOS firmware and fixes bugs.</p>
8911 </div>
8912 <div class="sect3">
8913 <h4 id="_altos_40">H.43.1. AltOS</h4>
8914 <div class="paragraph">
8915 <p>AltOS Firmware New Features:</p>
8916 </div>
8917 <div class="ulist">
8918 <ul>
8919 <li>
8920 <p>Add apogee-lockout value. Overrides the apogee
8921 detection logic to prevent incorrect apogee charge
8922 firing.</p>
8923 </li>
8924 <li>
8925 <p>Force the radio frequency to 434.550MHz when the
8926 debug clock pin is connected to ground at boot
8927 time. This provides a way to talk to a TeleMini
8928 which is configured to some unknown frequency.</p>
8929 </li>
8930 <li>
8931 <p>Provide RSSI values for Monitor Idle mode. This
8932 makes it easy to check radio range without needing
8933 to go to flight mode.</p>
8934 </li>
8935 </ul>
8936 </div>
8937 <div class="paragraph">
8938 <p>AltOS Fixes:</p>
8939 </div>
8940 <div class="ulist">
8941 <ul>
8942 <li>
8943 <p>Fix a bug where the data reported in telemetry
8944 packets was from 320ms ago.</p>
8945 </li>
8946 <li>
8947 <p>Fix a bug which caused the old received telemetry
8948 packets to be retransmitted over the USB link when
8949 the radio was turned off and back on.</p>
8950 </li>
8951 </ul>
8952 </div>
8953 </div>
8954 <div class="sect3">
8955 <h4 id="_altosui_12">H.43.2. AltosUI</h4>
8956 <div class="paragraph">
8957 <p>AltosUI New Features:</p>
8958 </div>
8959 <div class="ulist">
8960 <ul>
8961 <li>
8962 <p>Make the look-n-feel configurable, providing a choice from
8963 the available options.</p>
8964 </li>
8965 <li>
8966 <p>Add an 'Age' element to mark how long since a
8967 telemetry packet has been received. Useful to
8968 quickly gauge whether communications with the rocket
8969 are still active.</p>
8970 </li>
8971 <li>
8972 <p>Add 'Configure Ground Station' dialog to set the
8973 radio frequency used by a particular TeleDongle
8974 without having to go through the flight monitor UI.</p>
8975 </li>
8976 <li>
8977 <p>Add configuration for the new apogee-lockout
8978 value. A menu provides a list of reasonable values,
8979 or the value can be set by hand.</p>
8980 </li>
8981 <li>
8982 <p>Add Imperial units mode to present data in feet
8983 instead of meters.</p>
8984 </li>
8985 </ul>
8986 </div>
8987 <div class="paragraph">
8988 <p>AltosUI Fixes:</p>
8989 </div>
8990 <div class="ulist">
8991 <ul>
8992 <li>
8993 <p>Fix a bug that caused GPS ready to happen too
8994 quickly. The software was using every telemetry
8995 packet to signal new GPS data, which caused GPS
8996 ready to be signalled after 10 packets instead of 10
8997 GPS updates.</p>
8998 </li>
8999 <li>
9000 <p>Fix Google Earth data export to work with recent
9001 versions. The google earth file loading code got a
9002 lot pickier, requiring some minor white space
9003 changes in the export code.</p>
9004 </li>
9005 <li>
9006 <p>Changed how flight data are downloaded. Now there&#8217;s
9007 an initial dialog asking which flights to download,
9008 and after that finishes, a second dialog comes up
9009 asking which flights to delete.</p>
9010 </li>
9011 <li>
9012 <p>Re-compute time spent in each state for the flight
9013 graph; this figures out the actual boost and landing
9014 times instead of using the conservative values
9015 provide by the flight electronics. This improves the
9016 accuracy of the boost acceleration and main descent
9017 rate computations.</p>
9018 </li>
9019 <li>
9020 <p>Make AltosUI run on Mac OS Lion. The default Java
9021 heap space was dramatically reduced for this release
9022 causing much of the UI to fail randomly. This most
9023 often affected the satellite mapping download and
9024 displays.</p>
9025 </li>
9026 <li>
9027 <p>Change how data are displayed in the 'table' tab of
9028 the flight monitoring window. This eliminates
9029 entries duplicated from the header and adds both
9030 current altitude and pad altitude, which are useful
9031 in 'Monitor Idle' mode.</p>
9032 </li>
9033 </ul>
9034 </div>
9035 <div style="page-break-after: always;"></div>
9036 </div>
9037 </div>
9038 <div class="sect2">
9039 <h3 id="_release_notes_for_version_1_0_1">H.44. Release Notes for Version 1.0.1</h3>
9040 <div class="paragraph">
9041 <p>Version 1.0.1 is a major release, adding support for the
9042 TeleMini device and lots of new AltosUI features</p>
9043 </div>
9044 <div class="sect3">
9045 <h4 id="_altos_41">H.44.1. AltOS</h4>
9046 <div class="paragraph">
9047 <p>AltOS New Features</p>
9048 </div>
9049 <div class="ulist">
9050 <ul>
9051 <li>
9052 <p>Add TeleMini v1.0 support.</p>
9053 </li>
9054 <li>
9055 <p>Support operation of TeleMetrum with the antenna pointing
9056 aft. Previous firmware versions required the antenna to be
9057 pointing upwards, now there is a configuration option
9058 allowing the antenna to point aft, to aid installation in
9059 some airframes.</p>
9060 </li>
9061 <li>
9062 <p>Ability to disable telemetry. For airframes where an antenna
9063 just isn&#8217;t possible, or where radio transmissions might
9064 cause trouble with other electronics, there&#8217;s a
9065 configuration option to disable all telemetry. Note that the
9066 board will still enable the radio link in idle mode.</p>
9067 </li>
9068 <li>
9069 <p>Arbitrary frequency selection. The radios in Altus Metrum
9070 devices can be programmed to a wide range of frequencies, so
9071 instead of limiting devices to 10 pre-selected 'channels',
9072 the new firmware allows the user to choose any frequency in
9073 the 70cm band. Note that the RF matching circuit on the
9074 boards is tuned for around 435MHz, so frequencies far from
9075 that may reduce the available range.</p>
9076 </li>
9077 </ul>
9078 </div>
9079 <div class="paragraph">
9080 <p>AltOS Fixes</p>
9081 </div>
9082 <div class="ulist">
9083 <ul>
9084 <li>
9085 <p>Change telemetry to be encoded in multiple 32-byte
9086 packets. This enables support for TeleMini and other devices
9087 without requiring further updates to the TeleDongle
9088 firmware.</p>
9089 </li>
9090 <li>
9091 <p>Kalman-filter based flight-tracking. The model based sensor
9092 fusion approach of a Kalman filter means that AltOS now
9093 computes apogee much more accurately than before, generally
9094 within a fraction of a second. In addition, this approach
9095 allows the baro-only TeleMini device to correctly identify
9096 Mach transitions, avoiding the error-prone selection of a
9097 Mach delay.</p>
9098 </li>
9099 </ul>
9100 </div>
9101 </div>
9102 <div class="sect3">
9103 <h4 id="_altosui_application_6">H.44.2. AltosUI Application</h4>
9104 <div class="paragraph">
9105 <p>AltosUI New Features</p>
9106 </div>
9107 <div class="ulist">
9108 <ul>
9109 <li>
9110 <p>Add main/apogee voltage graphs to the data
9111 plot. This provides a visual indication if the
9112 igniters fail before being fired.</p>
9113 </li>
9114 <li>
9115 <p>Scan for altimeter devices by watching the defined
9116 telemetry frequencies. This avoids the problem of
9117 remembering what frequency a device was configured
9118 to use, which is especially important with TeleMini
9119 which does not include a USB connection.</p>
9120 </li>
9121 <li>
9122 <p>Monitor altimeter state in "Idle" mode. This
9123 provides much of the information presented in the
9124 "Pad" dialog from the Monitor Flight command,
9125 monitoring the igniters, battery and GPS status
9126 withing requiring the flight computer to be armed
9127 and ready for flight.</p>
9128 </li>
9129 <li>
9130 <p>Pre-load map images from home. For those launch
9131 sites which don&#8217;t provide free Wi-Fi, this allows
9132 you to download the necessary satellite images
9133 given the location of the launch site. A list of
9134 known launch sites is maintained at altusmetrum.org
9135 which AltosUI downloads to populate a menu; if
9136 you&#8217;ve got a launch site not on that list, please
9137 send the name of it, latitude and longitude along
9138 with a link to the web site of the controlling club
9139 to the altusmetrum mailing list.</p>
9140 </li>
9141 <li>
9142 <p>Flight statistics are now displayed in the Graph
9143 data window. These include max height/speed/accel,
9144 average descent rates and a few other bits of
9145 information. The Graph Data window can now be
9146 reached from the 'Landed' tab in the Monitor Flight
9147 window so you can immediately see the results of a
9148 flight.</p>
9149 </li>
9150 </ul>
9151 </div>
9152 <div class="paragraph">
9153 <p>AltosUI Changes</p>
9154 </div>
9155 <div class="ulist">
9156 <ul>
9157 <li>
9158 <p>Wait for altimeter when using packet mode. Instead
9159 of quicly timing out when trying to initialize a
9160 packet mode configuration connection, AltosUI now
9161 waits indefinitely for the remote device to appear,
9162 providing a cancel button should the user get
9163 bored. This is necessary as the TeleMini can only be
9164 placed in "Idle" mode if AltosUI is polling it.</p>
9165 </li>
9166 </ul>
9167 </div>
9168 <div style="page-break-after: always;"></div>
9169 </div>
9170 </div>
9171 <div class="sect2">
9172 <h3 id="_release_notes_for_version_0_9_2">H.45. Release Notes for Version 0.9.2</h3>
9173 <div class="paragraph">
9174 <p>Version 0.9.2 is an AltosUI bug-fix release, with no firmware
9175 changes.</p>
9176 </div>
9177 <div class="sect3">
9178 <h4 id="_altosui_13">H.45.1. AltosUI</h4>
9179 <div class="paragraph">
9180 <p>AltosUI fixes:</p>
9181 </div>
9182 <div class="ulist">
9183 <ul>
9184 <li>
9185 <p>Fix plotting problems due to missing file in the Mac
9186 OS install image.</p>
9187 </li>
9188 <li>
9189 <p>Always read whole eeprom blocks, mark empty records
9190 invalid, display parsing errors to user.</p>
9191 </li>
9192 <li>
9193 <p>Add software version to Configure AltosUI dialog</p>
9194 </li>
9195 </ul>
9196 </div>
9197 <div style="page-break-after: always;"></div>
9198 </div>
9199 </div>
9200 <div class="sect2">
9201 <h3 id="_release_notes_for_version_0_9">H.46. Release Notes for Version 0.9</h3>
9202 <div class="paragraph">
9203 <p>Version 0.9 adds a few new firmware features and accompanying
9204 AltosUI changes, along with new hardware support.</p>
9205 </div>
9206 <div class="sect3">
9207 <h4 id="_altos_42">H.46.1. AltOS</h4>
9208 <div class="ulist">
9209 <ul>
9210 <li>
9211 <p>Support for TeleMetrum v1.1 hardware. Sources for the flash
9212 memory part used in v1.0 dried up, so v1.1 uses a different
9213 part which required a new driver and support for explicit
9214 flight log erasing.</p>
9215 </li>
9216 <li>
9217 <p>Multiple flight log support. This stores more than one
9218 flight log in the on-board flash memory. It also requires
9219 the user to explicitly erase flights so that you won&#8217;t lose
9220 flight logs just because you fly the same board twice in one
9221 day.</p>
9222 </li>
9223 <li>
9224 <p>Telemetry support for devices with serial number &gt;= 256.
9225 Previous versions used a telemetry packet format that
9226 provided only 8 bits for the device serial number. This
9227 change requires that both ends of the telemetry link be
9228 running the 0.9 firmware or they will not communicate.</p>
9229 </li>
9230 </ul>
9231 </div>
9232 </div>
9233 <div class="sect3">
9234 <h4 id="_altosui_application_7">H.46.2. AltosUI Application</h4>
9235 <div class="ulist">
9236 <ul>
9237 <li>
9238 <p>Support for telemetry format changes.</p>
9239 </li>
9240 <li>
9241 <p>Support for multiple flight logs.</p>
9242 </li>
9243 </ul>
9244 </div>
9245 <div style="page-break-after: always;"></div>
9246 </div>
9247 </div>
9248 <div class="sect2">
9249 <h3 id="_release_notes_for_version_0_8">H.47. Release Notes for Version 0.8</h3>
9250 <div class="paragraph">
9251 <p>Version 0.8 offers a major upgrade in the AltosUI
9252 interface.</p>
9253 </div>
9254 <div class="sect3">
9255 <h4 id="_altosui_application_8">H.47.1. AltosUI Application:</h4>
9256 <div class="ulist">
9257 <ul>
9258 <li>
9259 <p>Post-flight graphing tool. This lets you explore the
9260 behaviour of your rocket after flight with a scroll-able and
9261 zoom-able chart showing the altitude, speed and acceleration
9262 of the airframe along with events recorded by the flight
9263 computer. You can export graphs to PNG files, or print them
9264 directly.</p>
9265 </li>
9266 <li>
9267 <p>Real-time moving map which overlays the in-progress flight
9268 on satellite imagery fetched from Google Maps. This lets you
9269 see in pictures where your rocket has landed, allowing you
9270 to plan recovery activities more accurately.</p>
9271 </li>
9272 <li>
9273 <p>Wireless recovery system testing. Prep your rocket for
9274 flight and test fire the deployment charges to make sure
9275 things work as expected. All without threading wires through
9276 holes in your airframe.</p>
9277 </li>
9278 <li>
9279 <p>Optimized flight status displays. Each flight state now has
9280 it&#8217;s own custom 'tab' in the flight monitoring window so you
9281 can focus on the most important details. Pre-flight, the
9282 system shows a set of red/green status indicators for
9283 battery voltage, apogee/main igniter continutity and GPS
9284 reception. Wait until they&#8217;re all green and your rocket is
9285 ready for flight. There are also tabs for ascent, descent
9286 and landing along with the original tabular view of the
9287 data.</p>
9288 </li>
9289 <li>
9290 <p>Monitor multiple flights simultaneously. If you have more
9291 than one TeleDongle, you can monitor a flight with each one
9292 on the same computer.</p>
9293 </li>
9294 <li>
9295 <p>Automatic flight monitoring at startup. Plug TeleDongle into
9296 the machine before starting AltosUI and it will
9297 automatically connect to it and prepare to monitor a flight.</p>
9298 </li>
9299 <li>
9300 <p>Exports Google Earth flight tracks. Using the Keyhole Markup
9301 Language (.kml) file format, this provides a 3D view of your
9302 rocket flight through the Google Earth program.</p>
9303 </li>
9304 </ul>
9305 </div>
9306 <div style="page-break-after: always;"></div>
9307 </div>
9308 </div>
9309 <div class="sect2">
9310 <h3 id="_release_notes_for_version_0_7_1">H.48. Release Notes for Version 0.7.1</h3>
9311 <div class="paragraph">
9312 <p>Version 0.7.1 is the first release containing our new
9313 cross-platform Java-based user interface.</p>
9314 </div>
9315 <div class="sect3">
9316 <h4 id="_altosui_application_9">H.48.1. AltosUI Application</h4>
9317 <div class="ulist">
9318 <ul>
9319 <li>
9320 <p>Receive and log telemetry from a connected TeleDongle
9321 device. All data received is saved to log files named with
9322 the current date and the connected rocket serial and flight
9323 numbers. There is no mode in which telemetry data will not
9324 be saved.</p>
9325 </li>
9326 <li>
9327 <p>Download logged data from TeleMetrum devices, either through
9328 a direct USB connection or over the air through a TeleDongle
9329 device.</p>
9330 </li>
9331 <li>
9332 <p>Configure a TeleMetrum device, setting the radio channel,
9333 callsign, apogee delay and main deploy height. This can be
9334 done through either a USB connection or over a radio link
9335 via a TeleDongle device.</p>
9336 </li>
9337 <li>
9338 <p>Replay a flight in real-time. This takes a saved telemetry
9339 log or eeprom download and replays it through the user
9340 interface so you can relive your favorite rocket flights.</p>
9341 </li>
9342 <li>
9343 <p>Reprogram Altus Metrum devices. Using an Altus Metrum device
9344 connected via USB, another Altus Metrum device can be
9345 reprogrammed using the supplied programming cable between
9346 the two devices.</p>
9347 </li>
9348 <li>
9349 <p>Export Flight data to a comma-separated-values file. This
9350 takes either telemetry or on-board flight data and generates
9351 data suitable for use in external applications. All data is
9352 exported using standard units so that no device-specific
9353 knowledge is needed to handle the data.</p>
9354 </li>
9355 <li>
9356 <p>Speak to you during the flight. Instead of spending the
9357 flight hunched over your laptop looking at the screen, enjoy
9358 the view while the computer tells you what’s going on up
9359 there. During ascent, you hear the current flight state and
9360 altitude information. During descent, you get azimuth,
9361 elevation and range information to try and help you find
9362 your rocket in the air. Once on the ground, the direction
9363 and distance are reported.</p>
9364 </li>
9365 </ul>
9366 </div>
9367 </div>
9368 </div>
9369 </div>
9370 </div>
9371 </div>
9372 <div id="footer">
9373 <div id="footer-text">
9374 Version v1.9.15<br>
9375 Last updated 2023-02-19 18:38:59 -0700
9376 </div>
9377 </div>
9378 </body>
9379 </html>