summaryrefslogtreecommitdiff
path: root/AltOS/doc/altusmetrum.html
blob: 89848151ccf0d4944f45d03bb1ba5e181b997df6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>The Altus Metrum System</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" title="The Altus Metrum System"><div class="titlepage"><div><div><h1 class="title"><a name="id2285355"></a>The Altus Metrum System</h1></div><div><h2 class="subtitle">An Owner's Manual for TeleMetrum and TeleDongle Devices</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Bdale</span> <span class="surname">Garbee</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Keith</span> <span class="surname">Packard</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Bob</span> <span class="surname">Finch</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Anthony</span> <span class="surname">Towns</span></h3></div></div><div><p class="copyright">Copyright © 2011 Bdale Garbee and Keith Packard</p></div><div><div class="legalnotice" title="Legal Notice"><a name="id2560854"></a><p>
        This document is released under the terms of the
        <a class="ulink" href="http://creativecommons.org/licenses/by-sa/3.0/" target="_top">
          Creative Commons ShareAlike 3.0
        </a>
        license.
      </p></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.9.2</td><td align="left">19 March 2011</td></tr><tr><td align="left" colspan="2">
	  Updated for software version 0.9.2.  This version has minor
	  updates to the AltosUI code to fix graphing on Mac OS X and
	  make flight data download more reliable. It is otherwise
	  completely compatible with version 0.9.
	</td></tr><tr><td align="left">Revision 0.9</td><td align="left">18 January 2011</td></tr><tr><td align="left" colspan="2">
	  Updated for software version 0.9.  Note that 0.9 represents a
	  telemetry format change, meaning both ends of a link (TeleMetrum and
	  TeleDongle) must be updated or communications will fail.
	</td></tr></table></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.8</td><td align="left">24 November 2010</td></tr><tr><td align="left" colspan="2">Updated for software version 0.8 </td></tr></table></div></div></div><hr></div><div class="acknowledgements" title="Acknowledgements"><div class="titlepage"><div><div><h2 class="title"><a name="id2561425"></a>Acknowledgements</h2></div></div></div>
    <p>
      Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing "The
      Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
      Kit" which has turned into the Getting Started chapter in this
      book. Bob was one of our first customers for a production
      TeleMetrum, and the enthusiasm that led to his contribution of
      this section is immensely gratifying and highy appreciated!
    </p>
    <p>
      And thanks to Anthony (AJ) Towns for contributing the
      AltosUI graphing and site map code and documentation. Free
      software means that our customers and friends can become our
      collaborators, and we certainly appreciate this level of
      contribution.
    </p>
    <p>
      Have fun using these products, and we hope to meet all of you
      out on the rocket flight line somewhere.
      </p><div class="literallayout"><p><br>
