- 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>
- 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.
- </para>
- <para>
- Please note that 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>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>
- <para>
- 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.
- </para>
- </section>
- </section>
- <section>
- <title>Calibration</title>
- <para>
- There are only two calibrations required for a TeleMetrum board, and
- only one for TeleDongle and TeleMini.
- </para>
- <section>
- <title>Radio Frequency</title>
- <para>
- 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.
- </para>
- <para>
- To calibrate the radio frequency, connect the UHF antenna port to a
- frequency counter, set the board to 434.550MHz, 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.
- </para>
- <para>
- when the radio calibration value is changed, the radio
- frequency value is reset to the same value, so you'll need
- to recompute and reset the radio frequency value using the
- new radio calibration value.
- </para>
- </section>
- <section>
- <title>TeleMetrum Accelerometer</title>
- <para>
- The TeleMetrum 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 ratio-metric 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.
- </para>
- <para>
- 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.
- </para>
- <para>
- 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.
- </para>
- <para>
- 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).
- </para>
- </section>
- </section>
- <section>
- <title>Updating Device Firmware</title>
- <para>
- The big conceptual thing to realize is that you have to use a
- TeleDongle as a programmer to update a TeleMetrum or TeleMini,
- and a TeleMetrum or other TeleDongle to program the TeleDongle
- Due to limited memory resources in the cc1111, we don't support
- programming directly over USB.
- </para>
- <para>
- 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 <ulink url="http://www.altusmetrum.org/AltOS/"/>.
- </para>
- <para>
- We recommend updating the altimeter first, before updating TeleDongle.
- </para>
- <section>
- <title>Updating TeleMetrum Firmware</title>
- <orderedlist inheritnum='inherit' numeration='arabic'>
- <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.
- </listitem>
- <listitem>
- Take the 2 screws out of the TeleDongle case to get access
- to the circuit board.
- </listitem>
- <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.
- </listitem>
- <listitem>
- Attach a battery to the TeleMetrum board.
- </listitem>
- <listitem>
- Plug the TeleDongle into your computer's USB port, and power
- up the TeleMetrum.
- </listitem>
- <listitem>
- Run AltosUI, and select 'Flash Image' from the File menu.
- </listitem>
- <listitem>
- Pick the TeleDongle device from the list, identifying it as the
- programming device.
- </listitem>
- <listitem>
- Select the image you want put on the TeleMetrum, which should have a
- name in the form telemetrum-v1.1-1.0.0.ihx. It should be visible
- in the default directory, if not you may have to poke around
- your system to find it.
- </listitem>
- <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.
- </listitem>
- <listitem>
- Hit the 'OK' button and the software should proceed to flash
- the TeleMetrum with new firmware, showing a progress bar.
- </listitem>
- <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.
- </listitem>
- <listitem>
- If something goes wrong, give it another try.
- </listitem>
- </orderedlist>
- </section>
- <section>
- <title>Updating TeleMini Firmware</title>
- <orderedlist inheritnum='inherit' numeration='arabic'>
- <listitem>
- You'll need a special 'programming cable' to reprogram the
- TeleMini. It's available on the Altus Metrum web store, or
- you can make your own using an 8-pin MicroMaTch connector on
- one end and a set of four pins on the other.
- </listitem>
- <listitem>
- Take the 2 screws out of the TeleDongle case to get access
- to the circuit board.
- </listitem>
- <listitem>
- Plug the 8-pin end of the programming cable to the matching
- connector on the TeleDongle, and the 4-pins into the holes
- in the TeleMini circuit board. Note that the MicroMaTch
- connector has an alignment pin that goes through a hole in
- the PC board when you have the cable oriented correctly, and
- that pin 1 on the TeleMini board is marked with a square pad
- while the other pins have round pads.
- </listitem>
- <listitem>
- Attach a battery to the TeleMini board.
- </listitem>
- <listitem>
- Plug the TeleDongle into your computer's USB port, and power
- up the TeleMini
- </listitem>
- <listitem>
- Run AltosUI, and select 'Flash Image' from the File menu.
- </listitem>
- <listitem>
- Pick the TeleDongle device from the list, identifying it as the
- programming device.
- </listitem>
- <listitem>
- Select the image you want put on the TeleMini, which should have a
- name in the form telemini-v1.0-1.0.0.ihx. It should be visible
- in the default directory, if not you may have to poke around
- your system to find it.
- </listitem>
- <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.
- </listitem>
- <listitem>
- Hit the 'OK' button and the software should proceed to flash
- the TeleMini with new firmware, showing a progress bar.
- </listitem>
- <listitem>
- Confirm that the TeleMini board seems to have updated OK, which you
- can do by configuring it over the RF link through the TeleDongle, or
- letting it come up in "flight" mode and listening for telemetry.
- </listitem>
- <listitem>
- If something goes wrong, give it another try.
- </listitem>
- </orderedlist>
- </section>
- <section>
- <title>Updating TeleDongle Firmware</title>
- <para>
- Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
- firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
- </para>
- <orderedlist inheritnum='inherit' numeration='arabic'>
- <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.
- </listitem>
- <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 or TeleDongle.
- </listitem>
- <listitem>
- Take the 2 screws out of the TeleDongle case to get access
- to the circuit board.
- </listitem>
- <listitem>
- Plug the 8-pin end of the programming cable to the
- matching connector on the programmer, 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.
- </listitem>
- <listitem>
- Attach a battery to the TeleMetrum board if you're using one.
- </listitem>
- <listitem>
- Plug both the programmer and the TeleDongle into your computer's USB
- ports, and power up the programmer.
- </listitem>
- <listitem>
- Run AltosUI, and select 'Flash Image' from the File menu.
- </listitem>
- <listitem>
- Pick the programmer device from the list, identifying it as the
- programming device.
- </listitem>
- <listitem>
- Select the image you want put on the TeleDongle, which should have a
- name in the form teledongle-v0.2-1.0.0.ihx. It should be visible
- in the default directory, if not you may have to poke around
- your system to find it.
- </listitem>
- <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.
- </listitem>
- <listitem>
- Hit the 'OK' button and the software should proceed to flash
- the TeleDongle with new firmware, showing a progress bar.
- </listitem>
- <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.
- </listitem>
- <listitem>
- If something goes wrong, give it another try.
- </listitem>
- </orderedlist>
- <para>
- 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.
- </para>
+ 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>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>
+ </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 that has 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 and TeleMega 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>Pyro Channels</title>
+ <para>
+ In addition to the usual Apogee and Main pyro channels,
+ TeleMega has 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 contains 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 .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 (presumably due to a motor or
+ motors igniting). Use this value to count ignitions 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
+ descellerating, 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 blow
+ 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 *into* the state, and so checking for
+ 'greater than Boost' means that the rocket is currently
+ in boost 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>