+ <para>
+ In “Idle” and “Pad” modes, once the mode indication
+ beeps/flashes and continuity indication has been sent, if
+ there is no space available to log the flight in on-board
+ memory, the flight computer will emit a warbling tone (much
+ slower than the “no continuity tone”)
+ </para>
+ <para>
+ Here's a summary of all of the “pad” and “idle” mode indications.
+ <table frame='all'>
+ <title>Pad/Idle Indications</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Name'/>
+ <colspec align='center' colwidth='*' colname='Beeps'/>
+ <colspec align='center' colwidth='*' colname='Description'/>
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Beeps</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Neither</entry>
+ <entry>brap</entry>
+ <entry>
+ <para>
+ No continuity detected on either apogee or main
+ igniters.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Apogee</entry>
+ <entry>dit</entry>
+ <entry>
+ <para>
+ Continuity detected only on apogee igniter.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Main</entry>
+ <entry>dit dit</entry>
+ <entry>
+ <para>
+ Continuity detected only on main igniter.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Both</entry>
+ <entry>dit dit dit</entry>
+ <entry>
+ <para>
+ Continuity detected on both igniters.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Storage Full</entry>
+ <entry>warble</entry>
+ <entry>
+ <para>
+ On-board data logging storage is full. This will
+ not prevent the flight computer from safely
+ controlling the flight or transmitting telemetry
+ signals, but no record of the flight will be
+ stored in on-board flash.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ <para>
+ Once landed, the flight computer will signal that by emitting
+ the “Landed” sound described above, after which it will beep
+ out the apogee height (in meters). Each digit is represented
+ by a sequence of short “dit” beeps, with a pause between
+ digits. A zero digit is represented with one long “dah”
+ beep. The flight computer will continue to report landed mode
+ and beep out the maximum height until turned off.
+ </para>
+ <para>
+ One “neat trick” of particular value when TeleMetrum, TeleMega
+ or EasyMega are used with
+ very large air-frames, 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 air-frame to launch position, and issue a 'reset' command
+ via TeleDongle over the radio link to cause the altimeter to reboot and
+ come up in 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!
+ </para>
+ <para>
+ TeleMini v1.0 is configured solely via the radio link. Of course, that
+ means you need to know the TeleMini radio configuration values
+ or you won't be able to communicate with it. For situations
+ when you don't have the radio configuration values, TeleMini v1.0
+ offers an 'emergency recovery' mode. In this mode, TeleMini is
+ configured as follows:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Sets the radio frequency to 434.550MHz
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Sets the radio calibration back to the factory value.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Sets the callsign to N0CALL
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Does not go to 'pad' mode after five seconds.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ To get into 'emergency recovery' mode, first find the row of
+ four small holes opposite the switch wiring. Using a short
+ piece of small gauge wire, connect the outer two holes
+ together, then power TeleMini up. Once the red LED is lit,
+ disconnect the wire and the board should signal that it's in
+ 'idle' mode after the initial five second startup period.
+ </para>
+ </section>
+ <section>
+ <title>GPS </title>
+ <para>
+ TeleMetrum and TeleMega include a complete GPS receiver. A
+ complete explanation of how GPS works is beyond the scope of
+ this manual, but the bottom line is that the GPS receiver
+ needs to lock onto at least four satellites to obtain a solid
+ 3 dimensional position fix and know what time it is.
+ </para>
+ <para>
+ The flight computers provide backup power to the GPS chip any time a
+ battery is connected. This allows the receiver to “warm start” on
+ the launch rail much faster than if every power-on were a GPS
+ “cold start”. In typical operations, powering up
+ on the flight line in idle mode while performing final air-frame
+ 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.
+ </para>
+ </section>
+ <section>
+ <title>Controlling An Altimeter Over The Radio Link</title>
+ <para>
+ One of the unique features of the Altus Metrum system is the
+ ability to create a two way command link between TeleDongle
+ and an altimeter using the digital radio transceivers
+ built into each device. This allows you to interact with the
+ altimeter from afar, as if it were directly connected to the
+ computer.
+ </para>
+ <para>
+ Any operation which can be performed with a flight computer can
+ either be done with the device directly connected to the
+ computer via the USB cable, or through the radio
+ link. TeleMini v1.0 doesn't provide a USB connector and so it is
+ always communicated with over radio. Select the appropriate
+ TeleDongle device when the list of devices is presented and
+ AltosUI will interact with an altimeter over the radio link.
+ </para>
+ <para>
+ One oddity in the current interface is how AltosUI selects the
+ frequency for radio communications. Instead of providing
+ an interface to specifically configure the frequency, it uses
+ whatever frequency 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, and pick the
+ appropriate TeleDongle device. Once the flight monitoring
+ window is open, select the desired frequency and then close it
+ down again. All radio communications will now use that frequency.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Save Flight Data—Recover flight data from the rocket without
+ opening it up.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Configure altimeter apogee delays, main deploy heights
+ and additional pyro event conditions
+ to respond to changing launch conditions. You can also
+ 'reboot' the altimeter. Use this to remotely enable the
+ flight computer by turning TeleMetrum or TeleMega on in “idle” mode,
+ then once the air-frame is oriented for launch, you can
+ reboot the altimeter and have it restart in pad mode
+ without having to climb the scary ladder.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fire Igniters—Test your deployment charges without snaking
+ wires out through holes in the air-frame. Simply assemble the
+ rocket as if for flight with the apogee and main charges
+ loaded, then remotely command the altimeter to fire the
+ igniters.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Operation over the radio link for configuring an altimeter, ground
+ testing igniters, and so forth uses the same RF frequencies as flight
+ telemetry. To configure the desired TeleDongle frequency, select
+ the monitor flight tab, then use the frequency selector and
+ close the window before performing other desired radio operations.
+ </para>
+ <para>
+ The flight computers only enable radio commanding in 'idle' mode.
+ TeleMetrum and TeleMega use the accelerometer to detect which orientation they
+ start up in, so make sure you have the flight computer lying horizontally when you turn
+ it on. Otherwise, it will start in 'pad' mode ready for
+ flight, and will not be listening for command packets from TeleDongle.
+ </para>
+ <para>
+ TeleMini listens for a command packet for five seconds after
+ first being turned on, if it doesn't hear anything, it enters
+ 'pad' mode, ready for flight and will no longer listen for
+ command packets. The easiest way to connect to TeleMini is to
+ initiate the command and select the TeleDongle device. At this
+ point, the TeleDongle will be attempting to communicate with
+ the TeleMini. Now turn TeleMini on, and it should immediately
+ start communicating with the TeleDongle and the desired
+ operation can be performed.
+ </para>
+ <para>
+ You can monitor the operation of the radio link by watching the
+ lights on the devices. The red LED will flash each time a packet
+ is transmitted, while the green LED will light up on TeleDongle when
+ it is waiting to receive a packet from the altimeter.
+ </para>
+ </section>
+ <section>
+ <title>Ground Testing </title>
+ <para>
+ An important aspect of preparing a rocket using electronic deployment
+ for flight is ground testing the recovery system. Thanks
+ to the bi-directional radio link central to the Altus Metrum system,
+ this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket
+ with less work than you may be accustomed to with other systems. It
+ can even be fun!
+ </para>
+ <para>
+ Just prep the rocket for flight, then power up the altimeter
+ in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
+ selecting the Configure Altimeter tab for TeleMini). 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. You can now command the altimeter to fire the apogee
+ or main charges from a safe distance using your computer and
+ TeleDongle and the Fire Igniter tab to complete ejection testing.
+ </para>
+ </section>
+ <section>
+ <title>Radio Link </title>
+ <para>
+ Our flight computers all incorporate 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.
+ </para>
+ <para>
+ By design, the altimeter firmware listens for the radio link when
+ it's in “idle mode”, which
+ allows us to use the radio link to configure the rocket, do things like
+ ejection tests, and extract data after a flight without having to
+ crack open the air-frame. However, when the board is in “flight
+ mode”, the altimeter 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 through
+ the radio in case the rocket crashes and we aren't able to extract
+ data later...
+ </para>
+ <para>
+ We don't generally use a 'normal packet radio' mode like APRS
+ because they're just too inefficient. The GFSK modulation we
+ use is FSK with the base-band pulses passed through a Gaussian
+ filter before they go into the modulator to limit the
+ transmitted bandwidth. When combined with forward error
+ correction and interleaving, this allows us to have a very
+ robust 19.2 kilobit data link with only 10-40 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 great reception, and calculations suggest we should be
+ good to well over 40k feet AGL with a 5-element yagi on the
+ ground with our 10mW units and over 100k feet AGL with the
+ 40mW devices. We hope to fly boards to higher altitudes over
+ time, and would of course appreciate customer feedback on
+ performance in higher altitude flights!
+ </para>
+ </section>
+ <section>
+ <title>APRS</title>
+ <para>
+ TeleMetrum v2.0 and TeleMega can send APRS if desired, and the
+ interval between APRS packets can be configured. As each APRS
+ packet takes a full second to transmit, we recommend an
+ interval of at least 5 seconds to avoid consuming too much
+ battery power or radio channel bandwidth. You can configure
+ the APRS interval using AltosUI; that process is described in
+ the Configure Altimeter section of the AltosUI chapter.
+ </para>
+ <para>
+ AltOS uses the APRS compressed position report data format,
+ which provides for higher position precision and shorter
+ packets than the original APRS format. It also includes
+ altitude data, which is invaluable when tracking rockets. We
+ haven't found a receiver which doesn't handle compressed
+ positions, but it's just possible that you have one, so if you
+ have an older device that can receive the raw packets but
+ isn't displaying position information, it's possible that this
+ is the cause.
+ </para>
+ <para>
+ APRS packets include an SSID (Secondary Station Identifier)
+ field that allows one operator to have multiple
+ transmitters. AltOS allows you to set this to a single digit
+ from 0 to 9, allowing you to fly multiple transmitters at the
+ same time while keeping the identify of each one separate in
+ the receiver. By default, the SSID is set to the last digit of
+ the device serial number.
+ </para>
+ <para>
+ The APRS packet format includes a comment field that can have
+ arbitrary text in it. AltOS uses this to send status
+ information about the flight computer. It sends four fields as
+ shown in the following table.
+ </para>
+ <table frame='all'>
+ <title>Altus Metrum APRS Comments</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Field'/>
+ <colspec align='center' colwidth='*' colname='Example'/>
+ <colspec align='center' colwidth='4*' colname='Description'/>
+ <thead>
+ <row>
+ <entry align='center'>Field</entry>
+ <entry align='center'>Example</entry>
+ <entry align='center'>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>1</entry>
+ <entry>L</entry>
+ <entry>GPS Status U for unlocked, L for locked</entry>
+ </row>
+ <row>
+ <entry>2</entry>
+ <entry>6</entry>
+ <entry>Number of Satellites in View</entry>
+ </row>
+ <row>
+ <entry>3</entry>
+ <entry>B4.0</entry>
+ <entry>Altimeter Battery Voltage</entry>
+ </row>
+ <row>
+ <entry>4</entry>
+ <entry>A3.7</entry>
+ <entry>Apogee Igniter Voltage</entry>
+ </row>
+ <row>
+ <entry>5</entry>
+ <entry>M3.7</entry>
+ <entry>Main Igniter Voltage</entry>
+ </row>
+ <row>
+ <entry>6</entry>
+ <entry>1286</entry>
+ <entry>Device Serial Number</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Here's an example of an APRS comment showing GPS lock with 6
+ satellites in view, a primary battery at 4.0V, and
+ apogee and main igniters both at 3.7V from device 1286.
+ <screen>
+ L6 B4.0 A3.7 M3.7 1286
+ </screen>
+ </para>
+ <para>
+ Make sure your primary battery is above 3.8V, any connected
+ igniters are above 3.5V and GPS is locked with at least 5 or 6
+ satellites in view before flying. If GPS is switching between
+ L and U regularly, then it doesn't have a good lock and you
+ should wait until it becomes stable.
+ </para>
+ <para>
+ If the GPS receiver loses lock, the APRS data transmitted will
+ contain the last position for which GPS lock was
+ available. You can tell that this has happened by noticing
+ that the GPS status character switches from 'L' to 'U'. Before
+ GPS has locked, APRS will transmit zero for latitude,
+ longitude and altitude.
+ </para>
+ </section>
+ <section>
+ <title>Configurable Parameters</title>
+ <para>
+ Configuring an Altus Metrum altimeter for flight is very
+ simple. Even on our baro-only TeleMini and EasyMini boards,
+ the use of a Kalman filter means there is no need to set a
+ “mach delay”. The few configurable parameters can all be set
+ using AltosUI over USB or or radio link via TeleDongle. Read
+ the Configure Altimeter section in the AltosUI chapter below
+ for more information.
+ </para>
+ <section>
+ <title>Radio Frequency</title>
+ <para>
+ Altus Metrum boards support radio frequencies in the 70cm
+ band. By default, the configuration interface provides a
+ list of 10 “standard” frequencies in 100kHz channels starting at
+ 434.550MHz. However, the firmware supports use of
+ any 50kHz multiple within the 70cm band. At any given
+ launch, we highly recommend coordinating when and by whom each
+ frequency will be used to avoid interference. And of course, both
+ altimeter and TeleDongle must be configured to the same
+ frequency to successfully communicate with each other.
+ </para>
+ </section>
+ <section>
+ <title>Callsign</title>
+ <para>
+ This sets the callsign used for telemetry, APRS and the
+ packet link. For telemetry and APRS, this is used to
+ identify the device. For the packet link, the callsign must
+ match that configured in AltosUI or the link will not
+ work. This is to prevent accidental configuration of another
+ Altus Metrum flight computer operating on the same frequency nearby.
+ </para>
+ </section>
+ <section>
+ <title>Telemetry/RDF/APRS Enable</title>
+ <para>
+ You can completely disable the radio while in flight, if
+ necessary. This doesn't disable the packet link in idle
+ mode.
+ </para>
+ </section>
+ <section>
+ <title>Telemetry baud rate</title>
+ <para>
+ This sets the modulation bit rate for data transmission for
+ both telemetry and packet link mode. Lower bit
+ rates will increase range while reducing the amount of data
+ that can be sent and increasing battery consumption. All
+ telemetry is done using a rate 1/2 constraint 4 convolution
+ code, so the actual data transmission rate is 1/2 of the
+ modulation bit rate specified here.
+ </para>
+ </section>
+ <section>
+ <title>APRS Interval</title>
+ <para>
+ This selects how often APRS packets are transmitted. Set
+ this to zero to disable APRS without also disabling the
+ regular telemetry and RDF transmissions. As APRS takes a
+ full second to transmit a single position report, we
+ recommend sending packets no more than once every 5 seconds.
+ </para>
+ </section>
+ <section>
+ <title>APRS SSID</title>
+ <para>
+ This selects the SSID reported in APRS packets. By default,
+ it is set to the last digit of the serial number, but you
+ can change this to any value from 0 to 9.
+ </para>
+ </section>
+ <section>
+ <title>Apogee Delay</title>
+ <para>
+ Apogee delay is the number of seconds after the altimeter 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.
+ </para>
+ <para>
+ The Altus Metrum apogee detection algorithm fires exactly at
+ 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 air-frames this
+ way quite happily, including Keith's successful L3 cert.
+ </para>
+ </section>
+ <section>
+ <title>Apogee Lockout</title>
+ <para>
+ Apogee lockout is the number of seconds after boost where
+ the flight computer will not fire the apogee charge, even if
+ the rocket appears to be at apogee. This is often called
+ 'Mach Delay', as it is intended to prevent a flight computer
+ from unintentionally firing apogee charges due to the pressure
+ spike that occurrs across a mach transition. Altus Metrum
+ flight computers include a Kalman filter which is not fooled
+ by this sharp pressure increase, and so this setting should
+ be left at the default value of zero to disable it.
+ </para>
+ </section>
+ <section>
+ <title>Main Deployment Altitude</title>
+ <para>
+ By default, the altimeter 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 air-frames, 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.
+ </para>
+ </section>
+ <section>
+ <title>Maximum Flight Log</title>
+ <para>
+ Changing this value will set the maximum amount of flight
+ log storage that an individual flight will use. The
+ available storage is divided into as many flights of the
+ specified size as can fit in the available space. You can
+ download and erase individual flight logs. If you fill up
+ the available storage, future flights will not get logged
+ until you erase some of the stored ones.
+ </para>
+ <para>
+ Even though our flight computers (except TeleMini v1.0) can store
+ multiple flights, we strongly recommend downloading and saving
+ flight data after each flight.
+ </para>
+ </section>
+ <section>
+ <title>Ignite Mode</title>
+ <para>
+ Instead of firing one charge at apogee and another charge at
+ a fixed height above the ground, you can configure the
+ altimeter to fire both at apogee or both during
+ descent. This was added to support an airframe Bdale designed that
+ had two altimeters, one in the fin can and one in the nose.
+ </para>
+ <para>
+ Providing the ability to use both igniters for apogee or
+ main allows some level of redundancy without needing two
+ flight computers. In Redundant Apogee or Redundant Main
+ mode, the two charges will be fired two seconds apart.
+ </para>
+ </section>
+ <section>
+ <title>Pad Orientation</title>
+ <para>
+ TeleMetrum, TeleMega and EasyMega measure acceleration along the axis
+ of the board. Which way the board is oriented affects the
+ sign of the acceleration value. Instead of trying to guess
+ which way the board is mounted in the air frame, the
+ altimeter must be explicitly configured for either Antenna
+ Up or Antenna Down. The default, Antenna Up, expects the end
+ of the board connected to the 70cm antenna to be nearest the
+ nose of the rocket, with the end containing the screw
+ terminals nearest the tail.
+ </para>
+ </section>
+ <section>
+ <title>Configurable Pyro Channels</title>
+ <para>
+ In addition to the usual Apogee and Main pyro channels,
+ TeleMega and EasyMega have four additional channels that can be configured
+ to activate when various flight conditions are
+ satisfied. You can select as many conditions as necessary;
+ all of them must be met in order to activate the
+ channel. The conditions available are:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Acceleration away from the ground. Select a value, and
+ then choose whether acceleration should be above or
+ below that value. Acceleration is positive upwards, so
+ accelerating towards the ground would produce negative
+ numbers. Acceleration during descent is noisy and
+ inaccurate, so be careful when using it during these
+ phases of the flight.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Vertical speed. Select a value, and then choose whether
+ vertical speed should be above or below that
+ value. Speed is positive upwards, so moving towards the
+ ground would produce negative numbers. Speed during
+ descent is a bit noisy and so be careful when using it
+ during these phases of the flight.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Height. Select a value, and then choose whether the
+ height above the launch pad should be above or below
+ that value.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Orientation. TeleMega and EasyMega contain a 3-axis gyroscope and
+ accelerometer which is used to measure the current
+ angle. Note that this angle is not the change in angle
+ from the launch pad, but rather absolute relative to
+ gravity; the 3-axis accelerometer is used to compute the
+ angle of the rocket on the launch pad and initialize the
+ system. Because this value is computed by integrating
+ rate gyros, it gets progressively less accurate as the
+ flight goes on. It should have an accumulated error of
+ less than 0.2°/second (after 10 seconds of flight, the
+ error should be less than 2°).
+ </para>
+ <para>
+ The usual use of the orientation configuration is to
+ ensure that the rocket is traveling mostly upwards when
+ deciding whether to ignite air starts or additional
+ stages. For that, choose a reasonable maximum angle
+ (like 20°) and set the motor igniter to require an angle
+ of less than that value.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Flight Time. Time since boost was detected. Select a
+ value and choose whether to activate the pyro channel
+ before or after that amount of time.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Ascending. A simple test saying whether the rocket is
+ going up or not. This is exactly equivalent to testing
+ whether the speed is > 0.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Descending. A simple test saying whether the rocket is
+ going down or not. This is exactly equivalent to testing
+ whether the speed is < 0.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ After Motor. The flight software counts each time the
+ rocket starts accelerating and then decelerating
+ (presumably due to a motor or motors burning). Use this
+ value for multi-staged or multi-airstart launches.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Delay. This value doesn't perform any checks, instead it
+ inserts a delay between the time when the other
+ parameters become true and when the pyro channel is
+ activated.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Flight State. The flight software tracks the flight
+ through a sequence of states:
+ <orderedlist>
+ <listitem>
+ <para>
+ Boost. The motor has lit and the rocket is
+ accelerating upwards.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fast. The motor has burned out and the rocket is
+ decelerating, but it is going faster than 200m/s.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Coast. The rocket is still moving upwards and
+ decelerating, but the speed is less than 200m/s.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Drogue. The rocket has reached apogee and is heading
+ back down, but is above the configured Main
+ altitude.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Main. The rocket is still descending, and is below
+ the Main altitude
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Landed. The rocket is no longer moving.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ <para>
+ You can select a state to limit when the pyro channel
+ may activate; note that the check is based on when the
+ rocket transitions <emphasis>into</emphasis> the state, and so checking for
+ “greater than Boost” means that the rocket is currently
+ in boost or some later state.
+ </para>
+ <para>
+ When a motor burns out, the rocket enters either Fast or
+ Coast state (depending on how fast it is moving). If the
+ computer detects upwards acceleration again, it will
+ move back to Boost state.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </section>
+
+ </chapter>
+ <chapter>
+ <title>AltosUI</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="altosui.png" width="4.6in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ The AltosUI program provides a graphical user interface for
+ interacting with the Altus Metrum product family. AltosUI can
+ monitor telemetry data, configure devices and many other
+ tasks. The primary interface window provides a selection of
+ buttons, one for each major activity in the system. This chapter
+ is split into sections, each of which documents one of the tasks
+ provided from the top-level toolbar.
+ </para>
+ <section>
+ <title>Monitor Flight</title>
+ <subtitle>Receive, Record and Display Telemetry Data</subtitle>
+ <para>
+ 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.
+ </para>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="device-selection.png" width="3.1in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ 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.
+ </para>
+ <para>
+ The radio frequency being monitored by the TeleDongle device is
+ displayed at the top of the window. You can configure the
+ frequency by clicking on the frequency box and selecting the desired
+ frequency. AltosUI remembers the last frequency selected for each
+ TeleDongle and selects that automatically the next time you use
+ that device.
+ </para>
+ <para>
+ Below the TeleDongle frequency selector, the window contains a few
+ significant pieces of information about the altimeter providing
+ the telemetry data stream:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>The configured call-sign</para>
+ </listitem>
+ <listitem>
+ <para>The device serial number</para>
+ </listitem>
+ <listitem>
+ <para>The flight number. Each altimeter remembers how many
+ times it has flown.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The rocket flight state. Each flight passes through several
+ states including Pad, Boost, Fast, Coast, Drogue, Main and
+ Landed.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The Received Signal Strength Indicator value. This lets
+ you know how strong a signal TeleDongle is receiving. At
+ the default data rate, 38400 bps, in bench testing, the
+ radio inside TeleDongle v0.2 operates down to about
+ -106dBm, while the v3 radio works down to about -111dBm.
+ Weaker signals, or an environment with radio noise may
+ cause the data to not be received. The packet link uses
+ error detection and correction techniques which prevent
+ incorrect data from being reported.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The age of the displayed data, in seconds since the last
+ successfully received telemetry packet. In normal operation
+ this will stay in the low single digits. If the number starts
+ counting up, then you are no longer receiving data over the radio
+ link from the flight computer.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ 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 displays all of
+ the raw telemetry values in one place in a spreadsheet-like format.
+ </para>
+ <section>
+ <title>Launch Pad</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="launch-pad.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>
+ 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:
+ <variablelist>
+ <varlistentry>
+ <term>Battery Voltage</term>
+ <listitem>
+ <para>
+ This indicates whether the Li-Po battery powering the
+ flight computer has sufficient charge to last for
+ the duration of the flight. A value of more than
+ 3.8V is required for a 'GO' status.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Apogee Igniter Voltage</term>
+ <listitem>
+ <para>
+ 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 Li-Po battery voltage. A value greater than 3.2V is
+ required for a 'GO' status.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Main Igniter Voltage</term>
+ <listitem>
+ <para>
+ 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 Li-Po battery voltage. A value greater than 3.2V is
+ required for a 'GO' status.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>On-board Data Logging</term>
+ <listitem>
+ <para>
+ This indicates whether there is
+ space remaining on-board to store flight data for the
+ upcoming flight. If you've downloaded data, but failed
+ to erase flights, there may not be any space
+ left. Most of our flight computers can store multiple
+ flights, depending on the configured maximum flight log
+ size. TeleMini v1.0 stores only a single flight, so it
+ will need to be
+ downloaded and erased after each flight to capture
+ data. This only affects on-board flight logging; the
+ altimeter will still transmit telemetry and fire
+ ejection charges at the proper times even if the flight
+ data storage is full.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>GPS Locked</term>
+ <listitem>
+ <para>
+ For a TeleMetrum or TeleMega device, this indicates whether the GPS receiver is
+ currently able to compute position information. GPS requires
+ at least 4 satellites to compute an accurate position.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>GPS Ready</term>
+ <listitem>
+ <para>
+ For a TeleMetrum or TeleMega device, 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.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ The Launchpad tab also shows the computed launch pad position
+ and altitude, averaging many reported positions to improve the
+ accuracy of the fix.
+ </para>
+ </section>
+ <section>
+ <title>Ascent</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="ascent.png" width="5.5in"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <para>