Bdale Garbee, KB0G<br>
NAR #87103, TRA #12201<br>
<br>
Keith Packard, KD7SQG<br>
NAR #88757, TRA #12200<br>
      </p></div><p>
    </p>
  </div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#id2529908">1. Introduction and Overview</a></span></dt><dt><span class="chapter"><a href="#id2529949">2. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#id2568943">FAQ</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id2556049">3. Specifications</a></span></dt><dt><span class="chapter"><a href="#id2583902">4. Handling Precautions</a></span></dt><dt><span class="chapter"><a href="#id2556280">5. Hardware Overview</a></span></dt><dt><span class="chapter"><a href="#id2562146">6. System Operation</a></span></dt><dd><dl><dt><span class="section"><a href="#id2565293">Firmware Modes </a></span></dt><dt><span class="section"><a href="#id2567005">GPS </a></span></dt><dt><span class="section"><a href="#id2581409">Ground Testing </a></span></dt><dt><span class="section"><a href="#id2581407">Radio Link </a></span></dt><dt><span class="section"><a href="#id2552127">Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#id2572399">Radio Channel</a></span></dt><dt><span class="section"><a href="#id2563312">Apogee Delay</a></span></dt><dt><span class="section"><a href="#id2581119">Main Deployment Altitude</a></span></dt></dl></dd><dt><span class="section"><a href="#id2559748">Calibration</a></span></dt><dd><dl><dt><span class="section"><a href="#id2583470">Radio Frequency</a></span></dt><dt><span class="section"><a href="#id2573580">Accelerometer</a></span></dt></dl></dd><dt><span class="section"><a href="#id2581818">Updating Device Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554717">Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#id2564109">Updating TeleDongle Firmware</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#id2562062">7. AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#id2578432">Packet Command Mode</a></span></dt><dt><span class="section"><a href="#id2572301">Monitor Flight</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554918">Launch Pad</a></span></dt><dt><span class="section"><a href="#id2574995">Ascent</a></span></dt><dt><span class="section"><a href="#id2576209">Descent</a></span></dt><dt><span class="section"><a href="#id2561512">Landed</a></span></dt><dt><span class="section"><a href="#id2587026">Site Map</a></span></dt></dl></dd><dt><span class="section"><a href="#id2576446">Save Flight Data</a></span></dt><dt><span class="section"><a href="#id2586529">Replay Flight</a></span></dt><dt><span class="section"><a href="#id2573351">Graph Data</a></span></dt><dt><span class="section"><a href="#id2568352">Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#id2575553">Comma Separated Value Format</a></span></dt><dt><span class="section"><a href="#id2579115">Keyhole Markup Language (for Google Earth)</a></span></dt></dl></dd><dt><span class="section"><a href="#id2570375">Configure TeleMetrum</a></span></dt><dd><dl><dt><span class="section"><a href="#id2559233">Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#id2552914">Apogee Delay</a></span></dt><dt><span class="section"><a href="#id2582365">Radio Channel</a></span></dt><dt><span class="section"><a href="#id2563940">Radio Calibration</a></span></dt><dt><span class="section"><a href="#id2561819">Callsign</a></span></dt><dt><span class="section"><a href="#id2572471">Maximum Flight Log Size</a></span></dt></dl></dd><dt><span class="section"><a href="#id2564177">Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#id2575461">Voice Settings</a></span></dt><dt><span class="section"><a href="#id2573515">Log Directory</a></span></dt><dt><span class="section"><a href="#id2565097">Callsign</a></span></dt><dt><span class="section"><a href="#id2546395">Serial Debug</a></span></dt></dl></dd><dt><span class="section"><a href="#id2575721">Flash Image</a></span></dt><dt><span class="section"><a href="#id2576287">Fire Igniter</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id2570538">8. Using Altus Metrum Products</a></span></dt><dd><dl><dt><span class="section"><a href="#id2576134">Being Legal</a></span></dt><dt><span class="section"><a href="#id2573850">In the Rocket</a></span></dt><dt><span class="section"><a href="#id2572694">On the Ground</a></span></dt><dt><span class="section"><a href="#id2579324">Data Analysis</a></span></dt><dt><span class="section"><a href="#id2585899">Future Plans</a></span></dt></dl></dd></dl></div><div class="chapter" title="Chapter 1. Introduction and Overview"><div class="titlepage"><div><div><h2 class="title"><a name="id2529908"></a>Chapter 1. Introduction and Overview</h2></div></div></div><p>
      Welcome to the Altus Metrum community!  Our circuits and software reflect
      our passion for both hobby rocketry and Free Software.  We hope their
      capabilities and performance will delight you in every way, but by
      releasing all of our hardware and software designs under open licenses,
      we also hope to empower you to take as active a role in our collective
      future as you wish!
    </p><p>
      The focal point of our community is TeleMetrum, a dual deploy altimeter
      with fully integrated GPS and radio telemetry as standard features, and
      a "companion interface" that will support optional capabilities in the
      future.
    </p><p>
      Complementing TeleMetrum is TeleDongle, a USB to RF interface for
      communicating with TeleMetrum.  Combined with your choice of antenna and
      notebook computer, TeleDongle and our associated user interface software
      form a complete ground station capable of logging and displaying in-flight
      telemetry, aiding rocket recovery, then processing and archiving flight
      data for analysis and review.
    </p><p>
      More products will be added to the Altus Metrum family over time, and
      we currently envision that this will be a single, comprehensive manual
      for the entire product family.
    </p></div><div class="chapter" title="Chapter 2. Getting Started"><div class="titlepage"><div><div><h2 class="title"><a name="id2529949"></a>Chapter 2. Getting Started</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2568943">FAQ</a></span></dt></dl></div><p>
      The first thing to do after you check the inventory of parts in your
      "starter kit" is to charge the battery by plugging it into the
      corresponding socket of the TeleMetrum and then using the USB A to
      mini B
      cable to plug the Telemetrum into your computer's USB socket. The
      TeleMetrum circuitry will charge the battery whenever it is plugged
      in, because the TeleMetrum's on-off switch does NOT control the
      charging circuitry.  When the GPS chip is initially searching for
      satellites, TeleMetrum will consume more current than it can pull
      from the usb port, so the battery must be attached in order to get
      satellite lock.  Once GPS is locked, the current consumption goes back
      down enough to enable charging while
      running. So it's a good idea to fully charge the battery as your
      first item of business so there is no issue getting and maintaining
      satellite lock.  The yellow charge indicator led will go out when the
      battery is nearly full and the charger goes to trickle charge. It
      can take several hours to fully recharge a deeply discharged battery.
    </p><p>
      The other active device in the starter kit is the TeleDongle USB to
      RF interface.  If you plug it in to your Mac or Linux computer it should
      "just work", showing up as a serial port device.  Windows systems need
      driver information that is part of the AltOS download to know that the
      existing USB modem driver will work.  If you are using Linux and are
      having problems, try moving to a fresher kernel (2.6.33 or newer), as
      the USB serial driver had ugly bugs in some earlier versions.
    </p><p>
      Next you should obtain and install the AltOS utilities.  These include
      the AltosUI ground station program, current firmware images for
      TeleMetrum and TeleDongle, and a number of standalone utilities that
      are rarely needed.  Pre-built binary packages are available for Debian
      Linux, Microsoft Windows, and recent MacOSX versions.  Full sourcecode
      and build instructions for some other Linux variants are also available.
      The latest version may always be downloaded from
      <a class="ulink" href="http://altusmetrum.org/AltOS" target="_top">http://altusmetrum.org/AltOS</a>.
    </p><p>
      Both Telemetrum and TeleDongle can be directly communicated
      with using USB ports. The first thing you should try after getting
      both units plugged into to your computer's usb port(s) is to run
      'ao-list' from a terminal-window to see what port-device-name each
      device has been assigned by the operating system.
      You will need this information to access the devices via their
      respective on-board firmware and data using other command line
      programs in the AltOS software suite.
    </p><p>
      To access the device's firmware for configuration you need a terminal
      program such as you would use to talk to a modem.  The software
      authors prefer using the program 'cu' which comes from the UUCP package
      on most Unix-like systems such as Linux.  An example command line for
      cu might be 'cu -l /dev/ttyACM0', substituting the correct number
      indicated from running the
      ao-list program.  Another reasonable terminal program for Linux is
      'cutecom'.  The default 'escape'
      character used by CU (i.e. the character you use to
      issue commands to cu itself instead of sending the command as input
      to the connected device) is a '~'. You will need this for use in
      only two different ways during normal operations. First is to exit
      the program by sending a '~.' which is called a 'escape-disconnect'
      and allows you to close-out from 'cu'. The
      second use will be outlined later.
    </p><p>
      Both TeleMetrum and TeleDongle share the concept of a two level
      command set in their firmware.
      The first layer has several single letter commands. Once
      you are using 'cu' (or 'cutecom') sending (typing) a '?'
      returns a full list of these
      commands. The second level are configuration sub-commands accessed
      using the 'c' command, for
      instance typing 'c?' will give you this second level of commands
      (all of which require the
      letter 'c' to access).  Please note that most configuration options
      are stored only in DataFlash memory, and only TeleMetrum has this
      memory to save the various values entered like the channel number
      and your callsign when powered off.  TeleDongle requires that you
      set these each time you plug it in, which ao-view can help with.
    </p><p>
      Try setting these config ('c' or second level menu) values.  A good
      place to start is by setting your call sign.  By default, the boards
      use 'N0CALL' which is cute, but not exactly legal!
      Spend a few minutes getting comfortable with the units, their
      firmware, and 'cu' (or possibly 'cutecom').
      For instance, try to send
      (type) a 'c r 2' and verify the channel change by sending a 'c s'.
      Verify you can connect and disconnect from the units while in your
      terminal program by sending the escape-disconnect mentioned above.
    </p><p>
      Note that the 'reboot' command, which is very useful on TeleMetrum,
      will likely just cause problems with the dongle.  The *correct* way
      to reset the dongle is just to unplug and re-plug it.
    </p><p>
      A fun thing to do at the launch site and something you can do while
      learning how to use these units is to play with the rf-link access
      of the TeleMetrum from the TeleDongle.  Be aware that you *must* create
      some physical separation between the devices, otherwise the link will
      not function due to signal overload in the receivers in each device.
    </p><p>
      Now might be a good time to take a break and read the rest of this
      manual, particularly about the two "modes" that the TeleMetrum
      can be placed in and how the position of the TeleMetrum when booting
      up will determine whether the unit is in "pad" or "idle" mode.
    </p><p>
      You can access a TeleMetrum in idle mode from the Teledongle's USB
      connection using the rf link
      by issuing a 'p' command to the TeleDongle. Practice connecting and
      disconnecting ('~~' while using 'cu') from the TeleMetrum.  If
      you cannot escape out of the "p" command, (by using a '~~' when in
      CU) then it is likely that your kernel has issues.  Try a newer version.
    </p><p>
      Using this rf link allows you to configure the TeleMetrum, test
      fire e-matches and igniters from the flight line, check pyro-match
      continuity and so forth. You can leave the unit turned on while it
      is in 'idle mode' and then place the
      rocket vertically on the launch pad, walk away and then issue a
      reboot command.  The TeleMetrum will reboot and start sending data
      having changed to the "pad" mode. If the TeleDongle is not receiving
      this data, you can disconnect 'cu' from the Teledongle using the
      procedures mentioned above and THEN connect to the TeleDongle from
      inside 'ao-view'. If this doesn't work, disconnect from the
      TeleDongle, unplug it, and try again after plugging it back in.
    </p><p>
      Eventually the GPS will find enough satellites, lock in on them,
      and 'ao-view' will both auditorially announce and visually indicate
      that GPS is ready.
      Now you can launch knowing that you have a good data path and
      good satellite lock for flight data and recovery.  Remember
      you MUST tell ao-view to connect to the TeleDongle explicitly in
      order for ao-view to be able to receive data.
    </p><p>
      Both RDF (radio direction finding) tones from the TeleMetrum and
      GPS trekking data are available and together are very useful in
      locating the rocket once it has landed. (The last good GPS data
      received before touch-down will be on the data screen of 'ao-view'.)
    </p><p>
      Once you have recovered the rocket you can download the eeprom
      contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
      either a USB cable or over the radio link using TeleDongle.
      And by following the man page for 'ao-postflight' you can create
      various data output reports, graphs, and even kml data to see the
      flight trajectory in google-earth. (Moving the viewing angle making
      sure to connect the yellow lines while in google-earth is the proper
      technique.)
    </p><p>
      As for ao-view.... some things are in the menu but don't do anything
      very useful.  The developers have stopped working on ao-view to focus
      on a new, cross-platform ground station program.  So ao-view may or
      may not be updated in the future.  Mostly you just use
      the Log and Device menus.  It has a wonderful display of the incoming
      flight data and I am sure you will enjoy what it has to say to you
      once you enable the voice output!
    </p><div class="section" title="FAQ"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2568943"></a>FAQ</h2></div></div></div><p>
        The altimeter (TeleMetrum) seems to shut off when disconnected from the
        computer.  Make sure the battery is adequately charged.  Remember the
        unit will pull more power than the USB port can deliver before the
        GPS enters "locked" mode.  The battery charges best when TeleMetrum
        is turned off.
      </p><p>
        It's impossible to stop the TeleDongle when it's in "p" mode, I have
        to unplug the USB cable?  Make sure you have tried to "escape out" of
        this mode.  If this doesn't work the reboot procedure for the
        TeleDongle *is* to simply unplug it. 'cu' however will retain it's
        outgoing buffer IF your "escape out" ('~~') does not work.
        At this point using either 'ao-view' (or possibly
        'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
        communication.
      </p><p>
        The amber LED (on the TeleMetrum/altimeter) lights up when both
        battery and USB are connected. Does this mean it's charging?
        Yes, the yellow LED indicates the charging at the 'regular' rate.
        If the led is out but the unit is still plugged into a USB port,
        then the battery is being charged at a 'trickle' rate.
      </p><p>
        There are no "dit-dah-dah-dit" sound like the manual mentions?
        That's the "pad" mode.  Weak batteries might be the problem.
        It is also possible that the unit is horizontal and the output
        is instead a "dit-dit" meaning 'idle'.
      </p><p>
        It's unclear how to use 'ao-view' and other programs when 'cu'
        is running. You cannot have more than one program connected to
        the TeleDongle at one time without apparent data loss as the
        incoming data will not make it to both programs intact.
        Disconnect whatever programs aren't currently being used.
      </p><p>
        How do I save flight data?
        Live telemetry is written to file(s) whenever 'ao-view' is connected
        to the TeleDongle.  The file area defaults to ~/altos
        but is easily changed using the menus in 'ao-view'. The files that
        are written end in '.telem'. The after-flight
        data-dumped files will end in .eeprom and represent continuous data
        unlike the rf-linked .telem files that are subject to the
        turnarounds/data-packaging time slots in the half-duplex rf data path.
        See the above instructions on what and how to save the eeprom stored
        data after physically retrieving your TeleMetrum.  Make sure to save
        the on-board data after each flight, as the current firmware will
        over-write any previous flight data during a new flight.
      </p></div></div><div class="chapter" title="Chapter 3. Specifications"><div class="titlepage"><div><div><h2 class="title"><a name="id2556049"></a>Chapter 3. Specifications</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
          Recording altimeter for model rocketry.
        </p></li><li class="listitem"><p>
          Supports dual deployment (can fire 2 ejection charges).
        </p></li><li class="listitem"><p>
          70cm ham-band transceiver for telemetry downlink.
        </p></li><li class="listitem"><p>
          Barometric pressure sensor good to 45k feet MSL.
        </p></li><li class="listitem"><p>
          1-axis high-g accelerometer for motor characterization, capable of
          +/- 50g using default part.
        </p></li><li class="listitem"><p>
          On-board, integrated GPS receiver with 5hz update rate capability.
        </p></li><li class="listitem"><p>
          On-board 1 megabyte non-volatile memory for flight data storage.
        </p></li><li class="listitem"><p>
          USB interface for battery charging, configuration, and data recovery.
        </p></li><li class="listitem"><p>
          Fully integrated support for LiPo rechargeable batteries.
        </p></li><li class="listitem"><p>
          Uses LiPo to fire e-matches, can be modiied to support 
  	  optional separate pyro battery if needed.
        </p></li><li class="listitem"><p>
          2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
        </p></li></ul></div></div><div class="chapter" title="Chapter 4. Handling Precautions"><div class="titlepage"><div><div><h2 class="title"><a name="id2583902"></a>Chapter 4. Handling Precautions</h2></div></div></div><p>
      TeleMetrum is a sophisticated electronic device.  When handled gently and
      properly installed in an airframe, it will deliver impressive results.
      However, like all electronic devices, there are some precautions you
      must take.
    </p><p>
      The Lithium Polymer rechargeable batteries used with TeleMetrum have an
      extraordinary power density.  This is great because we can fly with
      much less battery mass than if we used alkaline batteries or previous
      generation rechargeable batteries... but if they are punctured
      or their leads are allowed to short, they can and will release their
      energy very rapidly!
      Thus we recommend that you take some care when handling our batteries
      and consider giving them some extra protection in your airframe.  We
      often wrap them in suitable scraps of closed-cell packing foam before
      strapping them down, for example.
    </p><p>
      The TeleMetrum barometric sensor is sensitive to sunlight.  In normal
      mounting situations, it and all of the other surface mount components
      are "down" towards whatever the underlying mounting surface is, so
      this is not normally a problem.  Please consider this, though, when
      designing an installation, for example, in a 29mm airframe with a
      see-through plastic payload bay.
    </p><p>
      The TeleMetrum barometric sensor sampling port must be able to
      "breathe",
      both by not being covered by foam or tape or other materials that might
      directly block the hole on the top of the sensor, but also by having a
      suitable static vent to outside air.
    </p><p>
      As with all other rocketry electronics, TeleMetrum must be protected
      from exposure to corrosive motor exhaust and ejection charge gasses.
    </p></div><div class="chapter" title="Chapter 5. Hardware Overview"><div class="titlepage"><div><div><h2 class="title"><a name="id2556280"></a>Chapter 5. Hardware Overview</h2></div></div></div><p>
      TeleMetrum is a 1 inch by 2.75 inch circuit board.  It was designed to
      fit inside coupler for 29mm airframe tubing, but using it in a tube that
      small in diameter may require some creativity in mounting and wiring
      to succeed!  The default 1/4
      wave UHF wire antenna attached to the center of the nose-cone end of
      the board is about 7 inches long, and wiring for a power switch and
      the e-matches for apogee and main ejection charges depart from the
      fin can end of the board.  Given all this, an ideal "simple" avionics
      bay for TeleMetrum should have at least 10 inches of interior length.
    </p><p>
      A typical TeleMetrum installation using the on-board GPS antenna and
      default wire UHF antenna involves attaching only a suitable
      Lithium Polymer battery, a single pole switch for power on/off, and
      two pairs of wires connecting e-matches for the apogee and main ejection
      charges.
    </p><p>
      By default, we use the unregulated output of the LiPo battery directly
      to fire ejection charges.  This works marvelously with standard
      low-current e-matches like the J-Tek from MJG Technologies, and with
      Quest Q2G2 igniters.  However, if you
      want or need to use a separate pyro battery, the board can be factory
      modified to do so.  This involves cutting two traces and adding a jumper
      in a densely populated part of the board on TeleMetrum v1.0 and v1.1,
      along with installation of a pyro battery connector at location B2.
    </p><p>
      We offer two choices of pyro and power switch connector, or you can
      choose neither and solder wires directly to the board.  All three choices
      are reasonable depending on the constraints of your airframe.  Our
      favorite option when there is sufficient room above the board is to use
      the Tyco pin header with polarization and locking.  If you choose this
      option, you crimp individual wires for the power switch and e-matches
      into a mating connector, and installing and removing the TeleMetrum
      board from an airframe is as easy as plugging or unplugging two
      connectors.  If the airframe will not support this much height or if
      you want to be able to directly attach e-match leads to the board, we
      offer a screw terminal block.  This is very similar to what most other
      altimeter vendors provide and so may be the most familiar option.
      You'll need a very small straight blade screwdriver to connect
      and disconnect the board in this case, such as you might find in a
      jeweler's screwdriver set.  Finally, you can forego both options and
      solder wires directly to the board, which may be the best choice for
      minimum diameter and/or minimum mass designs.
    </p><p>
      For most airframes, the integrated GPS antenna and wire UHF antenna are
      a great combination.  However, if you are installing in a carbon-fiber
      electronics bay which is opaque to RF signals, you may need to use
      off-board external antennas instead.  In this case, you can order
      TeleMetrum with an SMA connector for the UHF antenna connection, and
      you can unplug the integrated GPS antenna and select an appropriate
      off-board GPS antenna with cable terminating in a U.FL connector.
    </p></div><div class="chapter" title="Chapter 6. System Operation"><div class="titlepage"><div><div><h2 class="title"><a name="id2562146"></a>Chapter 6. System Operation</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2565293">Firmware Modes </a></span></dt><dt><span class="section"><a href="#id2567005">GPS </a></span></dt><dt><span class="section"><a href="#id2581409">Ground Testing </a></span></dt><dt><span class="section"><a href="#id2581407">Radio Link </a></span></dt><dt><span class="section"><a href="#id2552127">Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#id2572399">Radio Channel</a></span></dt><dt><span class="section"><a href="#id2563312">Apogee Delay</a></span></dt><dt><span class="section"><a href="#id2581119">Main Deployment Altitude</a></span></dt></dl></dd><dt><span class="section"><a href="#id2559748">Calibration</a></span></dt><dd><dl><dt><span class="section"><a href="#id2583470">Radio Frequency</a></span></dt><dt><span class="section"><a href="#id2573580">Accelerometer</a></span></dt></dl></dd><dt><span class="section"><a href="#id2581818">Updating Device Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554717">Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#id2564109">Updating TeleDongle Firmware</a></span></dt></dl></dd></dl></div><div class="section" title="Firmware Modes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2565293"></a>Firmware Modes </h2></div></div></div><p>
        The AltOS firmware build for TeleMetrum has two fundamental modes,
        "idle" and "flight".  Which of these modes the firmware operates in
        is determined by the orientation of the rocket (well, actually the
        board, of course...) at the time power is switched on.  If the rocket
        is "nose up", then TeleMetrum assumes it's on a rail or rod being
        prepared for launch, so the firmware chooses flight mode.  However,
        if the rocket is more or less horizontal, the firmware instead enters
        idle mode.
      </p><p>
        At power on, you will hear three beeps
        ("S" in Morse code for startup) and then a pause while
        TeleMetrum completes initialization and self tests, and decides which
        mode to enter next.
      </p><p>
        In flight or "pad" mode, TeleMetrum turns on the GPS system,
        engages the flight
        state machine, goes into transmit-only mode on the RF link sending
        telemetry, and waits for launch to be detected.  Flight mode is
        indicated by an audible "di-dah-dah-dit" ("P" for pad) on the
        beeper, followed by
        beeps indicating the state of the pyrotechnic igniter continuity.
        One beep indicates apogee continuity, two beeps indicate
        main continuity, three beeps indicate both apogee and main continuity,
        and one longer "brap" sound indicates no continuity.  For a dual
        deploy flight, make sure you're getting three beeps before launching!
        For apogee-only or motor eject flights, do what makes sense.
      </p><p>
        In idle mode, you will hear an audible "di-dit" ("I" for idle), and
        the normal flight state machine is disengaged, thus
        no ejection charges will fire.  TeleMetrum also listens on the RF
        link when in idle mode for packet mode requests sent from TeleDongle.
        Commands can be issued to a TeleMetrum in idle mode over either
        USB or the RF link equivalently.
        Idle mode is useful for configuring TeleMetrum, for extracting data
        from the on-board storage chip after flight, and for ground testing
        pyro charges.
      </p><p>
        One "neat trick" of particular value when TeleMetrum is used with very
        large airframes, is that you can power the board up while the rocket
        is horizontal, such that it comes up in idle mode.  Then you can
        raise the airframe to launch position, use a TeleDongle to open
        a packet connection, and issue a 'reset' command which will cause
        TeleMetrum to reboot, realize it's now nose-up, and thus choose
        flight mode.  This is much safer than standing on the top step of a
        rickety step-ladder or hanging off the side of a launch tower with
        a screw-driver trying to turn on your avionics before installing
        igniters!
      </p></div><div class="section" title="GPS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2567005"></a>GPS </h2></div></div></div><p>
        TeleMetrum includes a complete GPS receiver.  See a later section for
        a brief explanation of how GPS works that will help you understand
        the information in the telemetry stream.  The bottom line is that
        the TeleMetrum GPS receiver needs to lock onto at least four
        satellites to obtain a solid 3 dimensional position fix and know
        what time it is!
      </p><p>
        TeleMetrum provides backup power to the GPS chip any time a LiPo
        battery is connected.  This allows the receiver to "warm start" on
        the launch rail much faster than if every power-on were a "cold start"
        for the GPS receiver.  In typical operations, powering up TeleMetrum
        on the flight line in idle mode while performing final airframe
        preparation will be sufficient to allow the GPS receiver to cold
        start and acquire lock.  Then the board can be powered down during
        RSO review and installation on a launch rod or rail.  When the board
        is turned back on, the GPS system should lock very quickly, typically
        long before igniter installation and return to the flight line are
        complete.
      </p></div><div class="section" title="Ground Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2581409"></a>Ground Testing </h2></div></div></div><p>
        An important aspect of preparing a rocket using electronic deployment
        for flight is ground testing the recovery system.  Thanks
        to the bi-directional RF link central to the Altus Metrum system,
        this can be accomplished in a TeleMetrum-equipped rocket without as
        much work as you may be accustomed to with other systems.  It can
        even be fun!
      </p><p>
        Just prep the rocket for flight, then power up TeleMetrum while the
        airframe is horizontal.  This will cause the firmware to go into
        "idle" mode, in which the normal flight state machine is disabled and
        charges will not fire without manual command.  Then, establish an
        RF packet connection from a TeleDongle-equipped computer using the
        P command from a safe distance.  You can now command TeleMetrum to
        fire the apogee or main charges to complete your testing.
      </p><p>
        In order to reduce the chance of accidental firing of pyrotechnic
        charges, the command to fire a charge is intentionally somewhat
        difficult to type, and the built-in help is slightly cryptic to
        prevent accidental echoing of characters from the help text back at
        the board from firing a charge.  The command to fire the apogee
        drogue charge is 'i DoIt drogue' and the command to fire the main
        charge is 'i DoIt main'.
      </p></div><div class="section" title="Radio Link"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2581407"></a>Radio Link </h2></div></div></div><p>
        The chip our boards are based on incorporates an RF transceiver, but
        it's not a full duplex system... each end can only be transmitting or
        receiving at any given moment.  So we had to decide how to manage the
        link.
      </p><p>
        By design, TeleMetrum firmware listens for an RF connection when
        it's in "idle mode" (turned on while the rocket is horizontal), which
        allows us to use the RF link to configure the rocket, do things like
        ejection tests, and extract data after a flight without having to
        crack open the airframe.  However, when the board is in "flight
        mode" (turned on when the rocket is vertical) the TeleMetrum only
        transmits and doesn't listen at all.  That's because we want to put
        ultimate priority on event detection and getting telemetry out of
        the rocket and out over
        the RF link in case the rocket crashes and we aren't able to extract
        data later...
      </p><p>
        We don't use a 'normal packet radio' mode because they're just too
        inefficient.  The GFSK modulation we use is just FSK with the
        baseband pulses passed through a
        Gaussian filter before they go into the modulator to limit the
        transmitted bandwidth.  When combined with the hardware forward error
        correction support in the cc1111 chip, this allows us to have a very
        robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
        a whip antenna in the rocket, and a hand-held Yagi on the ground.  We've
        had flights to above 21k feet AGL with good reception, and calculations
        suggest we should be good to well over 40k feet AGL with a 5-element yagi on
        the ground.  We hope to fly boards to higher altitudes soon, and would
        of course appreciate customer feedback on performance in higher
        altitude flights!
      </p></div><div class="section" title="Configurable Parameters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2552127"></a>Configurable Parameters</h2></div></div></div><p>
        Configuring a TeleMetrum board for flight is very simple.  Because we
        have both acceleration and pressure sensors, there is no need to set
        a "mach delay", for example.  The few configurable parameters can all
        be set using a simple terminal program over the USB port or RF link
        via TeleDongle.
      </p><div class="section" title="Radio Channel"><div class="titlepage"><div><div><h3 class="title"><a name="id2572399"></a>Radio Channel</h3></div></div></div><p>
          Our firmware supports 10 channels.  The default channel 0 corresponds
          to a center frequency of 434.550 Mhz, and channels are spaced every
          100 khz.  Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz.
          At any given launch, we highly recommend coordinating who will use
          each channel and when to avoid interference.  And of course, both
          TeleMetrum and TeleDongle must be configured to the same channel to
          successfully communicate with each other.
        </p><p>
          To set the radio channel, use the 'c r' command, like 'c r 3' to set
          channel 3.
          As with all 'c' sub-commands, follow this with a 'c w' to write the
          change to the parameter block in the on-board DataFlash chip on
          your TeleMetrum board if you want the change to stay in place across reboots.
        </p></div><div class="section" title="Apogee Delay"><div class="titlepage"><div><div><h3 class="title"><a name="id2563312"></a>Apogee Delay</h3></div></div></div><p>
          Apogee delay is the number of seconds after TeleMetrum detects flight
          apogee that the drogue charge should be fired.  In most cases, this
          should be left at the default of 0.  However, if you are flying
          redundant electronics such as for an L3 certification, you may wish
          to set one of your altimeters to a positive delay so that both
          primary and backup pyrotechnic charges do not fire simultaneously.
        </p><p>
          To set the apogee delay, use the 'c d' command.
          As with all 'c' sub-commands, follow this with a 'c w' to write the
          change to the parameter block in the on-board DataFlash chip.
        </p><p>
          Please note that the TeleMetrum apogee detection algorithm always
          fires a fraction of a second *after* apogee.  If you are also flying
          an altimeter like the PerfectFlite MAWD, which only supports selecting
          0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0
          seconds delay and set the TeleMetrum to fire your backup 2 or 3
          seconds later to avoid any chance of both charges firing
          simultaneously.  We've flown several airframes this way quite happily,
          including Keith's successful L3 cert.
        </p></div><div class="section" title="Main Deployment Altitude"><div class="titlepage"><div><div><h3 class="title"><a name="id2581119"></a>Main Deployment Altitude</h3></div></div></div><p>
          By default, TeleMetrum will fire the main deployment charge at an
          elevation of 250 meters (about 820 feet) above ground.  We think this
          is a good elevation for most airframes, but feel free to change this
          to suit.  In particular, if you are flying two altimeters, you may
          wish to set the
          deployment elevation for the backup altimeter to be something lower
          than the primary so that both pyrotechnic charges don't fire
          simultaneously.
        </p><p>
          To set the main deployment altitude, use the 'c m' command.
          As with all 'c' sub-commands, follow this with a 'c w' to write the
          change to the parameter block in the on-board DataFlash chip.
        </p></div></div><div class="section" title="Calibration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2559748"></a>Calibration</h2></div></div></div><p>
        There are only two calibrations required for a TeleMetrum board, and
        only one for TeleDongle.
      </p><div class="section" title="Radio Frequency"><div class="titlepage"><div><div><h3 class="title"><a name="id2583470"></a>Radio Frequency</h3></div></div></div><p>
          The radio frequency is synthesized from a clock based on the 48 Mhz
          crystal on the board.  The actual frequency of this oscillator must be
          measured to generate a calibration constant.  While our GFSK modulation
          bandwidth is wide enough to allow boards to communicate even when
          their oscillators are not on exactly the same frequency, performance
          is best when they are closely matched.
          Radio frequency calibration requires a calibrated frequency counter.
          Fortunately, once set, the variation in frequency due to aging and
          temperature changes is small enough that re-calibration by customers
          should generally not be required.
        </p><p>
          To calibrate the radio frequency, connect the UHF antenna port to a
          frequency counter, set the board to channel 0, and use the 'C'
          command to generate a CW carrier.  Wait for the transmitter temperature
          to stabilize and the frequency to settle down.
          Then, divide 434.550 Mhz by the
          measured frequency and multiply by the current radio cal value show
          in the 'c s' command.  For an unprogrammed board, the default value
          is 1186611.  Take the resulting integer and program it using the 'c f'
          command.  Testing with the 'C' command again should show a carrier
          within a few tens of Hertz of the intended frequency.
          As with all 'c' sub-commands, follow this with a 'c w' to write the
          change to the parameter block in the on-board DataFlash chip.
        </p></div><div class="section" title="Accelerometer"><div class="titlepage"><div><div><h3 class="title"><a name="id2573580"></a>Accelerometer</h3></div></div></div><p>
          The accelerometer we use has its own 5 volt power supply and
          the output must be passed through a resistive voltage divider to match
          the input of our 3.3 volt ADC.  This means that unlike the barometric
          sensor, the output of the acceleration sensor is not ratiometric to
          the ADC converter, and calibration is required.  We also support the
          use of any of several accelerometers from a Freescale family that
          includes at least +/- 40g, 50g, 100g, and 200g parts.  Using gravity,
          a simple 2-point calibration yields acceptable results capturing both
          the different sensitivities and ranges of the different accelerometer
          parts and any variation in power supply voltages or resistor values
          in the divider network.
        </p><p>
          To calibrate the acceleration sensor, use the 'c a 0' command.  You
          will be prompted to orient the board vertically with the UHF antenna
          up and press a key, then to orient the board vertically with the
          UHF antenna down and press a key.
          As with all 'c' sub-commands, follow this with a 'c w' to write the
          change to the parameter block in the on-board DataFlash chip.
        </p><p>
          The +1g and -1g calibration points are included in each telemetry
          frame and are part of the header extracted by ao-dumplog after flight.
          Note that we always store and return raw ADC samples for each
          sensor... nothing is permanently "lost" or "damaged" if the
          calibration is poor.
        </p><p>
         In the unlikely event an accel cal that goes badly, it is possible
         that TeleMetrum may always come up in 'pad mode' and as such not be
         listening to either the USB or radio interfaces.  If that happens,
         there is a special hook in the firmware to force the board back
         in to 'idle mode' so you can re-do the cal.  To use this hook, you
         just need to ground the SPI clock pin at power-on.  This pin is
         available as pin 2 on the 8-pin companion connector, and pin 1 is
         ground.  So either carefully install a fine-gauge wire jumper
         between the two pins closest to the index hole end of the 8-pin
         connector, or plug in the programming cable to the 8-pin connector
         and use a small screwdriver or similar to short the two pins closest
         to the index post on the 4-pin end of the programming cable, and
         power up the board.  It should come up in 'idle mode' (two beeps).
        </p></div></div><div class="section" title="Updating Device Firmware"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2581818"></a>Updating Device Firmware</h2></div></div></div><p>
      The big conceptual thing to realize is that you have to use a
      TeleDongle as a programmer to update a TeleMetrum, and vice versa.
      Due to limited memory resources in the cc1111, we don't support
      programming either unit directly over USB.
    </p><p>
      You may wish to begin by ensuring you have current firmware images.
      These are distributed as part of the AltOS software bundle that
      also includes the AltosUI ground station program.  Newer ground
      station versions typically work fine with older firmware versions,
      so you don't need to update your devices just to try out new
      software features.  You can always download the most recent
      version from <a class="ulink" href="http://www.altusmetrum.org/AltOS/" target="_top">http://www.altusmetrum.org/AltOS/</a>.
    </p><p>
      We recommend updating TeleMetrum first, before updating TeleDongle.
    </p><div class="section" title="Updating TeleMetrum Firmware"><div class="titlepage"><div><div><h3 class="title"><a name="id2554717"></a>Updating TeleMetrum Firmware</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
          Find the 'programming cable' that you got as part of the starter
          kit, that has a red 8-pin MicroMaTch connector on one end and a
          red 4-pin MicroMaTch connector on the other end.
        </li><li class="listitem">
          Take the 2 screws out of the TeleDongle case to get access
          to the circuit board.
        </li><li class="listitem">
          Plug the 8-pin end of the programming cable to the
          matching connector on the TeleDongle, and the 4-pin end to the
          matching connector on the TeleMetrum.
	  Note that each MicroMaTch connector has an alignment pin that
	  goes through a hole in the PC board when you have the cable
	  oriented correctly.
        </li><li class="listitem">
          Attach a battery to the TeleMetrum board.
        </li><li class="listitem">
          Plug the TeleDongle into your computer's USB port, and power
          up the TeleMetrum.
        </li><li class="listitem">
          Run AltosUI, and select 'Flash Image' from the File menu.
        </li><li class="listitem">
          Pick the TeleDongle device from the list, identifying it as the
          programming device.
        </li><li class="listitem">
          Select the image you want put on the TeleMetrum, which should have a
          name in the form telemetrum-v1.0-0.7.1.ihx.  It should be visible
	in the default directory, if not you may have to poke around
	your system to find it.
        </li><li class="listitem">
          Make sure the configuration parameters are reasonable
          looking. If the serial number and/or RF configuration
          values aren't right, you'll need to change them.
        </li><li class="listitem">
          Hit the 'OK' button and the software should proceed to flash
          the TeleMetrum with new firmware, showing a progress bar.
        </li><li class="listitem">
          Confirm that the TeleMetrum board seems to have updated ok, which you
          can do by plugging in to it over USB and using a terminal program
          to connect to the board and issue the 'v' command to check
          the version, etc.
        </li><li class="listitem">
          If something goes wrong, give it another try.
        </li></ol></div></div><div class="section" title="Updating TeleDongle Firmware"><div class="titlepage"><div><div><h3 class="title"><a name="id2564109"></a>Updating TeleDongle Firmware</h3></div></div></div><p>
        Updating TeleDongle's firmware is just like updating TeleMetrum
	firmware, but you switch which board is the programmer and which
	is the programming target.
	</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
          Find the 'programming cable' that you got as part of the starter
          kit, that has a red 8-pin MicroMaTch connector on one end and a
          red 4-pin MicroMaTch connector on the other end.
        </li><li class="listitem">
	  Find the USB cable that you got as part of the starter kit, and
	  plug the "mini" end in to the mating connector on TeleMetrum.
        </li><li class="listitem">
          Take the 2 screws out of the TeleDongle case to get access
          to the circuit board.
        </li><li class="listitem">
          Plug the 8-pin end of the programming cable to the (latching)
          matching connector on the TeleMetrum, and the 4-pin end to the
          matching connector on the TeleDongle.
	  Note that each MicroMaTch connector has an alignment pin that
	  goes through a hole in the PC board when you have the cable
	  oriented correctly.
        </li><li class="listitem">
          Attach a battery to the TeleMetrum board.
        </li><li class="listitem">
          Plug both TeleMetrum and TeleDongle into your computer's USB
	  ports, and power up the TeleMetrum.
        </li><li class="listitem">
          Run AltosUI, and select 'Flash Image' from the File menu.
        </li><li class="listitem">
          Pick the TeleMetrum device from the list, identifying it as the
          programming device.
        </li><li class="listitem">
          Select the image you want put on the TeleDongle, which should have a
          name in the form teledongle-v0.2-0.7.1.ihx.  It should be visible
	in the default directory, if not you may have to poke around
	your system to find it.
        </li><li class="listitem">
          Make sure the configuration parameters are reasonable
          looking. If the serial number and/or RF configuration
          values aren't right, you'll need to change them.  The TeleDongle
	  serial number is on the "bottom" of the circuit board, and can
	  usually be read through the translucent blue plastic case without
	  needing to remove the board from the case.
        </li><li class="listitem">
          Hit the 'OK' button and the software should proceed to flash
          the TeleDongle with new firmware, showing a progress bar.
        </li><li class="listitem">
          Confirm that the TeleDongle board seems to have updated ok, which you
          can do by plugging in to it over USB and using a terminal program
          to connect to the board and issue the 'v' command to check
          the version, etc.  Once you're happy, remove the programming cable
	  and put the cover back on the TeleDongle.
        </li><li class="listitem">
          If something goes wrong, give it another try.
        </li></ol></div><p>
        Be careful removing the programming cable from the locking 8-pin
        connector on TeleMetrum.  You'll need a fingernail or perhaps a thin
        screwdriver or knife blade to gently pry the locking ears out
        slightly to extract the connector.  We used a locking connector on
        TeleMetrum to help ensure that the cabling to companion boards
        used in a rocket don't ever come loose accidentally in flight.
      </p></div></div></div><div class="chapter" title="Chapter 7. AltosUI"><div class="titlepage"><div><div><h2 class="title"><a name="id2562062"></a>Chapter 7. AltosUI</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2578432">Packet Command Mode</a></span></dt><dt><span class="section"><a href="#id2572301">Monitor Flight</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554918">Launch Pad</a></span></dt><dt><span class="section"><a href="#id2574995">Ascent</a></span></dt><dt><span class="section"><a href="#id2576209">Descent</a></span></dt><dt><span class="section"><a href="#id2561512">Landed</a></span></dt><dt><span class="section"><a href="#id2587026">Site Map</a></span></dt></dl></dd><dt><span class="section"><a href="#id2576446">Save Flight Data</a></span></dt><dt><span class="section"><a href="#id2586529">Replay Flight</a></span></dt><dt><span class="section"><a href="#id2573351">Graph Data</a></span></dt><dt><span class="section"><a href="#id2568352">Export Data</a></span></dt><dd><dl><dt><span class="section"><a href="#id2575553">Comma Separated Value Format</a></span></dt><dt><span class="section"><a href="#id2579115">Keyhole Markup Language (for Google Earth)</a></span></dt></dl></dd><dt><span class="section"><a href="#id2570375">Configure TeleMetrum</a></span></dt><dd><dl><dt><span class="section"><a href="#id2559233">Main Deploy Altitude</a></span></dt><dt><span class="section"><a href="#id2552914">Apogee Delay</a></span></dt><dt><span class="section"><a href="#id2582365">Radio Channel</a></span></dt><dt><span class="section"><a href="#id2563940">Radio Calibration</a></span></dt><dt><span class="section"><a href="#id2561819">Callsign</a></span></dt><dt><span class="section"><a href="#id2572471">Maximum Flight Log Size</a></span></dt></dl></dd><dt><span class="section"><a href="#id2564177">Configure AltosUI</a></span></dt><dd><dl><dt><span class="section"><a href="#id2575461">Voice Settings</a></span></dt><dt><span class="section"><a href="#id2573515">Log Directory</a></span></dt><dt><span class="section"><a href="#id2565097">Callsign</a></span></dt><dt><span class="section"><a href="#id2546395">Serial Debug</a></span></dt></dl></dd><dt><span class="section"><a href="#id2575721">Flash Image</a></span></dt><dt><span class="section"><a href="#id2576287">Fire Igniter</a></span></dt></dl></div><p>
      The AltosUI program provides a graphical user interface for
      interacting with the Altus Metrum product family, including
      TeleMetrum and TeleDongle. AltosUI can monitor telemetry data,
      configure TeleMetrum and TeleDongle devices and many other
      tasks. The primary interface window provides a selection of
      buttons, one for each major activity in the system.  This manual
      is split into chapters, each of which documents one of the tasks
      provided from the top-level toolbar.
    </p><div class="section" title="Packet Command Mode"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2578432"></a>Packet Command Mode</h2></div><div><h3 class="subtitle">Controlling TeleMetrum Over The Radio Link</h3></div></div></div><p>
        One of the unique features of the Altus Metrum environment is
        the ability to create a two way command link between TeleDongle
        and TeleMetrum using the digital radio transceivers built into
        each device. This allows you to interact with TeleMetrum from
        afar, as if it were directly connected to the computer.
      </p><p>
        Any operation which can be performed with TeleMetrum
        can either be done with TeleMetrum directly connected to
        the computer via the USB cable, or through the packet
        link. Simply select the appropriate TeleDongle device when
        the list of devices is presented and AltosUI will use packet
        command mode.
      </p><p>
	One oddity in the current interface is how AltosUI selects the
	channel for packet mode communications. Instead of providing
	an interface to specifically configure the channel, it uses
	whatever channel was most recently selected for the target
	TeleDongle device in Monitor Flight mode. If you haven't ever
	used that mode with the TeleDongle in question, select the
	Monitor Flight button from the top level UI, pick the
	appropriate TeleDongle device. Once the flight monitoring
	window is open, select the desired channel and then close it
	down again. All Packet Command Mode operations will now use
	that channel.
      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            Save Flight Data&#8212;Recover flight data from the rocket without
            opening it up.
          </p></li><li class="listitem"><p>
            Configure TeleMetrum&#8212;Reset apogee delays or main deploy
            heights to respond to changing launch conditions. You can
            also 'reboot' the TeleMetrum device. Use this to remotely
            enable the flight computer by turning TeleMetrum on while
            horizontal, then once the airframe is oriented for launch,
            you can reboot TeleMetrum and have it restart in pad mode
            without having to climb the scary ladder.
          </p></li><li class="listitem"><p>
            Fire Igniters&#8212;Test your deployment charges without snaking
            wires out through holes in the airframe. Simply assembly the
            rocket as if for flight with the apogee and main charges
            loaded, then remotely command TeleMetrum to fire the
            igniters.
          </p></li></ul></div><p>
        Packet command mode uses the same RF channels as telemetry
        mode. Configure the desired TeleDongle channel using the
        flight monitor window channel selector and then close that
        window before performing the desired operation.
      </p><p>
        TeleMetrum only enables packet command mode in 'idle' mode, so
        make sure you have TeleMetrum lying horizontally when you turn
        it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
        flight and will not be listening for command packets from TeleDongle.
      </p><p>
        When packet command mode is enabled, you can monitor the link
        by watching the lights on the TeleDongle and TeleMetrum
        devices. The red LED will flash each time TeleDongle or
        TeleMetrum transmit a packet while the green LED will light up
        on TeleDongle while it is waiting to receive a packet from
        TeleMetrum.
      </p></div><div class="section" title="Monitor Flight"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2572301"></a>Monitor Flight</h2></div><div><h3 class="subtitle">Receive, Record and Display Telemetry Data</h3></div></div></div><p>
        Selecting this item brings up a dialog box listing all of the
        connected TeleDongle devices. When you choose one of these,
        AltosUI will create a window to display telemetry data as
        received by the selected TeleDongle device.
      </p><p>
        All telemetry data received are automatically recorded in
        suitable log files. The name of the files includes the current
        date and rocket serial and flight numbers.
      </p><p>
        The radio channel being monitored by the TeleDongle device is
        displayed at the top of the window. You can configure the
        channel by clicking on the channel box and selecting the desired
        channel. AltosUI remembers the last channel selected for each
        TeleDongle and selects that automatically the next time you use
        that device.
      </p><p>
        Below the TeleDongle channel selector, the window contains a few
        significant pieces of information about the TeleMetrum providing
        the telemetry data stream:
      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The TeleMetrum callsign</p></li><li class="listitem"><p>The TeleMetrum serial number</p></li><li class="listitem"><p>The flight number. Each TeleMetrum remembers how many
            times it has flown.
          </p></li><li class="listitem"><p>
            The rocket flight state. Each flight passes through several
            states including Pad, Boost, Fast, Coast, Drogue, Main and
            Landed.
          </p></li><li class="listitem"><p>
            The Received Signal Strength Indicator value. This lets
            you know how strong a signal TeleDongle is receiving. The
            radio inside TeleDongle operates down to about -99dBm;
            weaker signals may not be receiveable. The packet link uses
            error correction and detection techniques which prevent
            incorrect data from being reported.
          </p></li></ul></div><p>
        Finally, the largest portion of the window contains a set of
        tabs, each of which contain some information about the rocket.
        They're arranged in 'flight order' so that as the flight
        progresses, the selected tab automatically switches to display
        data relevant to the current state of the flight. You can select
        other tabs at any time. The final 'table' tab contains all of
        the telemetry data in one place.
      </p><div class="section" title="Launch Pad"><div class="titlepage"><div><div><h3 class="title"><a name="id2554918"></a>Launch Pad</h3></div></div></div><p>
          The 'Launch Pad' tab shows information used to decide when the
          rocket is ready for flight. The first elements include red/green
          indicators, if any of these is red, you'll want to evaluate
          whether the rocket is ready to launch:
          </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
                Battery Voltage. This indicates whether the LiPo battery
                powering the TeleMetrum has sufficient charge to last for
                the duration of the flight. A value of more than
                3.7V is required for a 'GO' status.
              </p></li><li class="listitem"><p>
                Apogee Igniter Voltage. This indicates whether the apogee
                igniter has continuity. If the igniter has a low
                resistance, then the voltage measured here will be close
                to the LiPo battery voltage. A value greater than 3.2V is
                required for a 'GO' status.
              </p></li><li class="listitem"><p>
                Main Igniter Voltage. This indicates whether the main
                igniter has continuity. If the igniter has a low
                resistance, then the voltage measured here will be close
                to the LiPo battery voltage. A value greater than 3.2V is
                required for a 'GO' status.
              </p></li><li class="listitem"><p>
                GPS Locked. This indicates whether the GPS receiver is
                currently able to compute position information. GPS requires
                at least 4 satellites to compute an accurate position.
              </p></li><li class="listitem"><p>
                GPS Ready. This indicates whether GPS has reported at least
                10 consecutive positions without losing lock. This ensures
                that the GPS receiver has reliable reception from the
                satellites.
              </p></li></ul></div><p>
          </p><p>
            The LaunchPad tab also shows the computed launch pad position
            and altitude, averaging many reported positions to improve the
            accuracy of the fix.
          </p><p>
        </p></div><div class="section" title="Ascent"><div class="titlepage"><div><div><h3 class="title"><a name="id2574995"></a>Ascent</h3></div></div></div><p>
          This tab is shown during Boost, Fast and Coast
          phases. The information displayed here helps monitor the
          rocket as it heads towards apogee.
        </p><p>
          The height, speed and acceleration are shown along with the
          maxium values for each of them. This allows you to quickly
          answer the most commonly asked questions you'll hear during
          flight.
        </p><p>
          The current latitude and longitude reported by the GPS are
          also shown. Note that under high acceleration, these values
          may not get updated as the GPS receiver loses position
          fix. Once the rocket starts coasting, the receiver should
          start reporting position again.
        </p><p>
          Finally, the current igniter voltages are reported as in the
          Launch Pad tab. This can help diagnose deployment failures
          caused by wiring which comes loose under high acceleration.
        </p></div><div class="section" title="Descent"><div class="titlepage"><div><div><h3 class="title"><a name="id2576209"></a>Descent</h3></div></div></div><p>
          Once the rocket has reached apogee and (we hope) activated the
          apogee charge, attention switches to tracking the rocket on
          the way back to the ground, and for dual-deploy flights,
          waiting for the main charge to fire.
        </p><p>
          To monitor whether the apogee charge operated correctly, the
          current descent rate is reported along with the current
          height. Good descent rates generally range from 15-30m/s.
        </p><p>
          To help locate the rocket in the sky, use the elevation and
          bearing information to figure out where to look. Elevation is
          in degrees above the horizon. Bearing is reported in degrees
          relative to true north. Range can help figure out how big the
          rocket will appear. Note that all of these values are relative
          to the pad location. If the elevation is near 90°, the rocket
          is over the pad, not over you.
        </p><p>
          Finally, the igniter voltages are reported in this tab as
          well, both to monitor the main charge as well as to see what
          the status of the apogee charge is.
        </p></div><div class="section" title="Landed"><div class="titlepage"><div><div><h3 class="title"><a name="id2561512"></a>Landed</h3></div></div></div><p>
          Once the rocket is on the ground, attention switches to
          recovery. While the radio signal is generally lost once the
          rocket is on the ground, the last reported GPS position is
          generally within a short distance of the actual landing location.
        </p><p>
          The last reported GPS position is reported both by
          latitude and longitude as well as a bearing and distance from
          the launch pad. The distance should give you a good idea of
          whether you'll want to walk or hitch a ride. Take the reported
          latitude and longitude and enter them into your handheld GPS
          unit and have that compute a track to the landing location.
        </p><p>
          Finally, the maximum height, speed and acceleration reported
          during the flight are displayed for your admiring observers.
        </p></div><div class="section" title="Site Map"><div class="titlepage"><div><div><h3 class="title"><a name="id2587026"></a>Site Map</h3></div></div></div><p>
          When the rocket gets a GPS fix, the Site Map tab will map
          the rocket's position to make it easier for you to locate the
          rocket, both while it is in the air, and when it has landed. The
          rocket's state is indicated by colour: white for pad, red for
          boost, pink for fast, yellow for coast, light blue for drogue,
          dark blue for main, and black for landed.
        </p><p>
          The map's scale is approximately 3m (10ft) per pixel. The map
          can be dragged using the left mouse button. The map will attempt
          to keep the rocket roughly centred while data is being received.
        </p><p>
          Images are fetched automatically via the Google Maps Static API,
          and are cached for reuse. If map images cannot be downloaded,
          the rocket's path will be traced on a dark grey background
          instead.
        </p></div></div><div class="section" title="Save Flight Data"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2576446"></a>Save Flight Data</h2></div></div></div><p>
        TeleMetrum records flight data to its internal flash memory.
        This data is recorded at a much higher rate than the telemetry
        system can handle, and is not subject to radio drop-outs. As
        such, it provides a more complete and precise record of the
        flight. The 'Save Flight Data' button allows you to read the
        flash memory and write it to disk.
      </p><p>
        Clicking on the 'Save Flight Data' button brings up a list of
        connected TeleMetrum and TeleDongle devices. If you select a
        TeleMetrum device, the flight data will be downloaded from that
        device directly. If you select a TeleDongle device, flight data
        will be downloaded from a TeleMetrum device connected via the
        packet command link to the specified TeleDongle. See the chapter
        on Packet Command Mode for more information about this.
      </p><p>
	After the device has been selected, a dialog showing the
	flight data saved in the device will be shown allowing you to
	select which flights to download and which to delete. With
	version 0.9 or newer firmware, you must erase flights in order
	for the space they consume to be reused by another
	flight. This prevents you from accidentally losing flight data
	if you neglect to download data before flying again. Note that
	if there is no more space available in the device, then no
	data will be recorded for a flight.
      </p><p>
        The filename for each flight log is computed automatically
        from the recorded flight date, TeleMetrum serial number and
        flight number information.
      </p></div><div class="section" title="Replay Flight"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2586529"></a>Replay Flight</h2></div></div></div><p>
        Select this button and you are prompted to select a flight
        record file, either a .telem file recording telemetry data or a
        .eeprom file containing flight data saved from the TeleMetrum
        flash memory.
      </p><p>
        Once a flight record is selected, the flight monitor interface
        is displayed and the flight is re-enacted in real time. Check
        the Monitor Flight chapter above to learn how this window operates.
      </p></div><div class="section" title="Graph Data"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2573351"></a>Graph Data</h2></div></div></div><p>
        Select this button and you are prompted to select a flight
        record file, either a .telem file recording telemetry data or a
        .eeprom file containing flight data saved from the TeleMetrum
        flash memory.
      </p><p>
        Once a flight record is selected, the acceleration (blue),
        velocity (green) and altitude (red) of the flight are plotted and
        displayed, measured in metric units.
      </p><p>
        The graph can be zoomed into a particular area by clicking and
        dragging down and to the right. Once zoomed, the graph can be
        reset by clicking and dragging up and to the left. Holding down
        control and clicking and dragging allows the graph to be panned.
        The right mouse button causes a popup menu to be displayed, giving
        you the option save or print the plot.
      </p><p>
        Note that telemetry files will generally produce poor graphs
        due to the lower sampling rate and missed telemetry packets,
        and will also often have significant amounts of data received
        while the rocket was waiting on the pad. Use saved flight data
        for graphing where possible.
      </p></div><div class="section" title="Export Data"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2568352"></a>Export Data</h2></div></div></div><p>
        This tool takes the raw data files and makes them available for
        external analysis. When you select this button, you are prompted to select a flight
        data file (either .eeprom or .telem will do, remember that
        .eeprom files contain higher resolution and more continuous
        data). Next, a second dialog appears which is used to select
        where to write the resulting file. It has a selector to choose
        between CSV and KML file formats.
      </p><div class="section" title="Comma Separated Value Format"><div class="titlepage"><div><div><h3 class="title"><a name="id2575553"></a>Comma Separated Value Format</h3></div></div></div><p>
          This is a text file containing the data in a form suitable for
          import into a spreadsheet or other external data analysis
          tool. The first few lines of the file contain the version and
          configuration information from the TeleMetrum device, then
          there is a single header line which labels all of the
          fields. All of these lines start with a '#' character which
          most tools can be configured to skip over.
        </p><p>
          The remaining lines of the file contain the data, with each
          field separated by a comma and at least one space. All of
          the sensor values are converted to standard units, with the
          barometric data reported in both pressure, altitude and
          height above pad units.
        </p></div><div class="section" title="Keyhole Markup Language (for Google Earth)"><div class="titlepage"><div><div><h3 class="title"><a name="id2579115"></a>Keyhole Markup Language (for Google Earth)</h3></div></div></div><p>
          This is the format used by
          Googleearth to provide an overlay within that
          application. With this, you can use Googleearth to see the
          whole flight path in 3D.
        </p></div></div><div class="section" title="Configure TeleMetrum"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2570375"></a>Configure TeleMetrum</h2></div></div></div><p>
        Select this button and then select either a TeleMetrum or
        TeleDongle Device from the list provided. Selecting a TeleDongle
        device will use Packet Comamnd Mode to configure remote
        TeleMetrum device. Learn how to use this in the Packet Command
        Mode chapter.
      </p><p>
        The first few lines of the dialog provide information about the
        connected TeleMetrum device, including the product name,
        software version and hardware serial number. Below that are the
        individual configuration entries.
      </p><p>
        At the bottom of the dialog, there are four buttons:
      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
            Save. This writes any changes to the TeleMetrum
            configuration parameter block in flash memory. If you don't
            press this button, any changes you make will be lost.
          </p></li><li class="listitem"><p>
            Reset. This resets the dialog to the most recently saved values,
            erasing any changes you have made.
          </p></li><li class="listitem"><p>
            Reboot. This reboots the TeleMetrum device. Use this to
            switch from idle to pad mode by rebooting once the rocket is
            oriented for flight.
          </p></li><li class="listitem"><p>
            Close. This closes the dialog. Any unsaved changes will be
            lost.
          </p></li></ul></div><p>
        The rest of the dialog contains the parameters to be configured.
      </p><div class="section" title="Main Deploy Altitude"><div class="titlepage"><div><div><h3 class="title"><a name="id2559233"></a>Main Deploy Altitude</h3></div></div></div><p>
          This sets the altitude (above the recorded pad altitude) at
          which the 'main' igniter will fire. The drop-down menu shows
          some common values, but you can edit the text directly and
          choose whatever you like. If the apogee charge fires below
          this altitude, then the main charge will fire two seconds
          after the apogee charge fires.
        </p></div><div class="section" title="Apogee Delay"><div class="titlepage"><div><div><h3 class="title"><a name="id2552914"></a>Apogee Delay</h3></div></div></div><p>
          When flying redundant electronics, it's often important to
          ensure that multiple apogee charges don't fire at precisely
          the same time as that can overpressurize the apogee deployment
          bay and cause a structural failure of the airframe. The Apogee
          Delay parameter tells the flight computer to fire the apogee
          charge a certain number of seconds after apogee has been
          detected.
        </p></div><div class="section" title="Radio Channel"><div class="titlepage"><div><div><h3 class="title"><a name="id2582365"></a>Radio Channel</h3></div></div></div><p>
          This configures which of the 10 radio channels to use for both
          telemetry and packet command mode. Note that if you set this
          value via packet command mode, you will have to reconfigure
          the TeleDongle channel before you will be able to use packet
          command mode again.
        </p></div><div class="section" title="Radio Calibration"><div class="titlepage"><div><div><h3 class="title"><a name="id2563940"></a>Radio Calibration</h3></div></div></div><p>
          The radios in every Altus Metrum device are calibrated at the
          factory to ensure that they transmit and receive on the
          specified frequency for each channel. You can adjust that
          calibration by changing this value. To change the TeleDongle's
          calibration, you must reprogram the unit completely.
        </p></div><div class="section" title="Callsign"><div class="titlepage"><div><div><h3 class="title"><a name="id2561819"></a>Callsign</h3></div></div></div><p>
          This sets the callsign included in each telemetry packet. Set this
          as needed to conform to your local radio regulations.
        </p></div><div class="section" title="Maximum Flight Log Size"><div class="titlepage"><div><div><h3 class="title"><a name="id2572471"></a>Maximum Flight Log Size</h3></div></div></div><p>
          This sets the space (in kilobytes) allocated for each flight
          log. The available space will be divided into chunks of this
          size. A smaller value will allow more flights to be stored,
          a larger value will record data from longer flights.
	</p><p>
	  During ascent, TeleMetrum records barometer and
	  accelerometer values 100 times per second, other analog
	  information (voltages and temperature) 6 times per second
	  and GPS data once per second. During descent, the non-GPS
	  data is recorded 1/10th as often. Each barometer +
	  accelerometer record takes 8 bytes.
	</p><p>
	  The default, 192kB, will store over 200 seconds of data at
	  the ascent rate, or over 2000 seconds of data at the descent
	  rate. That's plenty for most flights. This leaves enough
	  storage for five flights in a 1MB system, or 10 flights in a
	  2MB system.
	</p><p>
	  The configuration block takes the last available block of
	  memory, on v1.0 boards that's just 256 bytes. However, the
	  flash part on the v1.1 boards uses 64kB for each block.
        </p></div></div><div class="section" title="Configure AltosUI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2564177"></a>Configure AltosUI</h2></div></div></div><p>
        This button presents a dialog so that you can configure the AltosUI global settings.
      </p><div class="section" title="Voice Settings"><div class="titlepage"><div><div><h3 class="title"><a name="id2575461"></a>Voice Settings</h3></div></div></div><p>
          AltosUI provides voice annoucements during flight so that you
          can keep your eyes on the sky and still get information about
          the current flight status. However, sometimes you don't want
          to hear them.
        </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Enable&#8212;turns all voice announcements on and off</p></li><li class="listitem"><p>
              Test Voice&#8212;Plays a short message allowing you to verify
              that the audio systme is working and the volume settings
              are reasonable
            </p></li></ul></div></div><div class="section" title="Log Directory"><div class="titlepage"><div><div><h3 class="title"><a name="id2573515"></a>Log Directory</h3></div></div></div><p>
          AltosUI logs all telemetry data and saves all TeleMetrum flash
          data to this directory. This directory is also used as the
          staring point when selecting data files for display or export.
        </p><p>
          Click on the directory name to bring up a directory choosing
          dialog, select a new directory and click 'Select Directory' to
          change where AltosUI reads and writes data files.
        </p></div><div class="section" title="Callsign"><div class="titlepage"><div><div><h3 class="title"><a name="id2565097"></a>Callsign</h3></div></div></div><p>
          This value is used in command packet mode and is transmitted
          in each packet sent from TeleDongle and received from
          TeleMetrum. It is not used in telemetry mode as that transmits
          packets only from TeleMetrum to TeleDongle. Configure this
          with the AltosUI operators callsign as needed to comply with
          your local radio regulations.
        </p></div><div class="section" title="Serial Debug"><div class="titlepage"><div><div><h3 class="title"><a name="id2546395"></a>Serial Debug</h3></div></div></div><p>
          This causes all communication with a connected device to be
          dumped to the console from which AltosUI was started. If
          you've started it from an icon or menu entry, the output
          will simply be discarded. This mode can be useful to debug
          various serial communication issues.
        </p></div></div><div class="section" title="Flash Image"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2575721"></a>Flash Image</h2></div></div></div><p>
        This reprograms any Altus Metrum device by using a TeleMetrum or
        TeleDongle as a programming dongle. Please read the directions
        for connecting the programming cable in the main TeleMetrum
        manual before reading these instructions.
      </p><p>
        Once you have the programmer and target devices connected,
        push the 'Flash Image' button. That will present a dialog box
        listing all of the connected devices. Carefully select the
        programmer device, not the device to be programmed.
      </p><p>
        Next, select the image to flash to the device. These are named
        with the product name and firmware version. The file selector
        will start in the directory containing the firmware included
        with the AltosUI package. Navigate to the directory containing
        the desired firmware if it isn't there.
      </p><p>
        Next, a small dialog containing the device serial number and
        RF calibration values should appear. If these values are
        incorrect (possibly due to a corrupted image in the device),
        enter the correct values here.
      </p><p>
        Finally, a dialog containing a progress bar will follow the
        programming process.
      </p><p>
        When programming is complete, the target device will
        reboot. Note that if the target device is connected via USB, you
        will have to unplug it and then plug it back in for the USB
        connection to reset so that you can communicate with the device
        again.
      </p></div><div class="section" title="Fire Igniter"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2576287"></a>Fire Igniter</h2></div></div></div><p>
	This activates the igniter circuits in TeleMetrum to help test
	recovery systems deployment. Because this command can operate
	over the Packet Command Link, you can prepare the rocket as
	for flight and then test the recovery system without needing
	to snake wires inside the airframe.
      </p><p>
	Selecting the 'Fire Igniter' button brings up the usual device
	selection dialog. Pick the desired TeleDongle or TeleMetrum
	device. This brings up another window which shows the current
	continutity test status for both apogee and main charges.
      </p><p>
	Next, select the desired igniter to fire. This will enable the
	'Arm' button.
      </p><p>
	Select the 'Arm' button. This enables the 'Fire' button. The
	word 'Arm' is replaced by a countdown timer indicating that
	you have 10 seconds to press the 'Fire' button or the system
	will deactivate, at which point you start over again at
	selecting the desired igniter.
      </p></div></div><div class="chapter" title="Chapter 8. Using Altus Metrum Products"><div class="titlepage"><div><div><h2 class="title"><a name="id2570538"></a>Chapter 8. Using Altus Metrum Products</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2576134">Being Legal</a></span></dt><dt><span class="section"><a href="#id2573850">In the Rocket</a></span></dt><dt><span class="section"><a href="#id2572694">On the Ground</a></span></dt><dt><span class="section"><a href="#id2579324">Data Analysis</a></span></dt><dt><span class="section"><a href="#id2585899">Future Plans</a></span></dt></dl></div><div class="section" title="Being Legal"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2576134"></a>Being Legal</h2></div></div></div><p>
        First off, in the US, you need an <a class="ulink" href="http://www.altusmetrum.org/Radio/" target="_top">amateur radio license</a> or
        other authorization to legally operate the radio transmitters that are part
        of our products.
      </p></div><div class="section" title="In the Rocket"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2573850"></a>In the Rocket</h2></div></div></div><p>
          In the rocket itself, you just need a <a class="ulink" href="http://www.altusmetrum.org/TeleMetrum/" target="_top">TeleMetrum</a> board and
          a LiPo rechargeable battery.  An 860mAh battery weighs less than a 9V
          alkaline battery, and will run a <a class="ulink" href="http://www.altusmetrum.org/TeleMetrum/" target="_top">TeleMetrum</a> for hours.
        </p><p>
          By default, we ship TeleMetrum with a simple wire antenna.  If your
          electronics bay or the airframe it resides within is made of carbon fiber,
          which is opaque to RF signals, you may choose to have an SMA connector
          installed so that you can run a coaxial cable to an antenna mounted
          elsewhere in the rocket.
        </p></div><div class="section" title="On the Ground"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2572694"></a>On the Ground</h2></div></div></div><p>
          To receive the data stream from the rocket, you need an antenna and short
          feedline connected to one of our <a class="ulink" href="http://www.altusmetrum.org/TeleDongle/" target="_top">TeleDongle</a> units.  The
          TeleDongle in turn plugs directly into the USB port on a notebook
          computer.  Because TeleDongle looks like a simple serial port, your computer
          does not require special device drivers... just plug it in.
        </p><p>
	  The GUI tool, AltosUI, is written in Java and runs across
	  Linux, Mac OS and Windows. There's also a suite of C tools
	  for Linux which can perform most of the same tasks.
        </p><p>
          After the flight, you can use the RF link to extract the more detailed data
          logged in the rocket, or you can use a mini USB cable to plug into the
          TeleMetrum board directly.  Pulling out the data without having to open up
          the rocket is pretty cool!  A USB cable is also how you charge the LiPo
          battery, so you'll want one of those anyway... the same cable used by lots
          of digital cameras and other modern electronic stuff will work fine.
        </p><p>
          If your rocket lands out of sight, you may enjoy having a hand-held GPS
          receiver, so that you can put in a waypoint for the last reported rocket
          position before touch-down.  This makes looking for your rocket a lot like
          Geo-Cacheing... just go to the waypoint and look around starting from there.
        </p><p>
          You may also enjoy having a ham radio "HT" that covers the 70cm band... you
          can use that with your antenna to direction-find the rocket on the ground
          the same way you can use a Walston or Beeline tracker.  This can be handy
          if the rocket is hiding in sage brush or a tree, or if the last GPS position
          doesn't get you close enough because the rocket dropped into a canyon, or
          the wind is blowing it across a dry lake bed, or something like that...  Keith
          and Bdale both currently own and use the Yaesu VX-7R at launches.
        </p><p>
          So, to recap, on the ground the hardware you'll need includes:
          </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
              an antenna and feedline
            </li><li class="listitem">
              a TeleDongle
            </li><li class="listitem">
              a notebook computer
            </li><li class="listitem">
              optionally, a handheld GPS receiver
            </li><li class="listitem">
              optionally, an HT or receiver covering 435 Mhz
            </li></ol></div><p>
        </p><p>
          The best hand-held commercial directional antennas we've found for radio
          direction finding rockets are from
          <a class="ulink" href="http://www.arrowantennas.com/" target="_top">
            Arrow Antennas.
          </a>
          The 440-3 and 440-5 are both good choices for finding a
          TeleMetrum-equipped rocket when used with a suitable 70cm HT.
        </p></div><div class="section" title="Data Analysis"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2579324"></a>Data Analysis</h2></div></div></div><p>
          Our software makes it easy to log the data from each flight, both the
          telemetry received over the RF link during the flight itself, and the more
          complete data log recorded in the DataFlash memory on the TeleMetrum
          board.  Once this data is on your computer, our postflight tools make it
          easy to quickly get to the numbers everyone wants, like apogee altitude,
          max acceleration, and max velocity.  You can also generate and view a
          standard set of plots showing the altitude, acceleration, and
          velocity of the rocket during flight.  And you can even export a data file
          useable with Google Maps and Google Earth for visualizing the flight path
          in two or three dimensions!
        </p><p>
          Our ultimate goal is to emit a set of files for each flight that can be
          published as a web page per flight, or just viewed on your local disk with
          a web browser.
        </p></div><div class="section" title="Future Plans"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2585899"></a>Future Plans</h2></div></div></div><p>
          In the future, we intend to offer "companion boards" for the rocket that will
          plug in to TeleMetrum to collect additional data, provide more pyro channels,
          and so forth.  A reference design for a companion board will be documented
          soon, and will be compatible with open source Arduino programming tools.
        </p><p>
          We are also working on the design of a hand-held ground terminal that will
          allow monitoring the rocket's status, collecting data during flight, and
          logging data after flight without the need for a notebook computer on the
          flight line.  Particularly since it is so difficult to read most notebook
          screens in direct sunlight, we think this will be a great thing to have.
        </p><p>
          Because all of our work is open, both the hardware designs and the software,
          if you have some great idea for an addition to the current Altus Metrum family,
          feel free to dive in and help!  Or let us know what you'd like to see that
          we aren't already working on, and maybe we'll get excited about it too...
        </p></div></div></div></body></html>