altos/telefireone-v2.0: Remove build of ao_product.h from Makefile
[fw/altos] / doc / usage.inc
1 == Using Altus Metrum Hardware
2
3         Here are general instructions for hooking up an Altus Metrum
4         flight computer. Instructions specific to each model will be
5         found in the section devoted to that model below.
6
7         === Wiring and Electrical Interference
8
9                 To prevent electrical interference from affecting the
10                 operation of the flight computer, it's important to always
11                 twist pairs of wires connected to the board. Twist the switch
12                 leads, the pyro leads and the battery leads. This reduces
13                 interference through a mechanism called common mode rejection.
14
15         === Hooking Up Lithium Polymer Batteries
16
17                 All Altus Metrum flight computers have a two pin JST PH
18                 series connector to connect up a single-cell Lithium Polymer
19                 cell (3.7V nominal). You can purchase matching batteries
20                 from the Altus Metrum store, or other vendors, or you can
21                 make your own. Pin 1 of the connector is positive, pin 2 is
22                 negative. Spark Fun sells a cable with the connector
23                 attached, which they call a
24                 link:https://www.sparkfun.com/products/9914[JST Jumper 2 Wire Assembly]
25
26                 [WARNING]
27                 Many RC vendors also sell lithium polymer batteries with
28                 this same connector. All that we have found use the opposite
29                 polarity, and if you use them that way, you will damage or
30                 destroy the flight computer.
31
32         === Hooking Up Pyro Charges
33
34                 Altus Metrum flight computers always have two screws for
35                 each pyro charge. This means you shouldn't need to put two
36                 wires into a screw terminal or connect leads from pyro
37                 charges together externally.
38
39                 On the flight computer, one lead from each charge is hooked
40                 to the positive battery terminal through the power switch.
41                 The other lead is connected through the pyro circuit, which
42                 is connected to the negative battery terminal when the pyro
43                 circuit is fired.
44
45         === Hooking Up a Power Switch
46
47                 Altus Metrum flight computers need an external power switch
48                 to turn them on. This disconnects both the computer and the
49                 pyro charges from the battery, preventing the charges from
50                 firing when in the Off position. The switch is in-line with
51                 the positive battery terminal.
52
53         === Understanding Beeps
54
55                 Altus Metrum flight computers include a beeper to
56                 provide information about the state of the system.
57                 ifdef::telemini[]
58                 TeleMini doesn't have room for a beeper, so instead it
59                 uses an LED, which works the same, except for every
60                 beep is replaced with the flash of the LED.
61                 endif::telemini[]
62
63                 Here's a short summary of all of the modes and the
64                 beeping
65                 ifdef::telemini[(or flashing, in the case of TeleMini v1)]
66                 that accompanies each mode. In the description of the
67                 beeping pattern, “dit” means a short beep while "dah"
68                 means a long beep (three times as long). “Brap” means
69                 a long dissonant tone.
70
71                 .AltOS Modes
72                 [options="border",cols="1,1,2,2"]
73                 |====
74                 |Mode Name
75                 |Abbreviation
76                 |Beeps
77                 |Description
78
79                 |Startup
80                 |S
81                 |battery voltage in decivolts
82                 |Calibrating sensors, detecting orientation.
83
84                 |Idle
85                 |I
86                 |dit dit
87                 |Ready to accept commands over USB
88                 ifdef::radio[or radio link.]
89
90                 |Pad
91                 |P
92                 |dit dah dah dit
93                 |Waiting for launch. Not listening for commands.
94
95                 |Boost
96                 |B
97                 |dah dit dit dit
98                 |Accelerating upwards.
99
100                 |Fast
101                 |F
102                 |dit dit dah dit
103                 |Decelerating, but moving faster than 200m/s.
104
105                 |Coast
106                 |C
107                 |dah dit dah dit
108                 |Decelerating, moving slower than 200m/s
109
110                 |Drogue
111                 |D
112                 |dah dit dit
113                 |Descending after apogee. Above main height.
114
115                 |Main
116                 |M
117                 |dah dah
118                 |Descending. Below main height.
119
120                 |Landed
121                 |L
122                 |dit dah dit dit
123                 |Stable altitude for at least ten seconds.
124
125
126                 |Sensor error
127                 |X
128                 |dah dit dit dah
129                 |Error detected during sensor calibration.
130                 |====
131
132                 Here's a summary of all of the Pad and Idle mode
133                 indications. In Idle mode, you'll hear one of these
134                 just once after the two short dits indicating idle
135                 mode. In Pad mode, after the dit dah dah dit
136                 indicating Pad mode, you'll hear these once every five
137                 seconds.
138
139                 .Pad/Idle Indications
140                 [options="header",cols="1,1,3"]
141                 |====
142                 |Name           |Beeps          |Description
143
144                 |Neither
145                 |brap
146                 |No continuity detected on either apogee or main igniters.
147
148                 |Apogee
149                 |dit
150                 |Continuity detected only on apogee igniter.
151
152                 |Main
153                 |dit dit
154                 |Continuity detected only on main igniter.
155
156
157                 |Both
158                 |dit dit dit
159                 |Continuity detected on both igniters.
160
161
162                 |Storage Full
163                 |warble
164                 |On-board data logging storage is full. This will
165                  not prevent the flight computer from safely
166                  controlling the flight or transmitting telemetry
167                  signals, but no record of the flight will be
168                  stored in on-board flash.
169
170                 ifdef::easymega,telemega[]
171                 |Additional Igniters
172                 |four very short beeps
173                 |Continuity indication for the four additional pyro
174                  channels on TeleMega and EasyMega. One high tone for
175                  no continuity, one low tone for continuity. These are
176                  produced after the continuity indicators for the two
177                  primary igniter channels.
178                 endif::easymega,telemega[]
179
180                 |====
181
182                 ifdef::radio[]
183                 For devices with a radio transmitter, in addition to
184                 the digital and APRS telemetry signals, you can also
185                 receive audio tones with a standard amateur
186                 70cm FM receiver. While on the pad, you will hear
187                 igniter status once every five seconds.
188
189                 .Pad Radio Indications
190                 [options="header",cols="1,1,3"]
191                 |====
192                 |Name           |Beeps          |Description
193
194                 |Neither
195                 |½ second tone
196                 |No continuity detected on either apogee or main igniters.
197
198                 |Apogee
199                 |dit
200                 |Continuity detected only on apogee igniter.
201
202                 |Main
203                 |dit dit
204                 |Continuity detected only on main igniter.
205
206
207                 |Both
208                 |dit dit dit
209                 |Continuity detected on both igniters.
210
211                 |====
212
213                 During ascent, the tones will be muted to allow the
214                 telemetry data to consume the full radio bandwidth.
215
216                 During descent and after landing, a ½ second tone will
217                 be transmitted every five seconds. This can be used to
218                 find the rocket using RDF techniques when the signal
219                 is too weak to receive GPS information via telemetry
220                 or APRS.
221                 endif::radio[]
222
223         === Turning On the Power
224
225                 Connect a battery and power switch and turn the switch
226                 to "on". The flight computer will signal power on by
227                 reporting the battery voltage and then perform an internal self
228                 test and sensor calibration.
229
230                 Once the self test and calibration are complete, there
231                 are two modes that an Altus Metrum flight computer can
232                 operate in:
233
234                 Flight/Pad::
235                 The flight computer is waiting to detect
236                 launch and then fly the rocket. In this mode, the USB
237                 link is
238                 ifdef::radio[disabled, and the radio goes into transmit-only mode.]
239                 ifndef::radio[disabled.]
240                 The only way to get out of this
241                 mode is to power the flight computer down. See below for how to get the flight
242                 computer to come up in Flight/Pad mode at power on.
243
244                 Idle::
245                 The flight computer is ready to communicate over USB
246                 ifdef::radio[and in packet mode over the radio.]
247                 You can configure
248                 the flight computer, download data or display
249                 the current state. See below for how to get the flight
250                 computer to come up in Idle mode at power on.
251
252                 ifdef::telemetrum,easymega,telemega[]
253                 For flight computers with accelerometers (TeleMetrum,
254                 EasyMega and TeleMega), the mode is selected by the
255                 orientation of the board during the self test
256                 interval. If the board is pointing upwards as if ready
257                 to fly, it will enter Flight/Pad mode. Otherwise, it will
258                 enter Idle mode.
259                 endif::telemetrum,easymega,telemega[]
260
261                 ifdef::easymini[]
262                 For EasyMini, if the USB cable is connected to a
263                 computer, it will enter Idle mode. Otherwise, it will
264                 enter Flight/Pad mode.
265                 endif::easymini[]
266
267                 ifdef::telemini[]
268                 For TeleMini v1.0, if a packet link is waiting to
269                 connect when the device is powered on, it will enter
270                 Idle mode, otherwise it will enter Flight/Pad mode.
271                 endif::telemini[]
272
273                 You can see in <<_understanding_beeps>>
274                 how to tell which mode the flight computer is in.
275
276         === Using an External Active Switch Circuit
277
278                 You can use an active switch circuit, such as the
279                 Featherweight Magnetic Switch, with any Altus Metrum
280                 flight computer. These require three connections, one to
281                 the battery, one to the positive power input on the flight
282                 computer and one to ground. Find instructions on how to
283                 hook these up for each flight computer below. Then follow
284                 the instructions that come with your active switch to
285                 connect it up.
286
287         === Using a Separate Pyro Battery
288
289                 As mentioned above in <<_hooking_up_pyro_charges>>, one
290                 lead for each of the pyro charges is connected through
291                 the power switch directly to the positive battery
292                 terminal. The other lead is connected to the pyro
293                 circuit, which connects it to the negative battery
294                 terminal when the pyro circuit is fired. The pyro
295                 circuit on all of the flight computers is designed to
296                 handle up to 16V.
297
298                 To use a separate pyro battery, connect the negative pyro
299                 battery terminal to the flight computer ground terminal,
300                 the positive battery terminal to the igniter and the other
301                 igniter lead to the negative pyro terminal on the flight
302                 computer. When the pyro channel fires, it will complete the
303                 circuit between the negative pyro terminal and the ground
304                 terminal, firing the igniter. Specific instructions on how
305                 to hook this up for each flight computer will be found
306                 in the section below for that flight computer.
307
308         === Using a Different Kind of Battery
309
310                 EasyMini
311                 ifdef::telemini[and TeleMini v2 are]
312                 ifndef::telemini[is]
313                 designed to use either a
314                 lithium polymer battery or any other battery producing
315                 between 4 and 12 volts, such as a rectangular 9V
316                 battery.
317
318                 ifdef::telemega,easymega,telemetrum[]
319                 [WARNING]
320                 TeleMega, EasyMega and TeleMetrum are only designed to
321                 operate off a single-cell Lithium Polymer battery and
322                 cannot be used with any other kind. Connecting a
323                 different kind of battery to any of these will destroy
324                 the board.
325                 endif::telemega,easymega,telemetrum[]
326
327         === Using Packet Link Mode
328
329                 All AltusMetrum flight computers that have a radio can
330                 communicate with the ground station software for
331                 configuration and other operations using the Packet
332                 Link mode. This uses radio communication instead of a
333                 USB cable. To set this up, the ground station software
334                 must be configured to the correct data rate, frequency
335                 and callsign.
336
337                 You can monitor Packet Link mode from TeleBT or
338                 TeleDongle by watching the LEDs. Each time the device
339                 transmits, the red LED will flash. When the link is
340                 busy, or when the link is not working, the device will
341                 transmit 10 times per second, so the LED will flash
342                 rapidly. When the link is working and there is no data
343                 to send, the link will flash once per second, and the
344                 LED will flash more slowly.