doc: Lots more conversion from docbook to asciidoc
[fw/altos] / doc / system-operation.inc
1 == System Operation
2
3         === Firmware Modes
4
5                 The AltOS firmware build for the altimeters has two
6                 fundamental modes, “idle” and “flight”.  Which of these modes
7                 the firmware operates in is determined at start up time. For
8                 TeleMetrum, TeleMega and EasyMega, which have accelerometers, the mode is
9                 controlled by the orientation of the
10                 rocket (well, actually the board, of course...) at the time
11                 power is switched on.  If the rocket is “nose up”, then
12                 the flight computer assumes it's on a rail or rod being prepared for
13                 launch, so the firmware chooses flight mode.  However, if the
14                 rocket is more or less horizontal, the firmware instead enters
15                 idle mode.  Since TeleMini v2.0 and EasyMini don't have an
16                 accelerometer we can use to determine orientation, “idle” mode
17                 is selected if the board is connected via USB to a computer,
18                 otherwise the board enters “flight” mode. TeleMini v1.0
19                 selects “idle” mode if it receives a command packet within the
20                 first five seconds of operation.
21
22                 At power on, the altimeter will beep out the battery voltage
23                 to the nearest tenth of a volt.  Each digit is represented by
24                 a sequence of short “dit” beeps, with a pause between
25                 digits. A zero digit is represented with one long “dah”
26                 beep. Then there will be a short pause while the altimeter
27                 completes initialization and self test, and decides which mode
28                 to enter next.
29
30                 Here's a short summary of all of the modes and the beeping (or
31                 flashing, in the case of TeleMini v1) that accompanies each
32                 mode. In the description of the beeping pattern, “dit” means a
33                 short beep while "dah" means a long beep (three times as
34                 long). “Brap” means a long dissonant tone.
35
36                 .AltOS Modes
37                 [options="border",cols="1,1,1,1"]
38                 |====
39                 |Mode Name
40                 |Abbreviation
41                 |Beeps
42                 |Description
43
44                 |Startup
45                 |S
46                 |battery voltage in decivolts
47                 |Calibrating sensors, detecting orientation.
48
49                 |Idle
50                 |I
51                 |dit dit
52                 |Ready to accept commands over USB or radio link.
53
54                 |Pad
55                 |P
56                 |dit dah dah dit
57                 |Waiting for launch. Not listening for commands.
58
59                 |Boost
60                 |B
61                 |dah dit dit dit
62                 |Accelerating upwards.
63
64                 |Fast
65                 |F
66                 |dit dit dah dit
67                 |Decelerating, but moving faster than 200m/s.
68
69                 |Coast
70                 |C
71                 |dah dit dah dit
72                 |Decelerating, moving slower than 200m/s
73
74                 |Drogue
75                 |D
76                 |dah dit dit
77                 |Descending after apogee. Above main height.
78
79                 |Main
80                 |M
81                 |dah dah
82                 |Descending. Below main height.
83
84                 |Landed
85                 |L
86                 |dit dah dit dit
87                 |Stable altitude for at least ten seconds.
88
89
90                 |Sensor error
91                 |X
92                 |dah dit dit dah
93                 |Error detected during sensor calibration.
94                 |====
95
96                 In flight or “pad” mode, the altimeter engages the flight
97                 state machine, goes into transmit-only mode to send telemetry,
98                 and waits for launch to be detected.  Flight mode is indicated
99                 by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
100                 followed by beeps or flashes indicating the state of the
101                 pyrotechnic igniter continuity.  One beep/flash indicates
102                 apogee continuity, two beeps/flashes indicate main continuity,
103                 three beeps/flashes indicate both apogee and main continuity,
104                 and one longer “brap” sound which is made by rapidly
105                 alternating between two tones indicates no continuity.  For a
106                 dual deploy flight, make sure you're getting three beeps or
107                 flashes before launching!  For apogee-only or motor eject
108                 flights, do what makes sense.
109
110                 If idle mode is entered, you will hear an audible “di-dit” or
111                 see two short flashes (“I” for idle), and the flight state
112                 machine is disengaged, thus no ejection charges will fire.
113                 The altimeters also listen for the radio link when in idle
114                 mode for requests sent via TeleDongle.  Commands can be issued
115                 in idle mode over either USB or the radio link
116                 equivalently. TeleMini v1.0 only has the radio link.  Idle
117                 mode is useful for configuring the altimeter, for extracting
118                 data from the on-board storage chip after flight, and for
119                 ground testing pyro charges.
120
121                 In “Idle” and “Pad” modes, once the mode indication
122                 beeps/flashes and continuity indication has been sent, if
123                 there is no space available to log the flight in on-board
124                 memory, the flight computer will emit a warbling tone (much
125                 slower than the “no continuity tone”)
126
127                 Here's a summary of all of the “pad” and “idle” mode indications.
128
129                 .Pad/Idle Indications
130                 [options="header",cols="1,1,1"]
131                 |====
132                 |Name           |Beeps          |Description
133
134                 |Neither
135                 |brap
136                 |No continuity detected on either apogee or main igniters.
137
138                 |Apogee
139                 |dit
140                 |Continuity detected only on apogee igniter.
141
142                 |Main
143                 |dit dit
144                 |Continuity detected only on main igniter.
145
146
147                 |Both
148                 |dit dit dit
149                 |Continuity detected on both igniters.
150
151
152                 |Storage Full
153                 |warble
154                 |On-board data logging storage is full. This will
155                  not prevent the flight computer from safely
156                  controlling the flight or transmitting telemetry
157                  signals, but no record of the flight will be
158                  stored in on-board flash.
159                 |====
160
161                 Once landed, the flight computer will signal that by emitting
162                 the “Landed” sound described above, after which it will beep
163                 out the apogee height (in meters). Each digit is represented
164                 by a sequence of short “dit” beeps, with a pause between
165                 digits. A zero digit is represented with one long “dah”
166                 beep. The flight computer will continue to report landed mode
167                 and beep out the maximum height until turned off.
168
169                 One “neat trick” of particular value when TeleMetrum, TeleMega
170                 or EasyMega are used with
171                 very large air-frames, is that you can power the board up while the
172                 rocket is horizontal, such that it comes up in idle mode.  Then you can
173                 raise the air-frame to launch position, and issue a 'reset' command
174                 via TeleDongle over the radio link to cause the altimeter to reboot and
175                 come up in flight mode.  This is much safer than standing on the top
176                 step of a rickety step-ladder or hanging off the side of a launch
177                 tower with a screw-driver trying to turn on your avionics before
178                 installing igniters!
179
180                 TeleMini v1.0 is configured solely via the radio link. Of course, that
181                 means you need to know the TeleMini radio configuration values
182                 or you won't be able to communicate with it. For situations
183                 when you don't have the radio configuration values, TeleMini v1.0
184                 offers an 'emergency recovery' mode. In this mode, TeleMini is
185                 configured as follows:
186
187
188                  * Sets the radio frequency to 434.550MHz
189                  * Sets the radio calibration back to the factory value.
190                  * Sets the callsign to N0CALL
191                  * Does not go to 'pad' mode after five seconds.
192
193                 To get into 'emergency recovery' mode, first find the row of
194                 four small holes opposite the switch wiring. Using a short
195                 piece of small gauge wire, connect the outer two holes
196                 together, then power TeleMini up. Once the red LED is lit,
197                 disconnect the wire and the board should signal that it's in
198                 'idle' mode after the initial five second startup period.
199
200         === GPS
201
202                 TeleMetrum and TeleMega include a complete GPS receiver.  A
203                 complete explanation of how GPS works is beyond the scope of
204                 this manual, but the bottom line is that the GPS receiver
205                 needs to lock onto at least four satellites to obtain a solid
206                 3 dimensional position fix and know what time it is.
207
208                 The flight computers provide backup power to the GPS chip any time a
209                 battery is connected.  This allows the receiver to “warm start” on
210                 the launch rail much faster than if every power-on were a GPS
211                 “cold start”.  In typical operations, powering up
212                 on the flight line in idle mode while performing final air-frame
213                 preparation will be sufficient to allow the GPS receiver to cold
214                 start and acquire lock.  Then the board can be powered down during
215                 RSO review and installation on a launch rod or rail.  When the board
216                 is turned back on, the GPS system should lock very quickly, typically
217                 long before igniter installation and return to the flight line are
218                 complete.
219
220         === Controlling An Altimeter Over The Radio Link
221
222                 One of the unique features of the Altus Metrum system is the
223                 ability to create a two way command link between TeleDongle
224                 and an altimeter using the digital radio transceivers
225                 built into each device. This allows you to interact with the
226                 altimeter from afar, as if it were directly connected to the
227                 computer.
228
229                 Any operation which can be performed with a flight computer can
230                 either be done with the device directly connected to the
231                 computer via the USB cable, or through the radio
232                 link. TeleMini v1.0 doesn't provide a USB connector and so it is
233                 always communicated with over radio.  Select the appropriate
234                 TeleDongle device when the list of devices is presented and
235                 AltosUI will interact with an altimeter over the radio link.
236
237                 One oddity in the current interface is how AltosUI selects the
238                 frequency for radio communications. Instead of providing
239                 an interface to specifically configure the frequency, it uses
240                 whatever frequency was most recently selected for the target
241                 TeleDongle device in Monitor Flight mode. If you haven't ever
242                 used that mode with the TeleDongle in question, select the
243                 Monitor Flight button from the top level UI, and pick the
244                 appropriate TeleDongle device.  Once the flight monitoring
245                 window is open, select the desired frequency and then close it
246                 down again. All radio communications will now use that frequency.
247
248                  * Save Flight Data—Recover flight data from the
249                    rocket without opening it up.
250
251                  * Configure altimeter apogee delays, main deploy
252                    heights and additional pyro event conditions to
253                    respond to changing launch conditions. You can also
254                    'reboot' the altimeter. Use this to remotely enable
255                    the flight computer by turning TeleMetrum or
256                    TeleMega on in “idle” mode, then once the air-frame
257                    is oriented for launch, you can reboot the
258                    altimeter and have it restart in pad mode without
259                    having to climb the scary ladder.
260
261                  * Fire Igniters—Test your deployment charges without snaking
262                    wires out through holes in the air-frame. Simply assemble the
263                    rocket as if for flight with the apogee and main charges
264                    loaded, then remotely command the altimeter to fire the
265                    igniters.
266
267                 Operation over the radio link for configuring an
268                 altimeter, ground testing igniters, and so forth uses
269                 the same RF frequencies as flight telemetry.  To
270                 configure the desired TeleDongle frequency, select the
271                 monitor flight tab, then use the frequency selector
272                 and close the window before performing other desired
273                 radio operations.
274
275                 The flight computers only enable radio commanding in
276                 'idle' mode.  TeleMetrum and TeleMega use the
277                 accelerometer to detect which orientation they start
278                 up in, so make sure you have the flight computer lying
279                 horizontally when you turn it on. Otherwise, it will
280                 start in 'pad' mode ready for flight, and will not be
281                 listening for command packets from TeleDongle.
282
283                 TeleMini listens for a command packet for five seconds
284                 after first being turned on, if it doesn't hear
285                 anything, it enters 'pad' mode, ready for flight and
286                 will no longer listen for command packets. The easiest
287                 way to connect to TeleMini is to initiate the command
288                 and select the TeleDongle device. At this point, the
289                 TeleDongle will be attempting to communicate with the
290                 TeleMini. Now turn TeleMini on, and it should
291                 immediately start communicating with the TeleDongle
292                 and the desired operation can be performed.
293
294                 You can monitor the operation of the radio link by watching the
295                 lights on the devices. The red LED will flash each time a packet
296                 is transmitted, while the green LED will light up on TeleDongle when
297                 it is waiting to receive a packet from the altimeter.
298
299         === Ground Testing
300
301                 An important aspect of preparing a rocket using electronic deployment
302                 for flight is ground testing the recovery system.  Thanks
303                 to the bi-directional radio link central to the Altus Metrum system,
304                 this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket
305                 with less work than you may be accustomed to with other systems.  It
306                 can even be fun!
307
308                 Just prep the rocket for flight, then power up the altimeter
309                 in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
310                 selecting the Configure Altimeter tab for TeleMini).  This will cause
311                 the firmware to go into “idle” mode, in which the normal flight
312                 state machine is disabled and charges will not fire without
313                 manual command.  You can now command the altimeter to fire the apogee
314                 or main charges from a safe distance using your computer and
315                 TeleDongle and the Fire Igniter tab to complete ejection testing.
316
317         === Radio Link
318
319                 TeleMetrum, TeleMini and TeleMega all incorporate an RF transceiver, but
320                 it's not a full duplex system... each end can only be transmitting or
321                 receiving at any given moment.  So we had to decide how to manage the
322                 link.
323
324                 By design, the altimeter firmware listens for the radio link when
325                 it's in “idle mode”, which
326                 allows us to use the radio link to configure the rocket, do things like
327                 ejection tests, and extract data after a flight without having to
328                 crack open the air-frame.  However, when the board is in “flight
329                 mode”, the altimeter only
330                 transmits and doesn't listen at all.  That's because we want to put
331                 ultimate priority on event detection and getting telemetry out of
332                 the rocket through
333                 the radio in case the rocket crashes and we aren't able to extract
334                 data later...
335
336                 We don't generally use a 'normal packet radio' mode like APRS
337                 because they're just too inefficient.  The GFSK modulation we
338                 use is FSK with the base-band pulses passed through a Gaussian
339                 filter before they go into the modulator to limit the
340                 transmitted bandwidth.  When combined with forward error
341                 correction and interleaving, this allows us to have a very
342                 robust 19.2 kilobit data link with only 10-40 milliwatts of
343                 transmit power, a whip antenna in the rocket, and a hand-held
344                 Yagi on the ground.  We've had flights to above 21k feet AGL
345                 with great reception, and calculations suggest we should be
346                 good to well over 40k feet AGL with a 5-element yagi on the
347                 ground with our 10mW units and over 100k feet AGL with the
348                 40mW devices.  We hope to fly boards to higher altitudes over
349                 time, and would of course appreciate customer feedback on
350                 performance in higher altitude flights!
351
352         === APRS
353
354                 TeleMetrum v2.0 and TeleMega can send APRS if desired, and the
355                 interval between APRS packets can be configured. As each APRS
356                 packet takes a full second to transmit, we recommend an
357                 interval of at least 5 seconds to avoid consuming too much
358                 battery power or radio channel bandwidth. You can configure
359                 the APRS interval using AltosUI; that process is described in
360                 the Configure Altimeter section of the AltosUI chapter.
361
362                 AltOS uses the APRS compressed position report data format,
363                 which provides for higher position precision and shorter
364                 packets than the original APRS format. It also includes
365                 altitude data, which is invaluable when tracking rockets. We
366                 haven't found a receiver which doesn't handle compressed
367                 positions, but it's just possible that you have one, so if you
368                 have an older device that can receive the raw packets but
369                 isn't displaying position information, it's possible that this
370                 is the cause.
371
372                 APRS packets include an SSID (Secondary Station Identifier)
373                 field that allows one operator to have multiple
374                 transmitters. AltOS allows you to set this to a single digit
375                 from 0 to 9, allowing you to fly multiple transmitters at the
376                 same time while keeping the identify of each one separate in
377                 the receiver. By default, the SSID is set to the last digit of
378                 the device serial number.
379
380                 The APRS packet format includes a comment field that can have
381                 arbitrary text in it. AltOS uses this to send status
382                 information about the flight computer. It sends four fields as
383                 shown in the following table.
384
385                 .Altus Metrum APRS Comments
386                 [options="header",cols="1,1,1"]
387                 |====
388                 |Field        |Example        |Description
389
390                 |1
391                 |L
392                 |GPS Status U for unlocked, L for locked
393
394                 |2
395                 |6
396                 |Number of Satellites in View
397
398                 |3
399                 |B4.0
400                 |Altimeter Battery Voltage
401
402                 |4
403                 |A3.7
404                 |Apogee Igniter Voltage
405
406                 |5
407                 |M3.7
408                 |Main Igniter Voltage
409
410                 |6
411                 |1286
412                 |Device Serial Number
413                 |====
414
415                 Here's an example of an APRS comment showing GPS lock with 6
416                 satellites in view, a primary battery at 4.0V, and
417                 apogee and main igniters both at 3.7V from device 1286.
418
419                 ....
420                 L6 B4.0 A3.7 M3.7 1286
421                 ....
422
423                 Make sure your primary battery is above 3.8V, any
424                 connected igniters are above 3.5V and GPS is locked
425                 with at least 5 or 6 satellites in view before
426                 flying. If GPS is switching between L and U regularly,
427                 then it doesn't have a good lock and you should wait
428                 until it becomes stable.
429
430                 If the GPS receiver loses lock, the APRS data
431                 transmitted will contain the last position for which
432                 GPS lock was available. You can tell that this has
433                 happened by noticing that the GPS status character
434                 switches from 'L' to 'U'. Before GPS has locked, APRS
435                 will transmit zero for latitude, longitude and
436                 altitude.
437
438         === Configurable Parameters
439
440                 Configuring an Altus Metrum altimeter for flight is
441                 very simple.  Even on our baro-only TeleMini and
442                 EasyMini boards, the use of a Kalman filter means
443                 there is no need to set a “mach delay”.  The few
444                 configurable parameters can all be set using AltosUI
445                 over USB or or radio link via TeleDongle. Read the
446                 Configure Altimeter section in the AltosUI chapter
447                 below for more information.
448
449                 ==== Radio Frequency
450
451                         Altus Metrum boards support radio frequencies
452                         in the 70cm band. By default, the
453                         configuration interface provides a list of 10
454                         “standard” frequencies in 100kHz channels
455                         starting at 434.550MHz.  However, the firmware
456                         supports use of any 50kHz multiple within the
457                         70cm band. At any given launch, we highly
458                         recommend coordinating when and by whom each
459                         frequency will be used to avoid interference.
460                         And of course, both altimeter and TeleDongle
461                         must be configured to the same frequency to
462                         successfully communicate with each other.
463
464                 ==== Callsign
465
466                         This sets the callsign used for telemetry,
467                         APRS and the packet link. For telemetry and
468                         APRS, this is used to identify the device. For
469                         the packet link, the callsign must match that
470                         configured in AltosUI or the link will not
471                         work. This is to prevent accidental
472                         configuration of another Altus Metrum flight
473                         computer operating on the same frequency
474                         nearby.
475
476                 ==== Telemetry/RDF/APRS Enable
477
478                         You can completely disable the radio while in
479                         flight, if necessary. This doesn't disable the
480                         packet link in idle mode.
481
482                 ==== Telemetry baud rate
483
484                         This sets the modulation bit rate for data
485                         transmission for both telemetry and packet
486                         link mode. Lower bit rates will increase range
487                         while reducing the amount of data that can be
488                         sent and increasing battery consumption. All
489                         telemetry is done using a rate 1/2 constraint
490                         4 convolution code, so the actual data
491                         transmission rate is 1/2 of the modulation bit
492                         rate specified here.
493
494                 ==== APRS Interval
495
496                         This selects how often APRS packets are
497                         transmitted. Set this to zero to disable APRS
498                         without also disabling the regular telemetry
499                         and RDF transmissions. As APRS takes a full
500                         second to transmit a single position report,
501                         we recommend sending packets no more than once
502                         every 5 seconds.
503
504                 ==== APRS SSID
505
506                         This selects the SSID reported in APRS
507                         packets. By default, it is set to the last
508                         digit of the serial number, but you can change
509                         this to any value from 0 to 9.
510
511                 ==== Apogee Delay
512
513                         Apogee delay is the number of seconds after
514                         the altimeter detects flight apogee that the
515                         drogue charge should be fired.  In most cases,
516                         this should be left at the default of 0.
517                         However, if you are flying redundant
518                         electronics such as for an L3 certification,
519                         you may wish to set one of your altimeters to
520                         a positive delay so that both primary and
521                         backup pyrotechnic charges do not fire
522                         simultaneously.
523
524                         The Altus Metrum apogee detection algorithm
525                         fires exactly at apogee.  If you are also
526                         flying an altimeter like the PerfectFlite
527                         MAWD, which only supports selecting 0 or 1
528                         seconds of apogee delay, you may wish to set
529                         the MAWD to 0 seconds delay and set the
530                         TeleMetrum to fire your backup 2 or 3 seconds
531                         later to avoid any chance of both charges
532                         firing simultaneously.  We've flown several
533                         air-frames this way quite happily, including
534                         Keith's successful L3 cert.
535
536                 ==== Apogee Lockout
537
538                         Apogee lockout is the number of seconds after
539                         boost where the flight computer will not fire
540                         the apogee charge, even if the rocket appears
541                         to be at apogee. This is often called 'Mach
542                         Delay', as it is intended to prevent a flight
543                         computer from unintentionally firing apogee
544                         charges due to the pressure spike that occurrs
545                         across a mach transition. Altus Metrum flight
546                         computers include a Kalman filter which is not
547                         fooled by this sharp pressure increase, and so
548                         this setting should be left at the default
549                         value of zero to disable it.
550
551                 ==== Main Deployment Altitude
552
553                         By default, the altimeter will fire the main
554                         deployment charge at an elevation of 250
555                         meters (about 820 feet) above ground.  We
556                         think this is a good elevation for most
557                         air-frames, but feel free to change this to
558                         suit.  In particular, if you are flying two
559                         altimeters, you may wish to set the deployment
560                         elevation for the backup altimeter to be
561                         something lower than the primary so that both
562                         pyrotechnic charges don't fire simultaneously.
563
564                 ==== Maximum Flight Log
565
566                         Changing this value will set the maximum
567                         amount of flight log storage that an
568                         individual flight will use. The available
569                         storage is divided into as many flights of the
570                         specified size as can fit in the available
571                         space. You can download and erase individual
572                         flight logs. If you fill up the available
573                         storage, future flights will not get logged
574                         until you erase some of the stored ones.
575
576                         Even though our flight computers (except TeleMini v1.0) can store
577                         multiple flights, we strongly recommend downloading and saving
578                         flight data after each flight.
579
580                 ==== Ignite Mode
581
582                         Instead of firing one charge at apogee and
583                         another charge at a fixed height above the
584                         ground, you can configure the altimeter to
585                         fire both at apogee or both during
586                         descent. This was added to support an airframe
587                         Bdale designed that had two altimeters, one in
588                         the fin can and one in the nose.
589
590                         Providing the ability to use both igniters for
591                         apogee or main allows some level of redundancy
592                         without needing two flight computers.  In
593                         Redundant Apogee or Redundant Main mode, the
594                         two charges will be fired two seconds apart.
595
596                 ==== Pad Orientation
597
598                         TeleMetrum, TeleMega and EasyMega measure
599                         acceleration along the axis of the
600                         board. Which way the board is oriented affects
601                         the sign of the acceleration value. Instead of
602                         trying to guess which way the board is mounted
603                         in the air frame, the altimeter must be
604                         explicitly configured for either Antenna Up or
605                         Antenna Down. The default, Antenna Up, expects
606                         the end of the board connected to the 70cm
607                         antenna to be nearest the nose of the rocket,
608                         with the end containing the screw terminals
609                         nearest the tail.
610
611                 ==== Configurable Pyro Channels
612
613                         In addition to the usual Apogee and Main pyro
614                         channels, TeleMega and EasyMega have four
615                         additional channels that can be configured to
616                         activate when various flight conditions are
617                         satisfied. You can select as many conditions
618                         as necessary; all of them must be met in order
619                         to activate the channel. The conditions
620                         available are:
621
622                         Acceleration:: Select a value, and then choose
623                         whether acceleration should be above or below
624                         that value. Acceleration is positive upwards,
625                         so accelerating towards the ground would
626                         produce negative numbers. Acceleration during
627                         descent is noisy and inaccurate, so be careful
628                         when using it during these phases of the
629                         flight.
630
631                         Vertical speed:: Select a value, and then
632                         choose whether vertical speed should be above
633                         or below that value. Speed is positive
634                         upwards, so moving towards the ground would
635                         produce negative numbers. Speed during descent
636                         is a bit noisy and so be careful when using it
637                         during these phases of the flight.
638
639                         Height:: Select a value, and then choose
640                         whether the height above the launch pad should
641                         be above or below that value.
642
643                         Orientation:: TeleMega and EasyMega contain a
644                         3-axis gyroscope and accelerometer which is
645                         used to measure the current angle. Note that
646                         this angle is not the change in angle from the
647                         launch pad, but rather absolute relative to
648                         gravity; the 3-axis accelerometer is used to
649                         compute the angle of the rocket on the launch
650                         pad and initialize the system.
651
652                           [NOTE]
653                           ====
654                           Because this value is computed by integrating
655                           rate gyros, it gets progressively less
656                           accurate as the flight goes on. It should have
657                           an accumulated error of less than 0.2°/second
658                           (after 10 seconds of flight, the error should
659                           be less than 2°).
660
661                           The usual use of the orientation configuration
662                           is to ensure that the rocket is traveling
663                           mostly upwards when deciding whether to ignite
664                           air starts or additional stages. For that,
665                           choose a reasonable maximum angle (like 20°)
666                           and set the motor igniter to require an angle
667                           of less than that value.
668                           ====
669
670                         Flight Time:: Time since boost was
671                         detected. Select a value and choose whether to
672                         activate the pyro channel before or after that
673                         amount of time.
674
675                         Ascending:: A simple test saying whether the
676                         rocket is going up or not. This is exactly
677                         equivalent to testing whether the speed is
678                         > 0.
679
680                         Descending:: A simple test saying whether the
681                         rocket is going down or not. This is exactly
682                         equivalent to testing whether the speed is
683                         < 0.
684
685                         After Motor:: The flight software counts each
686                         time the rocket starts accelerating and then
687                         decelerating (presumably due to a motor or
688                         motors burning). Use this value for
689                         multi-staged or multi-airstart launches.
690
691                         Delay:: This value doesn't perform any checks,
692                         instead it inserts a delay between the time
693                         when the other parameters become true and when
694                         the pyro channel is activated.
695
696                         Flight State:: The flight software tracks the flight
697                         through a sequence of states:
698
699                          * Boost. The motor has lit and the rocket is
700                            accelerating upwards.
701
702                          * Fast. The motor has burned out and the
703                            rocket is decelerating, but it is going
704                            faster than 200m/s.
705
706                          * Coast. The rocket is still moving upwards
707                            and decelerating, but the speed is less
708                            than 200m/s.
709
710                          * Drogue. The rocket has reached apogee and
711                            is heading back down, but is above the
712                            configured Main altitude.
713
714                          * Main. The rocket is still descending, and
715                            is below the Main altitude
716
717                          * Landed. The rocket is no longer moving.
718
719                         You can select a state to limit when the pyro
720                         channel may activate; note that the check is
721                         based on when the rocket transitions *into*
722                         the state, and so checking for “greater than
723                         Boost” means that the rocket is currently in
724                         boost or some later state.
725
726                         When a motor burns out, the rocket enters
727                         either Fast or Coast state (depending on how
728                         fast it is moving). If the computer detects
729                         upwards acceleration again, it will move back
730                         to Boost state.