From 20d4d410e0fc04fe192e309811eed6c0194fa5a8 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 30 Mar 2010 23:11:40 -0600 Subject: initial harness for documentation --- doc/Makefile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/Makefile (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 00000000..d3293900 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,25 @@ +# +# http://docbook.sourceforge.net/release/xsl/current/README +# + +all: telemetrum.html telemetrum.pdf + +telemetrum.html: telemetrum.xsl + xsltproc -o telemetrum.html \ + /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \ + telemetrum.xsl + +telemetrum.fo: telemetrum.xsl + xsltproc -o telemetrum.fo \ + /usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl \ + telemetrum.xsl + +telemetrum.pdf: telemetrum.fo + fop -fo telemetrum.fo -pdf telemetrum.pdf + +clean: + rm -f telemetrum.html telemetrum.pdf telemetrum.fo + +indent: telemetrum.xsl + xmlindent -i 2 < telemetrum.xsl > telemetrum.new + -- cgit v1.2.3 From 01e524f11a67390a8ea1f20aa2d611909b4da363 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 8 Apr 2010 19:55:05 -0600 Subject: choose a better set of docbook xsl files --- doc/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index d3293900..55b7a548 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -6,12 +6,12 @@ all: telemetrum.html telemetrum.pdf telemetrum.html: telemetrum.xsl xsltproc -o telemetrum.html \ - /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \ + /usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl \ telemetrum.xsl telemetrum.fo: telemetrum.xsl xsltproc -o telemetrum.fo \ - /usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl \ + /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl \ telemetrum.xsl telemetrum.pdf: telemetrum.fo -- cgit v1.2.3 From bd40a5b431847c071f5c486d754eca5627e5e3b9 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 20 Jul 2010 02:12:03 -0600 Subject: significant update --- doc/Makefile | 30 +- doc/telemetrum-doc.xsl | 909 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/telemetrum.xsl | 881 ----------------------------------------------- 3 files changed, 927 insertions(+), 893 deletions(-) create mode 100644 doc/telemetrum-doc.xsl delete mode 100644 doc/telemetrum.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 55b7a548..f8048dce 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,24 +2,30 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -all: telemetrum.html telemetrum.pdf +all: telemetrum-doc.html telemetrum-doc.pdf -telemetrum.html: telemetrum.xsl - xsltproc -o telemetrum.html \ +publish: all + cp telemetrum-doc.html \ + telemetrum-doc.pdf /home/bdale/web/altusmetrum/TeleMetrum/doc/ + (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/TeleMetrum/doc/* ; git push) + + +telemetrum-doc.html: telemetrum-doc.xsl + xsltproc -o telemetrum-doc.html \ /usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl \ - telemetrum.xsl + telemetrum-doc.xsl -telemetrum.fo: telemetrum.xsl - xsltproc -o telemetrum.fo \ +telemetrum-doc.fo: telemetrum-doc.xsl + xsltproc -o telemetrum-doc.fo \ /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl \ - telemetrum.xsl + telemetrum-doc.xsl -telemetrum.pdf: telemetrum.fo - fop -fo telemetrum.fo -pdf telemetrum.pdf +telemetrum-doc.pdf: telemetrum-doc.fo + fop -fo telemetrum-doc.fo -pdf telemetrum-doc.pdf clean: - rm -f telemetrum.html telemetrum.pdf telemetrum.fo + rm -f telemetrum-doc.html telemetrum-doc.pdf telemetrum-doc.fo -indent: telemetrum.xsl - xmlindent -i 2 < telemetrum.xsl > telemetrum.new +indent: telemetrum-doc.xsl + xmlindent -i 2 < telemetrum-doc.xsl > telemetrum-doc.new diff --git a/doc/telemetrum-doc.xsl b/doc/telemetrum-doc.xsl new file mode 100644 index 00000000..b7963aec --- /dev/null +++ b/doc/telemetrum-doc.xsl @@ -0,0 +1,909 @@ + + + + TeleMetrum + Owner's Manual for the TeleMetrum System + + + Bdale + Garbee + + + Keith + Packard + + + 2010 + Bdale Garbee and Keith Packard + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 0.2 + 18 July 2010 + Significant update + + + 0.1 + 30 March 2010 + Initial content + + + + + Introduction and Overview + + Welcome to the Altus Metrum community! Our circuits and software reflect + our passion for both hobby rocketry and Free Software. We hope their + capabilities and performance will delight you in every way, but by + releasing all of our hardware and software designs under open licenses, + we also hope to empower you to take as active a role in our collective + future as you wish! + + + The focal point of our community is TeleMetrum, a dual deploy altimeter + with fully integrated GPS and radio telemetry as standard features, and + a "companion interface" that will support optional capabilities in the + future. + + + Complementing TeleMetrum is TeleDongle, a USB to RF interface for + communicating with TeleMetrum. Combined with your choice of antenna and + notebook computer, TeleDongle and our associated user interface software + form a complete ground station capable of logging and displaying in-flight + telemetry, aiding rocket recovery, then processing and archiving flight + data for analysis and review. + + + More products will be added to the Altus Metrum family over time, and + we currently envision that this will be a single, comprehensive manual + for the entire product family. + + + + Getting Started + + This chapter began as "The Mere-Mortals Quick Start/Usage Guide to + the Altus Metrum Starter Kit" by Bob Finch, W9YA, NAR 12965, TRA 12350, + w9ya@amsat.org. Bob was one of our first customers for a production + TeleMetrum, and the enthusiasm that led to his contribution of this + section is immensely gratifying and highy appreciated! + + + The first thing to do after you check the inventory of parts in your + "starter kit" is to charge the battery by plugging it into the + corresponding socket of the TeleMetrum and then using the USB A to B + cable to plug the Telemetrum into your computer's USB socket. The + TeleMetrum circuitry will charge the battery whenever it is plugged + into the usb socket. The TeleMetrum's on-off switch does NOT control + the charging circuitry. When the GPS chip is initially searching for + satellites, the unit will pull more current than it can pull from the + usb port, so the battery must be plugged in order to get a good + satellite lock. Once GPS is locked the current consumption goes back + down enough to enable charging while + running. So it's a good idea to fully charge the battery as your + first item of business so there is no issue getting and maintaining + satellite lock. The yellow charge indicator led will go out when the + battery is nearly full and the charger goes to trickle charge. + + + The other active device in the starter kit is the half-duplex TeleDongle + rf link. If you plug it in to your computer it should "just work", + showing up as a serial port device. If you are using Linux and are + having problems, try moving to a fresher kernel (2.6.33 or newer), as + there were some ugly USB serial driver bugs in earlier versions. + + + Next you should obtain and install the AltOS utilities. The first + generation sofware was written for Linux only. New software is coming + soon that will also run on Windows and Mac. For now, we'll concentrate + on Linux. If you are using Debian, an 'altos' package already exists, + see http://altusmetrum.org/AltOS for details on how to install it. + User-contributed directions for building packages on ArchLinux may be + found in the contrib/arch-linux directory as PKGBUILD files. + Between the debian/rules file and the PKGBUILD files in + contrib, you should find enough information to learn how to build the + software for any other version of Linux. + + + When you have successfully installed the software suite (either from + compiled source code or as the pre-built Debian package) you will + have 10 or so executable programs all of which have names beginning + with 'ao-'. + ('ao-view' is the lone GUI-based program, the rest are command-line + oriented.) You will also have man pages, that give you basic info + on each program. + You will also get this documentation in two file types in the doc/ +directory, telemetrum-doc.pdf and telemetrum-doc.html. + Finally you will have a couple control files that allow the ao-view + GUI-based program to appear in your menu of programs (under + the 'Internet' category). + + + Both Telemetrum and TeleDongle can be directly communicated + with using USB ports. The first thing you should try after getting + both units plugged into to your computer's usb port(s) is to run + 'ao-list' from a terminal-window to see what port-device-name each + device has been assigned by the operating system. + You will need this information to access the devices via their + respective on-board firmware and data using other command line + programs in the AltOS software suite. + + + To access the device's firmware for configuration you need a terminal + program such as you would use to talk to a modem. The software + authors prefer using the program 'cu' which comes from the UUCP package + on most Unix-like systems such as Linux. An example command line for + cu might be 'cu -l /dev/ttyACM0', substituting the correct number + indicated from running the + ao-list program. Another reasonable terminal program for Linux is + 'cutecom'. The default 'escape' + character used by CU (i.e. the character you use to + issue commands to cu itself instead of sending the command as input + to the connected device) is a '~'. You will need this for use in + only two different ways during normal operations. First is to exit + the program by sending a '~.' which is called a 'escape-disconnect' + and allows you to close-out from 'cu'. The + second use will be outlined later. + + + Both TeleMetrum and TeleDongle share the concept of a two level + command set in their firmware. + The first layer has several single letter commands. Once + you are using 'cu' (or 'cutecom') sending (typing) a '?' + returns a full list of these + commands. The second level are configuration sub-commands accessed + using the 'c' command, for + instance typing 'c?' will give you this second level of commands + (all of which require the + letter 'c' to access). Please note that most configuration options + are stored only in DataFlash memory, and only TeleMetrum has this + memory to save the various values entered like the channel number + and your callsign when powered off. TeleDongle requires that you + set these each time you plug it in, which ao-view can help with. + + + Try setting these config ('c' or second level menu) values. A good + place to start is by setting your call sign. By default, the boards + use 'N0CALL' which is cute, but not exactly legal! + Spend a few minutes getting comfortable with the units, their + firmware, and 'cu' (or possibly 'cutecom'). + For instance, try to send + (type) a 'c r 2' and verify the channel change by sending a 'c s'. + Verify you can connect and disconnect from the units while in your + terminal program by sending the escape-disconnect mentioned above. + + + Note that the 'reboot' command, which is very useful on TeleMetrum, + will likely just cause problems with the dongle. The *correct* way + to reset the dongle is just to unplug and re-plug it. + + + A fun thing to do at the launch site and something you can do while + learning how to use these units is to play with the rf-link access + of the TeleMetrum from the TeleDongle. Be aware that you *must* create + some physical separation between the devices, otherwise the link will + not function due to signal overload in the receivers in each device. + + + Now might be a good time to take a break and read the rest of this + manual, particularly about the two "modes" that the TeleMetrum + can be placed in and how the position of the TeleMetrum when booting + up will determine whether the unit is in "pad" or "idle" mode. + + + You can access a TeleMetrum in idle mode from the Teledongle's USB + connection using the rf link + by issuing a 'p' command to the TeleDongle. Practice connecting and + disconnecting ('~~' while using 'cu') from the TeleMetrum. If + you cannot escape out of the "p" command, (by using a '~~' when in + CU) then it is likely that your kernel has issues. Try a newer version. + + + Using this rf link allows you to configure the TeleMetrum, test + fire e-matches and igniters from the flight line, check pyro-match + continuity and so forth. You can leave the unit turned on while it + is in 'idle mode' and then place the + rocket vertically on the launch pad, walk away and then issue a + reboot command. The TeleMetrum will reboot and start sending data + having changed to the "pad" mode. If the TeleDongle is not receiving + this data, you can disconnect 'cu' from the Teledongle using the + procedures mentioned above and THEN connect to the TeleDongle from + inside 'ao-view'. If this doesn't work, disconnect from the + TeleDongle, unplug it, and try again after plugging it back in. + + + Eventually the GPS will find enough satellites, lock in on them, + and 'ao-view' will both auditorially announce and visually indicate + that GPS is ready. + Now you can launch knowing that you have a good data path and + good satellite lock for flight data and recovery. Remember + you MUST tell ao-view to connect to the TeleDongle explicitly in + order for ao-view to be able to receive data. + + + Both RDF (radio direction finding) tones from the TeleMetrum and + GPS trekking data are available and together are very useful in + locating the rocket once it has landed. (The last good GPS data + received before touch-down will be on the data screen of 'ao-view'.) + + + Once you have recovered the rocket you can download the eeprom + contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over + either a USB cable or over the radio link using TeleDongle. + And by following the man page for 'ao-postflight' you can create + various data output reports, graphs, and even kml data to see the + flight trajectory in google-earth. (Moving the viewing angle making + sure to connect the yellow lines while in google-earth is the proper + technique.) + + + As for ao-view.... some things are in the menu but don't do anything + very useful. The developers have stopped working on ao-view to focus + on a new, cross-platform ground station program. So ao-view may or + may not be updated in the future. Mostly you just use + the Log and Device menus. It has a wonderful display of the incoming + flight data and I am sure you will enjoy what it has to say to you + once you enable the voice output! + +
+ FAQ + + The altimeter (TeleMetrum) seems to shut off when disconnected from the + computer. Make sure the battery is adequately charged. Remember the + unit will pull more power than the USB port can deliver before the + GPS enters "locked" mode. The battery charges best when TeleMetrum + is turned off. + + + It's impossible to stop the TeleDongle when it's in "p" mode, I have + to unplug the USB cable? Make sure you have tried to "escape out" of + this mode. If this doesn't work the reboot procedure for the + TeleDongle *is* to simply unplug it. 'cu' however will retain it's + outgoing buffer IF your "escape out" ('~~') does not work. + At this point using either 'ao-view' (or possibly + 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed + communication. + + + The amber LED (on the TeleMetrum/altimeter) lights up when both + battery and USB are connected. Does this mean it's charging? + Yes, the yellow LED indicates the charging at the 'regular' rate. + If the led is out but the unit is still plugged into a USB port, + then the battery is being charged at a 'trickle' rate. + + + There are no "dit-dah-dah-dit" sound like the manual mentions? + That's the "pad" mode. Weak batteries might be the problem. + It is also possible that the unit is horizontal and the output + is instead a "dit-dit" meaning 'idle'. + + + It's unclear how to use 'ao-view' and other programs when 'cu' + is running. You cannot have more than one program connected to + the TeleDongle at one time without apparent data loss as the + incoming data will not make it to both programs intact. + Disconnect whatever programs aren't currently being used. + + + How do I save flight data? + Live telemetry is written to file(s) whenever 'ao-view' is connected + to the TeleDongle. The file area defaults to ~/altos + but is easily changed using the menus in 'ao-view'. The files that + are written end in '.telem'. The after-flight + data-dumped files will end in .eeprom and represent continuous data + unlike the rf-linked .telem files that are subject to the + turnarounds/data-packaging time slots in the half-duplex rf data path. + See the above instructions on what and how to save the eeprom stored + data after physically retrieving your TeleMetrum. Make sure to save + the on-board data after each flight, as the current firmware will + over-write any previous flight data during a new flight. + +
+
+ + Specifications + + + + Recording altimeter for model rocketry. + + + + + Supports dual deployment (can fire 2 ejection charges). + + + + + 70cm ham-band transceiver for telemetry downlink. + + + + + Barometric pressure sensor good to 45k feet MSL. + + + + + 1-axis high-g accelerometer for motor characterization, capable of + +/- 50g using default part. + + + + + On-board, integrated GPS receiver with 5hz update rate capability. + + + + + On-board 1 megabyte non-volatile memory for flight data storage. + + + + + USB interface for battery charging, configuration, and data recovery. + + + + + Fully integrated support for LiPo rechargeable batteries. + + + + + Uses LiPo to fire e-matches, support for optional separate pyro + battery if needed. + + + + + 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. + + + + + + Handling Precautions + + TeleMetrum is a sophisticated electronic device. When handled gently and + properly installed in an airframe, it will deliver impressive results. + However, like all electronic devices, there are some precautions you + must take. + + + The Lithium Polymer rechargeable batteries used with TeleMetrum have an + extraordinary power density. This is great because we can fly with + much less battery mass than if we used alkaline batteries or previous + generation rechargeable batteries... but if they are punctured + or their leads are allowed to short, they can and will release their + energy very rapidly! + Thus we recommend that you take some care when handling our batteries + and consider giving them some extra protection in your airframe. We + often wrap them in suitable scraps of closed-cell packing foam before + strapping them down, for example. + + + The TeleMetrum barometric sensor is sensitive to sunlight. In normal + mounting situations, it and all of the other surface mount components + are "down" towards whatever the underlying mounting surface is, so + this is not normally a problem. Please consider this, though, when + designing an installation, for example, in a 29mm airframe with a + see-through plastic payload bay. + + + The TeleMetrum barometric sensor sampling port must be able to + "breathe", + both by not being covered by foam or tape or other materials that might + directly block the hole on the top of the sensor, but also by having a + suitable static vent to outside air. + + + As with all other rocketry electronics, TeleMetrum must be protected + from exposure to corrosive motor exhaust and ejection charge gasses. + + + + Hardware Overview + + TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to + fit inside coupler for 29mm airframe tubing, but using it in a tube that + small in diameter may require some creativity in mounting and wiring + to succeed! The default 1/4 + wave UHF wire antenna attached to the center of the nose-cone end of + the board is about 7 inches long, and wiring for a power switch and + the e-matches for apogee and main ejection charges depart from the + fin can end of the board. Given all this, an ideal "simple" avionics + bay for TeleMetrum should have at least 10 inches of interior length. + + + A typical TeleMetrum installation using the on-board GPS antenna and + default wire UHF antenna involves attaching only a suitable + Lithium Polymer battery, a single pole switch for power on/off, and + two pairs of wires connecting e-matches for the apogee and main ejection + charges. + + + By default, we use the unregulated output of the LiPo battery directly + to fire ejection charges. This works marvelously with standard + low-current e-matches like the J-Tek from MJG Technologies, and with + Quest Q2G2 igniters. However, if you + want or need to use a separate pyro battery, you can do so by adding + a second 2mm connector to position B2 on the board and cutting the + thick pcb trace connecting the LiPo battery to the pyro circuit between + the two silk screen marks on the surface mount side of the board shown + here [insert photo] + + + We offer two choices of pyro and power switch connector, or you can + choose neither and solder wires directly to the board. All three choices + are reasonable depending on the constraints of your airframe. Our + favorite option when there is sufficient room above the board is to use + the Tyco pin header with polarization and locking. If you choose this + option, you crimp individual wires for the power switch and e-matches + into a mating connector, and installing and removing the TeleMetrum + board from an airframe is as easy as plugging or unplugging two + connectors. If the airframe will not support this much height or if + you want to be able to directly attach e-match leads to the board, we + offer a screw terminal block. This is very similar to what most other + altimeter vendors provide and so may be the most familiar option. + You'll need a very small straight blade screwdriver to connect + and disconnect the board in this case, such as you might find in a + jeweler's screwdriver set. Finally, you can forego both options and + solder wires directly to the board, which may be the best choice for + minimum diameter and/or minimum mass designs. + + + For most airframes, the integrated GPS antenna and wire UHF antenna are + a great combination. However, if you are installing in a carbon-fiber + electronics bay which is opaque to RF signals, you may need to use + off-board external antennas instead. In this case, you can order + TeleMetrum with an SMA connector for the UHF antenna connection, and + you can unplug the integrated GPS antenna and select an appropriate + off-board GPS antenna with cable terminating in a U.FL connector. + + + + Operation +
+ Firmware Modes + + The AltOS firmware build for TeleMetrum has two fundamental modes, + "idle" and "flight". Which of these modes the firmware operates in + is determined by the orientation of the rocket (well, actually the + board, of course...) at the time power is switched on. If the rocket + is "nose up", then TeleMetrum assumes it's on a rail or rod being + prepared for launch, so the firmware chooses flight mode. However, + if the rocket is more or less horizontal, the firmware instead enters + idle mode. + + + At power on, you will hear three beeps + ("S" in Morse code for startup) and then a pause while + TeleMetrum completes initialization and self tests, and decides which + mode to enter next. + + + In flight or "pad" mode, TeleMetrum turns on the GPS system, + engages the flight + state machine, goes into transmit-only mode on the RF link sending + telemetry, and waits for launch to be detected. Flight mode is + indicated by an audible "di-dah-dah-dit" ("P" for pad) on the + beeper, followed by + beeps indicating the state of the pyrotechnic igniter continuity. + One beep indicates apogee continuity, two beeps indicate + main continuity, three beeps indicate both apogee and main continuity, + and one longer "brap" sound indicates no continuity. For a dual + deploy flight, make sure you're getting three beeps before launching! + For apogee-only or motor eject flights, do what makes sense. + + + In idle mode, you will hear an audible "di-dit" ("I" for idle), and + the normal flight state machine is disengaged, thus + no ejection charges will fire. TeleMetrum also listens on the RF + link when in idle mode for packet mode requests sent from TeleDongle. + Commands can be issued to a TeleMetrum in idle mode over either + USB or the RF link equivalently. + Idle mode is useful for configuring TeleMetrum, for extracting data + from the on-board storage chip after flight, and for ground testing + pyro charges. + + + One "neat trick" of particular value when TeleMetrum is used with very + large airframes, is that you can power the board up while the rocket + is horizontal, such that it comes up in idle mode. Then you can + raise the airframe to launch position, use a TeleDongle to open + a packet connection, and issue a 'reset' command which will cause + TeleMetrum to reboot, realize it's now nose-up, and thus choose + flight mode. This is much safer than standing on the top step of a + rickety step-ladder or hanging off the side of a launch tower with + a screw-driver trying to turn on your avionics before installing + igniters! + +
+
+ GPS + + TeleMetrum includes a complete GPS receiver. See a later section for + a brief explanation of how GPS works that will help you understand + the information in the telemetry stream. The bottom line is that + the TeleMetrum GPS receiver needs to lock onto at least four + satellites to obtain a solid 3 dimensional position fix and know + what time it is! + + + TeleMetrum provides backup power to the GPS chip any time a LiPo + battery is connected. This allows the receiver to "warm start" on + the launch rail much faster than if every power-on were a "cold start" + for the GPS receiver. In typical operations, powering up TeleMetrum + on the flight line in idle mode while performing final airframe + preparation will be sufficient to allow the GPS receiver to cold + start and acquire lock. Then the board can be powered down during + RSO review and installation on a launch rod or rail. When the board + is turned back on, the GPS system should lock very quickly, typically + long before igniter installation and return to the flight line are + complete. + +
+
+ Ground Testing + + An important aspect of preparing a rocket using electronic deployment + for flight is ground testing the recovery system. Thanks + to the bi-directional RF link central to the Altus Metrum system, + this can be accomplished in a TeleMetrum-equipped rocket without as + much work as you may be accustomed to with other systems. It can + even be fun! + + + Just prep the rocket for flight, then power up TeleMetrum while the + airframe is horizontal. This will cause the firmware to go into + "idle" mode, in which the normal flight state machine is disabled and + charges will not fire without manual command. Then, establish an + RF packet connection from a TeleDongle-equipped computer using the + P command from a safe distance. You can now command TeleMetrum to + fire the apogee or main charges to complete your testing. + + + In order to reduce the chance of accidental firing of pyrotechnic + charges, the command to fire a charge is intentionally somewhat + difficult to type, and the built-in help is slightly cryptic to + prevent accidental echoing of characters from the help text back at + the board from firing a charge. The command to fire the apogee + drogue charge is 'i DoIt drogue' and the command to fire the main + charge is 'i DoIt main'. + +
+
+ Radio Link + + The chip our boards are based on incorporates an RF transceiver, but + it's not a full duplex system... each end can only be transmitting or + receiving at any given moment. So we had to decide how to manage the + link. + + + By design, TeleMetrum firmware listens for an RF connection when + it's in "idle mode" (turned on while the rocket is horizontal), which + allows us to use the RF link to configure the rocket, do things like + ejection tests, and extract data after a flight without having to + crack open the airframe. However, when the board is in "flight + mode" (turned on when the rocket is vertical) the TeleMetrum only + transmits and doesn't listen at all. That's because we want to put + ultimate priority on event detection and getting telemetry out of + the rocket and out over + the RF link in case the rocket crashes and we aren't able to extract + data later... + + + We don't use a 'normal packet radio' mode because they're just too + inefficient. The GFSK modulation we use is just FSK with the + baseband pulses passed through a + Gaussian filter before they go into the modulator to limit the + transmitted bandwidth. When combined with the hardware forward error + correction support in the cc1111 chip, this allows us to have a very + robust 38.4 kilobit data link with only 10 milliwatts of transmit power, + a whip antenna in the rocket, and a hand-held Yagi on the ground. We've + had flights to above 21k feet AGL with good reception, and calculations + suggest we should be good to well over 40k feet AGL with a 5-element yagi on + the ground. We hope to fly boards to higher altitudes soon, and would + of course appreciate customer feedback on performance in higher + altitude flights! + +
+
+ Configurable Parameters + + Configuring a TeleMetrum board for flight is very simple. Because we + have both acceleration and pressure sensors, there is no need to set + a "mach delay", for example. The few configurable parameters can all + be set using a simple terminal program over the USB port or RF link + via TeleDongle. + +
+ Radio Channel + + Our firmware supports 10 channels. The default channel 0 corresponds + to a center frequency of 434.550 Mhz, and channels are spaced every + 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz. + At any given launch, we highly recommend coordinating who will use + each channel and when to avoid interference. And of course, both + TeleMetrum and TeleDongle must be configured to the same channel to + successfully communicate with each other. + + + To set the radio channel, use the 'c r' command, like 'c r 3' to set + channel 3. + As with all 'c' sub-commands, follow this with a 'c w' to write the + change to the parameter block in the on-board DataFlash chip on + your TeleMetrum board if you want the change to stay in place across reboots. + +
+
+ Apogee Delay + + Apogee delay is the number of seconds after TeleMetrum detects flight + apogee that the drogue charge should be fired. In most cases, this + should be left at the default of 0. However, if you are flying + redundant electronics such as for an L3 certification, you may wish + to set one of your altimeters to a positive delay so that both + primary and backup pyrotechnic charges do not fire simultaneously. + + + To set the apogee delay, use the [FIXME] 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. + + + Please note that the TeleMetrum apogee detection algorithm always + fires a fraction of a second *after* apogee. If you are also flying + an altimeter like the PerfectFlite MAWD, which only supports selecting + 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0 + seconds delay and set the TeleMetrum to fire your backup 2 or 3 + seconds later to avoid any chance of both charges firing + simultaneously. We've flown several airframes this way quite happily, + including Keith's successful L3 cert. + +
+
+ Main Deployment Altitude + + By default, TeleMetrum will fire the main deployment charge at an + elevation of 250 meters (about 820 feet) above ground. We think this + is a good elevation for most airframes, but feel free to change this + to suit. In particular, if you are flying two altimeters, you may + wish to set the + deployment elevation for the backup altimeter to be something lower + than the primary so that both pyrotechnic charges don't fire + simultaneously. + + + To set the main deployment altitude, use the [FIXME] 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. + +
+
+
+ Calibration + + There are only two calibrations required for a TeleMetrum board, and + only one for TeleDongle. + +
+ Radio Frequency + + 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. + + + To calibrate the radio frequency, connect the UHF antenna port to a + frequency counter, set the board to channel 0, and use the 'C' + command to generate a CW carrier. Wait for the transmitter temperature + to stabilize and the frequency to settle down. + Then, divide 434.550 Mhz by the + measured frequency and multiply by the current radio cal value show + in the 'c s' command. For an unprogrammed board, the default value + is 1186611. Take the resulting integer and program it using the 'c f' + command. Testing with the 'C' command again should show a carrier + within a few tens of Hertz of the intended frequency. + As with all 'c' sub-commands, follow this with a 'c w' to write the + change to the parameter block in the on-board DataFlash chip. + +
+
+ Accelerometer + + The accelerometer we use has its own 5 volt power supply and + the output must be passed through a resistive voltage divider to match + the input of our 3.3 volt ADC. This means that unlike the barometric + sensor, the output of the acceleration sensor is not ratiometric to + the ADC converter, and calibration is required. We also support the + use of any of several accelerometers from a Freescale family that + includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity, + a simple 2-point calibration yields acceptable results capturing both + the different sensitivities and ranges of the different accelerometer + parts and any variation in power supply voltages or resistor values + in the divider network. + + + 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. + + + 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. + +
+
+
+ + Using Altus Metrum Products +
+ Being Legal + + First off, in the US, you need an [amateur radio license](../Radio) or + other authorization to legally operate the radio transmitters that are part + of our products. + +
+ In the Rocket + + In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and + a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V + alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours. + + + By default, we ship TeleMetrum with a simple wire antenna. If your + electronics bay or the airframe it resides within is made of carbon fiber, + which is opaque to RF signals, you may choose to have an SMA connector + installed so that you can run a coaxial cable to an antenna mounted + elsewhere in the rocket. + +
+
+ On the Ground + + To receive the data stream from the rocket, you need an antenna and short + feedline connected to one of our [TeleDongle](../TeleDongle) units. The + TeleDongle in turn plugs directly into the USB port on a notebook + computer. Because TeleDongle looks like a simple serial port, your computer + does not require special device drivers... just plug it in. + + + Right now, all of our application software is written for Linux. However, + because we understand that many people run Windows or MacOS, we are working + on a new ground station program written in Java that should work on all + operating systems. + + + After the flight, you can use the RF link to extract the more detailed data + logged in the rocket, or you can use a mini USB cable to plug into the + TeleMetrum board directly. Pulling out the data without having to open up + the rocket is pretty cool! A USB cable is also how you charge the LiPo + battery, so you'll want one of those anyway... the same cable used by lots + of digital cameras and other modern electronic stuff will work fine. + + + If your rocket lands out of sight, you may enjoy having a hand-held GPS + receiver, so that you can put in a waypoint for the last reported rocket + position before touch-down. This makes looking for your rocket a lot like + Geo-Cacheing... just go to the waypoint and look around starting from there. + + + You may also enjoy having a ham radio "HT" that covers the 70cm band... you + can use that with your antenna to direction-find the rocket on the ground + the same way you can use a Walston or Beeline tracker. This can be handy + if the rocket is hiding in sage brush or a tree, or if the last GPS position + doesn't get you close enough because the rocket dropped into a canyon, or + the wind is blowing it across a dry lake bed, or something like that... Keith + and Bdale both currently own and use the Yaesu VX-7R at launches. + + + So, to recap, on the ground the hardware you'll need includes: + + + an antenna and feedline + + + a TeleDongle + + + a notebook computer + + + optionally, a handheld GPS receiver + + + optionally, an HT or receiver covering 435 Mhz + + + + + The best hand-held commercial directional antennas we've found for radio + direction finding rockets are from + + Arrow Antennas. + + The 440-3 and 440-5 are both good choices for finding a + TeleMetrum-equipped rocket when used with a suitable 70cm HT. + +
+
+ Data Analysis + + Our software makes it easy to log the data from each flight, both the + telemetry received over the RF link during the flight itself, and the more + complete data log recorded in the DataFlash memory on the TeleMetrum + board. Once this data is on your computer, our postflight tools make it + easy to quickly get to the numbers everyone wants, like apogee altitude, + max acceleration, and max velocity. You can also generate and view a + standard set of plots showing the altitude, acceleration, and + velocity of the rocket during flight. And you can even export a data file + useable with Google Maps and Google Earth for visualizing the flight path + in two or three dimensions! + + + Our ultimate goal is to emit a set of files for each flight that can be + published as a web page per flight, or just viewed on your local disk with + a web browser. + +
+
+ Future Plans + + In the future, we intend to offer "companion boards" for the rocket that will + plug in to TeleMetrum to collect additional data, provide more pyro channels, + and so forth. A reference design for a companion board will be documented + soon, and will be compatible with open source Arduino programming tools. + + + We are also working on the design of a hand-held ground terminal that will + allow monitoring the rocket's status, collecting data during flight, and + logging data after flight without the need for a notebook computer on the + flight line. Particularly since it is so difficult to read most notebook + screens in direct sunlight, we think this will be a great thing to have. + + + Because all of our work is open, both the hardware designs and the software, + if you have some great idea for an addition to the current Altus Metrum family, + feel free to dive in and help! Or let us know what you'd like to see that + we aren't already working on, and maybe we'll get excited about it too... + +
+
+
+ + How GPS Works + + + Placeholder. + +
+
+
+ diff --git a/doc/telemetrum.xsl b/doc/telemetrum.xsl deleted file mode 100644 index b09e0295..00000000 --- a/doc/telemetrum.xsl +++ /dev/null @@ -1,881 +0,0 @@ - - - - TeleMetrum - Owner's Manual for the TeleMetrum System - - - Bdale - Garbee - - - Keith - Packard - - - 2010 - Bdale Garbee and Keith Packard - - - - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. - - - - - 0.1 - 30 March 2010 - Initial content - - - - - Introduction and Overview - - Welcome to the Altus Metrum community! Our circuits and software reflect - our passion for both hobby rocketry and Free Software. We hope their - capabilities and performance will delight you in every way, but by - releasing all of our hardware and software designs under open licenses, - we also hope to empower you to take as active a role in our collective - future as you wish! - - - The focal point of our community is TeleMetrum, a dual deploy altimeter - with fully integrated GPS and radio telemetry as standard features, and - a "companion interface" that will support optional capabilities in the - future. - - - Complementing TeleMetrum is TeleDongle, a USB to RF interface for - communicating with TeleMetrum. Combined with your choice of antenna and - notebook computer, TeleDongle and our associated user interface software - form a complete ground station capable of logging and displaying in-flight - telemetry, aiding rocket recovery, then processing and archiving flight - data for analysis and review. - - - - Getting Started - - This chapter began as "The Mere-Mortals Quick Start/Usage Guide to - the Altus Metrum Starter Kit" by Bob Finch, W9YA, NAR 12965, TRA 12350, - w9ya@amsat.org. Bob was one of our first customers for a production - TeleMetrum, and the enthusiasm that led to his contribution of this - section is immensely gratifying and highy appreciated! - - - The first thing to do after you check the inventory of parts in your - "starter kit" is to charge the battery by plugging it into the - corresponding socket of the TeleMetrum and then using the USB A to B - cable to plug the Telemetrum into your computer's USB socket. The - TeleMetrum circuitry will charge the battery whenever it is plugged - into the usb socket. The TeleMetrum's on-off switch does NOT control - the charging circuitry. When the GPS chip is initially searching for - satellites, the unit will pull more current than it can pull from the - usb port, so the battery must be plugged in order to get a good - satellite lock. Once GPS is locked the current consumption goes back - down enough to enable charging while - running. So it's a good idea to fully charge the battery as your - first item of business so there is no issue getting and maintaining - satellite lock. The yellow charge indicator led will go out when the - battery is nearly full and the charger goes to trickle charge. - - - The other active device in the starter kit is the half-duplex TeleDongle - rf link. If you plug it in to your computer it should "just work", - showing up as a serial port device. If you are using Linux and are - having problems, try moving to a fresher kernel (2.6.33 or newer), as - there were some ugly USB serial driver bugs in earlier versions. - - - Next you should obtain and install the AltOS utilities. The first - generation sofware was written for Linux only. New software is coming - soon that will also run on Windows and Mac. For now, we'll concentrate - on Linux. If you are using Debian, an 'altos' package already exists, - see http://altusmetrum.org/AltOS for details on how to install it. - User-contributed directions for building packages on ArchLinux may be - found in the contrib/arch-linux directory as PKGBUILD files. - Between the debian/rules file and the PKGBUILD files in - contrib, you should find enough information to learn how to build the - software for any other version of Linux. - - - When you have successfully installed the software suite (either from - compiled source code or as the pre-built Debian package) you will - have 10 executable programs all of which have names beginning with 'ao-'. - ('ao-view' is the lone GUI-based program. - The rest are command-line based.) You will also - have 10 man pages, that give you basic info on each program. - And you will also get this documentation in two file types, - telemetrum.pdf and telemetrum.html. - Finally you will have a couple of control files that allow the ao-view - GUI-based program to appear in your menu of programs (under - the 'Internet' category). - - - Both Telemetrum and TeleDongle can be directly communicated - with using USB ports. The first thing you should try after getting - both units plugged into to your computer's usb port(s) is to run - 'ao-list' from a terminal-window (I use konsole for this,) to see what - port-device-name each device has been assigned by the operating system. - You will need this information to access the devices via their - respective on-board firmware and data using other command line - programs in the AltOS software suite. - - - To access the device's firmware for configuration you need a terminal - program such as you would use to talk to a modem. The software - authors prefer using the program 'cu' which comes from the UUCP package - on most Unix-like systems such as Linux. An example command line for - cu might be 'cu -l /dev/ttyACM0', substituting the correct number - indicated from running the - ao-list program. Another reasonable terminal program for Linux is - 'cutecom'. The default 'escape' - character used by CU (i.e. the character you use to - issue commands to cu itself instead of sending the command as input - to the connected device) is a '~'. You will need this for use in - only two different ways during normal operations. First is to exit - the program by sending a '~.' which is called a 'escape-disconnect' - and allows you to close-out from 'cu'. The - second use will be outlined later. - - - Both TeleMetrum and TeleDongle share the concept of a two level - command set in their - firmware. The first layer has several single letter commands. Once - you are using 'cu' (or 'cutecom') sending (typing) a '?' - returns a full list of these - commands. The second level are configuration sub-commands accessed - using the 'c' command, for - instance typing 'c?' will give you this second level of commands - (all of which require the - letter 'c' to access). Please note that most configuration options - are stored only in DataFlash memory, and only TeleMetrum has this - memory to save the various values entered like the channel number - and your callsign when powered off. TeleDongle requires that you - set these each time you plug it in, which ao-view can help with. - - - Try setting these config ('c' or second level menu) values. A good - place to start is by setting your call sign. By default, the boards - use 'N0CALL' which is cute, but not exactly legal! - Spend a few minutes getting comfortable with the units, their - firmware, 'cu' (and possibly 'cutecom') For instance, try to send - (type) a 'cr2' and verify the channel change by sending a 'cs'. - Verify you can connect and disconnect from the units while in 'cu' - by sending the escape-disconnect mentioned above. - - - Note that the 'reboot' command, which is very useful on TeleMetrum, - will likely just cause problems with the dongle. The *correct* way - to reset the dongle is just to unplug and re-plug it. - - - A fun thing to do at the launch site and something you can do while - learning how to use these units is to play with the rf-link access - of the TeleMetrum from the TeleDongle. Be aware that you *must* create - some physical separation between the devices, otherwise the link will - not function due to signal overload in the receivers in each device. - - - Now might be a good time to take a break and read the rest of this - manual, particularly about the two "modes" that the TeleMetrum - can be placed in and how the position of the TeleMetrum when booting - up will determine whether the unit is in "pad" or "idle" mode. - - - You can access a TeleMetrum in idle mode from the Teledongle's USB - connection using the rf link - by issuing a 'p' command to the TeleDongle. Practice connecting and - disconnecting ('~~' while using 'cu') from the TeleMetrum. If - you cannot escape out of the "p" command, (by using a '~~' when in - CU) then it is likely that your kernel has issues. Try a newer version. - - - Using this rf link allows you to configure the TeleMetrum, test - fire e-matches and igniters from the flight line, check pyro-match - continuity and so forth. You can leave the unit turned on while it - is in 'idle mode' and then place the - rocket vertically on the launch pad, walk away and then issue a - reboot command. The TeleMetrum will reboot and start sending data - having changed to the "pad" mode. If the TeleDongle is not receiving - this data, you can disconnect 'cu' from the Teledongle using the - procedures mentioned above and THEN connect to the TeleDongle from - inside 'ao-view'. If this doesn't work, disconnect from the - TeleDongle, unplug it, and try again after plugging it back in. - - - Eventually the GPS will find enough satellites, lock in on them, - and 'ao-view' will both auditorially announce and visually indicate - that GPS is ready. - Now you can launch knowing that you have a good data path and - good satellite lock for flight data and recovery. Remember - you MUST tell ao-view to connect to the TeleDongle explicitly in - order for ao-view to be able to receive data. - - - Both RDF (radio direction finding) tones from the TeleMetrum and - GPS trekking data are available and together are very useful in - locating the rocket once it has landed. (The last good GPS data - received before touch-down will be on the data screen of 'ao-view'.) - - - Once you have recovered the rocket you can download the eeprom - contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over - either a USB cable or over the radio link using TeleDongle. - And by following the man page for 'ao-postflight' you can create - various data output reports, graphs, and even kml data to see the - flight trajectory in google-earth. (Moving the viewing angle making - sure to connect the yellow lines while in google-earth is the proper - technique.) - - - As for ao-view.... some things are in the menu but don't do anything - very useful. The developers have stopped working on ao-view to focus - on a new, cross-platform ground station program. Mostly you just use - the Log and Device menus. It has a wonderful display of the incoming - flight data and I am sure you will enjoy what it has to say to you - once you enable the voice output! - -
- FAQ - - The altimeter (TeleMetrum) seems to shut off when disconnected from the - computer. Make sure the battery is adequately charged. Remember the - unit will pull more power than the USB port can deliver before the - GPS enters "locked" mode. The battery charges best when TeleMetrum - is turned off. - - - It's impossible to stop the TeleDongle when it's in "p" mode, I have - to unplug the USB cable? Make sure you have tried to "escape out" of - this mode. If this doesn't work the reboot procedure for the - TeleDongle *is* to simply unplug it. 'cu' however will retain it's - outgoing buffer IF your "escape out" ('~~') does not work. - At this point using either 'ao-view' (or possibly - 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed - communication. - - - The amber LED (on the TeleMetrum/altimeter) lights up when both - battery and USB are connected. Does this mean it's charging? - Yes, the yellow LED indicates the charging at the 'regular' rate. - If the led is out but the unit is still plugged into a USB port, - then the battery is being charged at a 'trickle' rate. - - - There are no "dit-dah-dah-dit" sound like the manual mentions? - That's the "pad" mode. Weak batteries might be the problem. - It is also possible that the unit is horizontal and the output - is instead a "dit-dit" meaning 'idle'. - - - It's unclear how to use 'ao-view' and other programs when 'cu' - is running. You cannot have more than one program connected to - the TeleDongle at one time without apparent data loss as the - incoming data will not make it to both programs intact. - Disconnect whatever programs aren't currently being used. - - - How do I save flight data? - Live telemetry is written to file(s) whenever 'ao-view' is connected - to the TeleDongle. The file area defaults to ~/altos - but is easily changed using the menus in 'ao-view'. The files that - are written end in '.telem'. The after-flight - data-dumped files will end in .eeprom and represent continuous data - unlike the rf-linked .telem files that are subject to the - turnarounds/data-packaging time slots in the half-duplex rf data path. - See the above instructions on what and how to save the eeprom stored - data after physically retrieving your TeleMetrum. - -
-
- - Specifications - - - - Recording altimeter for model rocketry. - - - - - Supports dual deployment (can fire 2 ejection charges). - - - - - 70cm ham-band transceiver for telemetry downlink. - - - - - Barometric pressure sensor good to 45k feet MSL. - - - - - 1-axis high-g accelerometer for motor characterization, capable of - +/- 50g using default part. - - - - - On-board, integrated GPS receiver with 5hz update rate capability. - - - - - On-board 1 megabyte non-volatile memory for flight data storage. - - - - - USB interface for battery charging, configuration, and data recovery. - - - - - Fully integrated support for LiPo rechargeable batteries. - - - - - Uses LiPo to fire e-matches, support for optional separate pyro - battery if needed. - - - - - 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. - - - - - - Handling Precautions - - TeleMetrum is a sophisticated electronic device. When handled gently and - properly installed in an airframe, it will deliver impressive results. - However, like all electronic devices, there are some precautions you - must take. - - - The Lithium Polymer rechargeable batteries used with TeleMetrum have an - extraordinary power density. This is great because we can fly with - much less battery mass than if we used alkaline batteries or previous - generation rechargeable batteries... but if they are punctured - or their leads are allowed to short, they can and will release their - energy very rapidly! - Thus we recommend that you take some care when handling our batteries - and consider giving them some extra protection in your airframe. We - often wrap them in suitable scraps of closed-cell packing foam before - strapping them down, for example. - - - The TeleMetrum barometric sensor is sensitive to sunlight. In normal - mounting situations, it and all of the other surface mount components - are "down" towards whatever the underlying mounting surface is, so - this is not normally a problem. Please consider this, though, when - designing an installation, for example, in a 29mm airframe's see-through - plastic payload bay. - - - The TeleMetrum barometric sensor sampling port must be able to "breathe", - both by not being covered by foam or tape or other materials that might - directly block the hole on the top of the sensor, but also by having a - suitable static vent to outside air. - - - As with all other rocketry electronics, TeleMetrum must be protected - from exposure to corrosive motor exhaust and ejection charge gasses. - - - - Hardware Overview - - TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to - fit inside coupler for 29mm airframe tubing, but using it in a tube that - small in diameter may require some creativity in mounting and wiring - to succeed! The default 1/4 - wave UHF wire antenna attached to the center of the nose-cone end of - the board is about 7 inches long, and wiring for a power switch and - the e-matches for apogee and main ejection charges depart from the - fin can end of the board. Given all this, an ideal "simple" avionics - bay for TeleMetrum should have at least 10 inches of interior length. - - - A typical TeleMetrum installation using the on-board GPS antenna and - default wire UHF antenna involves attaching only a suitable - Lithium Polymer battery, a single pole switch for power on/off, and - two pairs of wires connecting e-matches for the apogee and main ejection - charges. - - - By default, we use the unregulated output of the LiPo battery directly - to fire ejection charges. This works marvelously with standard - low-current e-matches like the J-Tek from MJG Technologies, and with - Quest Q2G2 igniters. However, if you - want or need to use a separate pyro battery, you can do so by adding - a second 2mm connector to position B2 on the board and cutting the - thick pcb trace connecting the LiPo battery to the pyro circuit between - the two silk screen marks on the surface mount side of the board shown - here [insert photo] - - - We offer two choices of pyro and power switch connector, or you can - choose neither and solder wires directly to the board. All three choices - are reasonable depending on the constraints of your airframe. Our - favorite option when there is sufficient room above the board is to use - the Tyco pin header with polarization and locking. If you choose this - option, you crimp individual wires for the power switch and e-matches - into a mating connector, and installing and removing the TeleMetrum - board from an airframe is as easy as plugging or unplugging two - connectors. If the airframe will not support this much height or if - you want to be able to directly attach e-match leads to the board, we - offer a screw terminal block. This is very similar to what most other - altimeter vendors provide and so may be the most familiar - option. You'll need a very small straight blade screwdriver to connect - and disconnect the board in this case, such as you might find in a - jeweler's screwdriver set. Finally, you can forego both options and - solder wires directly to the board, which may be the best choice for - minimum diameter and/or minimum mass designs. - - - For most airframes, the integrated GPS antenna and wire UHF antenna are - a great combination. However, if you are installing in a carbon-fiber - electronics bay which is opaque to RF signals, you may need to use - off-board external antennas instead. In this case, you can order - TeleMetrum with an SMA connector for the UHF antenna connection, and - you can unplug the integrated GPS antenna and select an appropriate - off-board GPS antenna with cable terminating in a U.FL connector. - - - - Operation -
- Firmware Modes - - The AltOS firmware build for TeleMetrum has two fundamental modes, - "idle" and "flight". Which of these modes the firmware operates in - is determined by the orientation of the rocket (well, actually the - board, of course...) at the time power is switched on. If the rocket - is "nose up", then TeleMetrum assumes it's on a rail or rod being - prepared for launch, so the firmware chooses flight mode. However, - if the rocket is more or less horizontal, the firmware instead enters - idle mode. - - - At power on, you will hear three beeps ("S" in Morse code for startup) - and then a pause while - TeleMetrum completes initialization and self tests, and decides which - mode to enter next. - - - In flight mode, TeleMetrum turns on the GPS system, engages the flight - state machine, goes into transmit-only mode on the RF link sending - telemetry, and waits for launch to be detected. Flight mode is - indicated by an audible "di-dah-dah-dit" ("P" for pad) on the - beeper, followed by - beeps indicating the state of the pyrotechnic igniter continuity. - One beep indicates apogee continuity, two beeps indicate - main continuity, three beeps indicate both apogee and main continuity, - and one longer "brap" sound indicates no continuity. For a dual - deploy flight, make sure you're getting three beeps before launching! - For apogee-only or motor eject flights, do what makes sense. - - - In idle mode, you will hear an audible "di-dit" ("I" for idle), and - the normal flight state machine is disengaged, thus - no ejection charges will fire. TeleMetrum also listens on the RF - link when in idle mode for packet mode requests sent from TeleDongle. - Commands can be issued to a TeleMetrum in idle mode over either - USB or the RF link equivalently. - Idle mode is useful for configuring TeleMetrum, for extracting data - from the on-board storage chip after flight, and for ground testing - pyro charges. - - - One "neat trick" of particular value when TeleMetrum is used with very - large airframes, is that you can power the board up while the rocket - is horizontal, such that it comes up in idle mode. Then you can - raise the airframe to launch position, use a TeleDongle to open - a packet connection, and issue a 'reset' command which will cause - TeleMetrum to reboot, realize it's now nose-up, and thus choose - flight mode. This is much safer than standing on the top step of a - rickety step-ladder or hanging off the side of a launch tower with - a screw-driver trying to turn on your avionics before installing - igniters! - -
-
- GPS - - TeleMetrum includes a complete GPS receiver. See a later section for - a brief explanation of how GPS works that will help you understand - the information in the telemetry stream. The bottom line is that - the TeleMetrum GPS receiver needs to lock onto at least four - satellites to obtain a solid 3 dimensional position fix and know - what time it is! - - - TeleMetrum provides backup power to the GPS chip any time a LiPo - battery is connected. This allows the receiver to "warm start" on - the launch rail much faster than if every power-on were a "cold start" - for the GPS receiver. In typical operations, powering up TeleMetrum - on the flight line in idle mode while performing final airframe - preparation will be sufficient to allow the GPS receiver to cold - start and acquire lock. Then the board can be powered down during - RSO review and installation on a launch rod or rail. When the board - is turned back on, the GPS system should lock very quickly, typically - long before igniter installation and return to the flight line are - complete. - -
-
- Ground Testing - - An important aspect of preparing a rocket using electronic deployment - for flight is ground testing the recovery system. Thanks - to the bi-directional RF link central to the Altus Metrum system, - this can be accomplished in a TeleMetrum-equipped rocket without as - much work as you may be accustomed to with other systems. It can - even be fun! - - - Just prep the rocket for flight, then power up TeleMetrum while the - airframe is horizontal. This will cause the firmware to go into - "idle" mode, in which the normal flight state machine is disabled and - charges will not fire without manual command. Then, establish an - RF packet connection from a TeleDongle-equipped computer using the - P command from a safe distance. You can now command TeleMetrum to - fire the apogee or main charges to complete your testing. - - - In order to reduce the chance of accidental firing of pyrotechnic - charges, the command to fire a charge is intentionally somewhat - difficult to type, and the built-in help is slightly cryptic to - prevent accidental echoing of characters from the help text back at - the board from firing a charge. The command to fire the apogee - drogue charge is 'i DoIt drogue' and the command to fire the main - charge is 'i DoIt main'. - -
-
- Radio Link - - The chip our boards are based on incorporates an RF transceiver, but - it's not a full duplex system... each end can only be transmitting or - receiving at any given moment. So we had to decide how to manage the - link. - - - By design, TeleMetrum firmware listens for an RF connection when - it's in "idle mode" (turned on while the rocket is horizontal), which - allows us to use the RF link to configure the rocket, do things like - ejection tests, and extract data after a flight without having to - crack open the airframe. However, when the board is in "flight - mode" (turned on when the rocket is vertical) the TeleMetrum only - transmits and doesn't listen at all. That's because we want to put - ultimate priority on event detection and getting telemetry out of - the rocket and out over - the RF link in case the rocket crashes and we aren't able to extract - data later... - - - We don't use a 'normal packet radio' mode because they're just too - inefficient. The GFSK modulation we use is just FSK with the - baseband pulses passed through a - Gaussian filter before they go into the modulator to limit the - transmitted bandwidth. When combined with the hardware forward error - correction support in the cc1111 chip, this allows us to have a very - robust 38.4 kilobit data link with only 10 milliwatts of transmit power, - a whip antenna in the rocket, and a hand-held Yagi on the ground. We've - had a test flight above 12k AGL with good reception, and calculations - suggest we should be good to 40k AGL or more with a 5-element yagi on - the ground. We hope to fly boards to higher altitudes soon, and would - of course appreciate customer feedback on performance in higher - altitude flights! - -
-
- Configurable Parameters - - Configuring a TeleMetrum board for flight is very simple. Because we - have both acceleration and pressure sensors, there is no need to set - a "mach delay", for example. The few configurable parameters can all - be set using a simple terminal program over the USB port or RF link - via TeleDongle. - -
- Radio Channel - - Our firmware supports 10 channels. The default channel 0 corresponds - to a center frequency of 434.550 Mhz, and channels are spaced every - 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz. - At any given launch, we highly recommend coordinating who will use - each channel and when to avoid interference. And of course, both - TeleMetrum and TeleDongle must be configured to the same channel to - successfully communicate with each other. - - - To set the radio channel, use the 'c r' command, like 'c r 3' to set - channel 3. - As with all 'c' sub-commands, follow this with a 'c w' to write the - change to the parameter block in the on-board DataFlash chip. - -
-
- Apogee Delay - - Apogee delay is the number of seconds after TeleMetrum detects flight - apogee that the drogue charge should be fired. In most cases, this - should be left at the default of 0. However, if you are flying - redundant electronics such as for an L3 certification, you may wish - to set one of your altimeters to a positive delay so that both - primary and backup pyrotechnic charges do not fire simultaneously. - - - To set the apogee delay, use the [FIXME] 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. - -
-
- Main Deployment Altitude - - By default, TeleMetrum will fire the main deployment charge at an - elevation of 250 meters (about 820 feet) above ground. We think this - is a good elevation for most airframes, but feel free to change this - to suit. In particular, if you are flying two altimeters, you may - wish to set the - deployment elevation for the backup altimeter to be something lower - than the primary so that both pyrotechnic charges don't fire - simultaneously. - - - To set the main deployment altitude, use the [FIXME] 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. - -
-
-
- Calibration - - There are only two calibrations required for a TeleMetrum board, and - only one for TeleDongle. - -
- Radio Frequency - - 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. - - - To calibrate the radio frequency, connect the UHF antenna port to a - frequency counter, set the board to channel 0, and use the 'C' - command to generate a CW carrier. Wait for the transmitter temperature - to stabilize and the frequency to settle down. - Then, divide 434.550 Mhz by the - measured frequency and multiply by the current radio cal value show - in the 'c s' command. For an unprogrammed board, the default value - is 1186611. Take the resulting integer and program it using the 'c f' - command. Testing with the 'C' command again should show a carrier - within a few tens of Hertz of the intended frequency. - As with all 'c' sub-commands, follow this with a 'c w' to write the - change to the parameter block in the on-board DataFlash chip. - -
-
- Accelerometer - - The accelerometer we use has its own 5 volt power supply and - the output must be passed through a resistive voltage divider to match - the input of our 3.3 volt ADC. This means that unlike the barometric - sensor, the output of the acceleration sensor is not ratiometric to - the ADC converter, and calibration is required. We also support the - use of any of several accelerometers from a Freescale family that - includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity, - a simple 2-point calibration yields acceptable results capturing both - the different sensitivities and ranges of the different accelerometer - parts and any variation in power supply voltages or resistor values - in the divider network. - - - 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. - - - 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. - -
-
-
- - Using Altus Metrum Products -
- Being Legal - - First off, in the US, you need an [amateur radio license](../Radio) or - other authorization to legally operate the radio transmitters that are part - of our products. - -
- In the Rocket - - In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and - a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V - alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours. - - - By default, we ship TeleMetrum with a simple wire antenna. If your - electronics bay or the airframe it resides within is made of carbon fiber, - which is opaque to RF signals, you may choose to have an SMA connector - installed so that you can run a coaxial cable to an antenna mounted - elsewhere in the rocket. - -
-
- On the Ground - - To receive the data stream from the rocket, you need an antenna and short - feedline connected to one of our [TeleDongle](../TeleDongle) units. The - TeleDongle in turn plugs directly into the USB port on a notebook - computer. Because TeleDongle looks like a simple serial port, your computer - does not require special device drivers... just plug it in. - - - Right now, all of our application software is written for Linux. However, - because we understand that many people run Windows or MacOS, we are working - on a new ground station program written in Java that should work on all - operating systems. - - - After the flight, you can use the RF link to extract the more detailed data - logged in the rocket, or you can use a mini USB cable to plug into the - TeleMetrum board directly. Pulling out the data without having to open up - the rocket is pretty cool! A USB cable is also how you charge the LiPo - battery, so you'll want one of those anyway... the same cable used by lots - of digital cameras and other modern electronic stuff will work fine. - - - If your rocket lands out of sight, you may enjoy having a hand-held GPS - receiver, so that you can put in a waypoint for the last reported rocket - position before touch-down. This makes looking for your rocket a lot like - Geo-Cacheing... just go to the waypoint and look around starting from there. - - - You may also enjoy having a ham radio "HT" that covers the 70cm band... you - can use that with your antenna to direction-find the rocket on the ground - the same way you can use a Walston or Beeline tracker. This can be handy - if the rocket is hiding in sage brush or a tree, or if the last GPS position - doesn't get you close enough because the rocket dropped into a canyon, or - the wind is blowing it across a dry lake bed, or something like that... Keith - and Bdale both currently own and use the Yaesu VX-7R at launches. - - - So, to recap, on the ground the hardware you'll need includes: - - - an antenna and feedline - - - a TeleDongle - - - a notebook computer - - - optionally, a handheld GPS receiver - - - optionally, an HT or receiver covering 435 Mhz - - - - - The best hand-held commercial directional antennas we've found for radio - direction finding rockets are from - - Arrow Antennas. - - The 440-3 and 440-5 are both good choices for finding a - TeleMetrum-equipped rocket when used with a suitable 70cm HT. - -
-
- Data Analysis - - Our software makes it easy to log the data from each flight, both the - telemetry received over the RF link during the flight itself, and the more - complete data log recorded in the DataFlash memory on the TeleMetrum - board. Once this data is on your computer, our postflight tools make it - easy to quickly get to the numbers everyone wants, like apogee altitude, - max acceleration, and max velocity. You can also generate and view a - standard set of plots showing the altitude, acceleration, and - velocity of the rocket during flight. And you can even export a data file - useable with Google Maps and Google Earth for visualizing the flight path - in two or three dimensions! - - - Our ultimate goal is to emit a set of files for each flight that can be - published as a web page per flight, or just viewed on your local disk with - a web browser. - -
-
- Future Plans - - In the future, we intend to offer "companion boards" for the rocket that will - plug in to TeleMetrum to collect additional data, provide more pyro channels, - and so forth. A reference design for a companion board will be documented - soon, and will be compatible with open source Arduino programming tools. - - - We are also working on the design of a hand-held ground terminal that will - allow monitoring the rocket's status, collecting data during flight, and - logging data after flight without the need for a notebook computer on the - flight line. Particularly since it is so difficult to read most notebook - screens in direct sunlight, we think this will be a great thing to have. - - - Because all of our work is open, both the hardware designs and the software, - if you have some great idea for an addition to the current Altus Metrum family, - feel free to dive in and help! Or let us know what you'd like to see that - we aren't already working on, and maybe we'll get excited about it too... - -
-
-
- - How GPS Works - - - Placeholder. - -
-
-
- -- cgit v1.2.3 From 59ff9180f11063c257746b895a167179b3a4ff7c Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 2 Sep 2010 00:53:16 -0400 Subject: and a few more distclean fixes --- ao-tools/altosui/Makefile | 1 + doc/Makefile | 2 ++ 2 files changed, 3 insertions(+) (limited to 'doc/Makefile') diff --git a/ao-tools/altosui/Makefile b/ao-tools/altosui/Makefile index 85271039..abf5704f 100644 --- a/ao-tools/altosui/Makefile +++ b/ao-tools/altosui/Makefile @@ -136,6 +136,7 @@ clean: distclean: clean rm -f $(DARWIN_ZIP) $(WINDOWS_ZIP) $(LINUX_TGZ) + rm -rf darwin fat FAT_FILES=$(FATJAR) $(FREETTSJAR) $(HEXFILES) diff --git a/doc/Makefile b/doc/Makefile index f8048dce..e840ec41 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -26,6 +26,8 @@ telemetrum-doc.pdf: telemetrum-doc.fo clean: rm -f telemetrum-doc.html telemetrum-doc.pdf telemetrum-doc.fo +distclean: clean + indent: telemetrum-doc.xsl xmlindent -i 2 < telemetrum-doc.xsl > telemetrum-doc.new -- cgit v1.2.3 From 59a40f6d5a2159b9009a3fa0737bb679efd5b32c Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 2 Sep 2010 00:55:01 -0400 Subject: another distclean fix --- doc/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index e840ec41..238cefb0 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -26,7 +26,8 @@ telemetrum-doc.pdf: telemetrum-doc.fo clean: rm -f telemetrum-doc.html telemetrum-doc.pdf telemetrum-doc.fo -distclean: clean +distclean: + rm -f telemetrum-doc.html telemetrum-doc.pdf telemetrum-doc.fo indent: telemetrum-doc.xsl xmlindent -i 2 < telemetrum-doc.xsl > telemetrum-doc.new -- cgit v1.2.3 From f0542085de2139ef562af068ec05fa73f47c73b1 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 19 Nov 2010 20:26:49 +0800 Subject: doc: Add preliminary altosui documentation Also, update the Makefile to allow for further documents to be added without a lot of custom rules. Signed-off-by: Keith Packard --- doc/Makefile | 37 ++-- doc/altosui-doc.xsl | 561 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 581 insertions(+), 17 deletions(-) create mode 100644 doc/altosui-doc.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 238cefb0..57300c10 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,32 +2,35 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -all: telemetrum-doc.html telemetrum-doc.pdf +HTML=telemetrum-doc.html altosui-doc.html +PDF=telemetrum-doc.pdf altosui-doc.pdf +DOC=$(HTML) $(PDF) +HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl +FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl +PDFSTYLE= -publish: all - cp telemetrum-doc.html \ - telemetrum-doc.pdf /home/bdale/web/altusmetrum/TeleMetrum/doc/ - (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/TeleMetrum/doc/* ; git push) +.SUFFIXES: .xsl .html .fo .pdf + +.xsl.html: + xsltproc -o $@ $(HTMLSTYLE) $*.xsl +.xsl.fo: + xsltproc -o $@ $(FOSTYLE) $*.xsl -telemetrum-doc.html: telemetrum-doc.xsl - xsltproc -o telemetrum-doc.html \ - /usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl \ - telemetrum-doc.xsl +.fo.pdf: + fop -fo $*.fo -pdf $@ -telemetrum-doc.fo: telemetrum-doc.xsl - xsltproc -o telemetrum-doc.fo \ - /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl \ - telemetrum-doc.xsl +all: $(HTML) $(PDF) -telemetrum-doc.pdf: telemetrum-doc.fo - fop -fo telemetrum-doc.fo -pdf telemetrum-doc.pdf +publish: $(DOC) + cp $(DOC)telemetrum-doc.html home/bdale/web/altusmetrum/TeleMetrum/doc/ + (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/TeleMetrum/doc/* ; git push) clean: - rm -f telemetrum-doc.html telemetrum-doc.pdf telemetrum-doc.fo + rm -f *.html *.pdf *.fo distclean: - rm -f telemetrum-doc.html telemetrum-doc.pdf telemetrum-doc.fo + rm -f *.html *.pdf *.fo indent: telemetrum-doc.xsl xmlindent -i 2 < telemetrum-doc.xsl > telemetrum-doc.new diff --git a/doc/altosui-doc.xsl b/doc/altosui-doc.xsl new file mode 100644 index 00000000..5f330739 --- /dev/null +++ b/doc/altosui-doc.xsl @@ -0,0 +1,561 @@ + + + + AltosUI + Altos Metrum Graphical User Interface Manual + + + Bdale + Garbee + + + Keith + Packard + + + 2010 + Bdale Garbee and Keith Packard + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 0.1 + 19 November 2010 + Initial content + + + + + Introduction + + The AltosUI program provides a graphical user interface for + interacting with the Altus Metrum product family, including + TeleMetrum and TeleDongle. AltosUI can monitor telemetry data, + configure TeleMetrum and TeleDongle devices and many other + tasks. The primary interface window provides a selection of + buttons, one for each major activity in the system. This manual + is split into chapters, each of which documents one of the tasks + provided from the top-level toolbar. + + + + Packet Command Mode + Controlling TeleMetrum Over The Radio Link + + One of the unique features of the Altos Metrum environment is + the ability to create a two way command link between TeleDongle + and TeleMetrum using the digital radio transceivers built into + each device. This allows you to interact with TeleMetrum from + afar, as if it were directly connected to the computer. + + + Any operation which can be performed with TeleMetrum + can either be done with TeleMetrum directly connected to + the computer via the USB cable, or through the packet + link. Simply select the appropriate TeleDongle device when + the list of devices is presented and AltosUI will use packet + command mode. + + + + + Save Flight Data—Recover flight data from the rocket without + opening it up. + + + + + Configure TeleMetrum—Reset apogee delays or main deploy + heights to respond to changing launch conditions. You can + also 'reboot' the TeleMetrum device. Use this to remotely + enable the flight computer by turning TeleMetrum on while + horizontal, then once the airframe is oriented for launch, + you can reboot TeleMetrum and have it restart in pad mode + without having to climb the scary ladder. + + + + + Fire Igniters—Test your deployment charges without snaking + wires out through holes in the airframe. Simply assembly the + rocket as if for flight with the apogee and main charges + loaded, then remotely command TeleMetrum to fire the + igniters. + + + + + Packet command mode uses the same RF channels as telemetry + mode. Configure the desired TeleDongle channel using the + flight monitor window channel selector and then close that + window before performing the desired operation. + + + TeleMetrum only enables packet command mode in 'idle' mode, so + make sure you have TeleMetrum lying horizontally when you turn + it on. Otherwise, TeleMetrum will start in 'pad' mode ready for + flight and will not be listening for command packets from TeleDongle. + + + When packet command mode is enabled, you can monitor the link + by watching the lights on the TeleDongle and TeleMetrum + devices. The red LED will flash each time TeleDongle or + TeleMetrum transmit a packet while the green LED will light up + on TeleDongle while it is waiting to receive a packet from + TeleMetrum. + + + + Monitor Flight + Receive, Record and Display Telemetry Data + + 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. + + + 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. + + + The radio channel being monitored by the TeleDongle device is + displayed at the top of the window. You can configure the + channel by clicking on the channel box and selecting the desired + channel. AltosUI remembers the last channel selected for each + TeleDongle and selects that automatically the next time you use + that device. + + + Below the TeleDongle channel selector, the window contains a few + significant pieces of information about the TeleMetrum providing + the telemetry data stream: + + + + The TeleMetrum callsign + + + The TeleMetrum serial number + + + The flight number. Each TeleMetrum remembers how many + times it has flown. + + + + The rocket flight state. Each flight passes through several + states including Pad, Boost, Fast, Coast, Drogue, Main and + Landed. + + + + + The Received Signal Strength Indicator value. This lets + you know how strong a signal TeleDongle is receiving. The + radio inside TeleDongle operates down to about -99dBm; + weaker signals may not be receiveable. The packet link uses + error correction and detection techniques which prevent + incorrect data from being reported. + + + + + Finally, the largest portion of the window contains a set of + tabs, each of which contain some information about the rocket. + They're arranged in 'flight order' so that as the flight + progresses, the selected tab automatically switches to display + data relevant to the current state of the flight. You can select + other tabs at any time. The final 'table' tab contains all of + the telemetry data in one place. + +
+ Launch Pad + + 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: + + + + Battery Voltage. This indicates whether the LiPo battery + powering the TeleMetrum has sufficient charge to last for + the duration of the flight. A value of more than + 3.7V is required for a 'GO' status. + + + + + Apogee Igniter Voltage. This indicates whether the apogee + igniter has continuity. If the igniter has a low + resistance, then the voltage measured here will be close + to the LiPo battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + + + + Main Igniter Voltage. This indicates whether the main + igniter has continuity. If the igniter has a low + resistance, then the voltage measured here will be close + to the LiPo battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + + + + GPS Locked. This indicates whether the GPS receiver is + currently able to compute position information. GPS requires + at least 4 satellites to compute an accurate position. + + + + + GPS Ready. This indicates whether GPS has reported at least + 10 consecutive positions without losing lock. This ensures + that the GPS receiver has reliable reception from the + satellites. + + + + + The LaunchPad tab also shows the computed launch pad position + and altitude, averaging many reported positions to improve the + accuracy of the fix. + + +
+
+ Ascent + + This tab is shown during Boost, Fast and Coast + phases. The information displayed here helps monitor the + rocket as it heads towards apogee. + + + The height, speed and acceleration are shown along with the + maxium values for each of them. This allows you to quickly + answer the most commonly asked questions you'll hear during + flight. + + + The current latitude and longitude reported by the GPS are + also shown. Note that under high acceleration, these values + may not get updated as the GPS receiver loses position + fix. Once the rocket starts coasting, the receiver should + start reporting position again. + + + Finally, the current igniter voltages are reported as in the + Launch Pad tab. This can help diagnose deployment failures + caused by wiring which comes loose under high acceleration. + +
+
+ Descent + + Once the rocket has reached apogee and (we hope) activated the + apogee charge, attention switches to tracking the rocket on + the way back to the ground, and for dual-deploy flights, + waiting for the main charge to fire. + + + To monitor whether the apogee charge operated correctly, the + current descent rate is reported along with the current + height. Good descent rates generally range from 15-30m/s. + + + To help locate the rocket in the sky, use the elevation and + bearing information to figure out where to look. Elevation is + in degrees above the horizon. Bearing is reported in degrees + relative to true north. Range can help figure out how big the + rocket will appear. Note that all of these values are relative + to the pad location. If the elevation is near 90°, the rocket + is over the pad, not over you. + + + Finally, the igniter voltages are reported in this tab as + well, both to monitor the main charge as well as to see what + the status of the apogee charge is. + +
+
+ Landed + + Once the rocket is on the ground, attention switches to + recovery. While the radio signal is generally lost once the + rocket is on the ground, the last reported GPS position is + generally within a short distance of the actual landing location. + + + The last reported GPS position is reported both by + latitude and longitude as well as a bearing and distance from + the launch pad. The distance should give you a good idea of + whether you'll want to walk or hitch a ride. Take the reported + latitude and longitude and enter them into your handheld GPS + unit and have that compute a track to the landing location. + + + Finally, the maximum height, speed and acceleration reported + during the flight are displayed for your admiring observers. + +
+
+ + Save Flight Data + + TeleMetrum records flight data to its internal flash memory. + This data is recorded at a much higher rate than the telemetry + system can handle, and is not subject to radio drop-outs. As + such, it provides a more complete and precise record of the + flight. The 'Save Flight Data' button allows you to read the + flash memory and write it to disk. + + + Clicking on the 'Save Flight Data' button brings up a list of + connected TeleMetrum and TeleDongle devices. If you select a + TeleMetrum device, the flight data will be downloaded from that + device directly. If you select a TeleDongle device, flight data + will be downloaded from a TeleMetrum device connected via the + packet command link to the specified TeleDongle. See the chapter + on Packet Command Mode for more information about this. + + + The filename for the data is computed automatically from the recorded + flight date, TeleMetrum serial number and flight number + information. + + + + Replay Flight + + Select this button and you are prompted to select a flight + record file, either a .telem file recording telemetry data or a + .eeprom file containing flight data saved from the TeleMetrum + flash memory. + + + Once a flight record is selected, the flight monitor interface + is displayed and the flight is re-enacted in real time. Check + the Monitor Flight chapter above to learn how this window operates. + + + + Graph Data + + This section should be written by AJ. + + + + Export Data + + This tool takes the raw data files and makes them available for + external analysis. When you select this button, you are prompted to select a flight + data file (either .eeprom or .telem will do, remember that + .eeprom files contain higher resolution and more continuous + data). Next, a second dialog appears which is used to select + where to write the resulting file. It has a selector to choose + between CSV and KML file formats. + +
+ Comma Separated Value Format + + This is a text file containing the data in a form suitable for + import into a spreadsheet or other external data analysis + tool. The first few lines of the file contain the version and + configuration information from the TeleMetrum device, then + there is a single header line which labels all of the + fields. All of these lines start with a '#' character which + most tools can be configured to skip over. + + + The remaining lines of the file contain the data, with each + field separated by a comma and at least one space. All of + the sensor values are converted to standard units, with the + barometric data reported in both pressure, altitude and + height above pad units. + +
+
+ Keyhole Markup Language (for Google Earth) + + This is the format used by + Googleearth to provide an overlay within that + application. With this, you can use Googleearth to see the + whole flight path in 3D. + +
+
+ + Configure TeleMetrum + + Select this button and then select either a TeleMetrum or + TeleDongle Device from the list provided. Selecting a TeleDongle + device will use Packet Comamnd Mode to configure remote + TeleMetrum device. Learn how to use this in the Packet Command + Mode chapter. + + + The first few lines of the dialog provide information about the + connected TeleMetrum device, including the product name, + software version and hardware serial number. Below that are the + individual configuration entries. + + + At the bottom of the dialog, there are four buttons: + + + + + Save. This writes any changes to the TeleMetrum + configuration parameter block in flash memory. If you don't + press this button, any changes you make will be lost. + + + + + Reset. This resets the dialog to the most recently saved values, + erasing any changes you have made. + + + + + Reboot. This reboots the TeleMetrum device. Use this to + switch from idle to pad mode by rebooting once the rocket is + oriented for flight. + + + + + Close. This closes the dialog. Any unsaved changes will be + lost. + + + + + The rest of the dialog contains the parameters to be configured. + +
+ Main Deploy Altitude + + This sets the altitude (above the recorded pad altitude) at + which the 'main' igniter will fire. The drop-down menu shows + some common values, but you can edit the text directly and + choose whatever you like. If the apogee charge fires below + this altitude, then the main charge will fire two seconds + after the apogee charge fires. + +
+
+ Apogee Delay + + When flying redundant electronics, it's often important to + ensure that multiple apogee charges don't fire at precisely + the same time as that can overpressurize the apogee deployment + bay and cause a structural failure of the airframe. The Apogee + Delay parameter tells the flight computer to fire the apogee + charge a certain number of seconds after apogee has been + detected. + +
+
+ Radio Channel + + This configures which of the 10 radio channels to use for both + telemetry and packet command mode. Note that if you set this + value via packet command mode, you will have to reconfigure + the TeleDongle channel before you will be able to use packet + command mode again. + +
+
+ Radio Calibration + + The radios in every Altus Metrum device are calibrated at the + factory to ensure that they transmit and receive on the + specified frequency for each channel. You can adjust that + calibration by changing this value. To change the TeleDongle's + calibration, you must reprogram the unit completely. + +
+
+ Callsign + + This sets the callsign included in each telemetry packet. Set this + as needed to conform to your local radio regulations. + +
+
+ + Configure AltosUI + + This button presents a dialog so that you can configure the AltosUI global settings. + +
+ Voice Settings + + AltosUI provides voice annoucements during flight so that you + can keep your eyes on the sky and still get information about + the current flight status. However, sometimes you don't want + to hear them. + + + + Enable—turns all voice announcements on and off + + + + Test Voice—Plays a short message allowing you to verify + that the audio systme is working and the volume settings + are reasonable + + + +
+
+ Log Directory + + AltosUI logs all telemetry data and saves all TeleMetrum flash + data to this directory. This directory is also used as the + staring point when selecting data files for display or export. + + + Click on the directory name to bring up a directory choosing + dialog, select a new directory and click 'Select Directory' to + change where AltosUI reads and writes data files. + +
+
+ Callsign + + This value is used in command packet mode and is transmitted + in each packet sent from TeleDongle and received from + TeleMetrum. It is not used in telemetry mode as that transmits + packets only from TeleMetrum to TeleDongle. Configure this + with the AltosUI operators callsign as needed to comply with + your local radio regulations. + +
+
+ + Flash Image + + + + + Fire Igniter + + + +
\ No newline at end of file -- cgit v1.2.3 From 737f2fdd012202f453120ece117ae5e859b32082 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 22 Nov 2010 22:26:19 -0800 Subject: doc: Add internal documentation for AltOS Signed-off-by: Keith Packard --- doc/Makefile | 4 +- doc/altos.xsl | 1441 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1443 insertions(+), 2 deletions(-) create mode 100644 doc/altos.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 57300c10..52934290 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,8 +2,8 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -HTML=telemetrum-doc.html altosui-doc.html -PDF=telemetrum-doc.pdf altosui-doc.pdf +HTML=telemetrum-doc.html altosui-doc.html altos.html +PDF=telemetrum-doc.pdf altosui-doc.pdf altos.pdf DOC=$(HTML) $(PDF) HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl diff --git a/doc/altos.xsl b/doc/altos.xsl new file mode 100644 index 00000000..9a88a5b5 --- /dev/null +++ b/doc/altos.xsl @@ -0,0 +1,1441 @@ + + + + + AltOS + Altos Metrum Operating System + + + Keith + Packard + + + 2010 + Keith Packard + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 0.1 + 22 November 2010 + Initial content + + + + + Overview + + AltOS is a operating system built for the 8051-compatible + processor found in the TI cc1111 microcontroller. It's designed + to be small and easy to program with. The main features are: + + + Multi-tasking. While the 8051 doesn't provide separate + address spaces, it's often easier to write code that operates + in separate threads instead of tying everything into one giant + event loop. + + + + Non-preemptive. This increases latency for thread + switching but reduces the number of places where context + switching can occur. It also simplifies the operating system + design somewhat. Nothing in the target system (rocket flight + control) has tight timing requirements, and so this seems like + a reasonable compromise. + + + + Sleep/wakeup scheduling. Taken directly from ancient + Unix designs, these two provide the fundemental scheduling + primitive within AltOS. + + + + Mutexes. As a locking primitive, mutexes are easier to + use than semaphores, at least in my experience. + + + + Timers. Tasks can set an alarm which will abort any + pending sleep, allowing operations to time-out instead of + blocking forever. + + + + + + The device drivers and other subsystems in AltOS are + conventionally enabled by invoking their _init() function from + the 'main' function before that calls + ao_start_scheduler(). These functions initialize the pin + assignments, add various commands to the command processor and + may add tasks to the scheduler to handle the device. A typical + main program, thus, looks like: + +void +main(void) +{ + ao_clock_init(); + + /* Turn on the LED until the system is stable */ + ao_led_init(LEDS_AVAILABLE); + ao_led_on(AO_LED_RED); + ao_timer_init(); + ao_cmd_init(); + ao_usb_init(); + ao_monitor_init(AO_LED_GREEN, TRUE); + ao_rssi_init(AO_LED_RED); + ao_radio_init(); + ao_packet_slave_init(); + ao_packet_master_init(); +#if HAS_DBG + ao_dbg_init(); +#endif + ao_config_init(); + ao_start_scheduler(); +} + + As you can see, a long sequence of subsystems are initialized + and then the scheduler is started. + + + + Programming the 8051 with SDCC + + The 8051 is a primitive 8-bit processor, designed in the mists + of time in as few transistors as possible. The architecture is + highly irregular and includes several separate memory + spaces. Furthermore, accessing stack variables is slow, and the + stack itself is of limited size. While SDCC papers over the + instruction set, it is not completely able to hide the memory + architecture from the application designer. + +
+ 8051 memory spaces + + The __data/__xdata/__code memory spaces below were completely + separate in the original 8051 design. In the cc1111, this + isn't true—they all live in a single unified 64kB address + space, and so it's possible to convert any address into a + unique 16-bit address. SDCC doesn't know this, and so a + 'global' address to SDCC consumes 3 bytes of memory, 1 byte as + a tag indicating the memory space and 2 bytes of offset within + that space. AltOS avoids these 3-byte addresses as much as + possible; using them involves a function call per byte + access. The result is that nearly every variable declaration + is decorated with a memory space identifier which clutters the + code but makes the resulting code far smaller and more + efficient. + + + SDCC 8051 memory spaces + + __data + + + The 8051 can directly address these 128 bytes of + memory. This makes them precious so they should be + reserved for frequently addressed values. Oh, just to + confuse things further, the 8 general registers in the + CPU are actually stored in this memory space. There are + magic instructions to 'bank switch' among 4 banks of + these registers located at 0x00 - 0x1F. AltOS uses only + the first bank at 0x00 - 0x07, leaving the other 24 + bytes available for other data. + + + + + __idata + + + There are an additional 128 bytes of internal memory + that share the same address space as __data but which + cannot be directly addressed. The stack normally + occupies this space and so AltOS doesn't place any + static storage here. + + + + + __xdata + + + This is additional general memory accessed through a + single 16-bit address register. The CC1111F32 has 32kB + of memory available here. Most program data should live + in this memory space. + + + + + __pdata + + + This is an alias for the first 256 bytes of __xdata + memory, but uses a shorter addressing mode with + single global 8-bit value for the high 8 bits of the + address and any of several 8-bit registers for the low 8 + bits. AltOS uses a few bits of this memory, it should + probably use more. + + + + + __code + + + All executable code must live in this address space, but + you can stick read-only data here too. It is addressed + using the 16-bit address register and special 'code' + access opcodes. Anything read-only should live in this space. + + + + + __bit + + + The 8051 has 128 bits of bit-addressible memory that + lives in the __data segment from 0x20 through + 0x2f. Special instructions access these bits + in a single atomic operation. This isn't so much a + separate address space as a special addressing mode for + a few bytes in the __data segment. + + + + + __sfr, __sfr16, __sfr32, __sbit + + + Access to physical registers in the device use this mode + which declares the variable name, it's type and the + address it lives at. No memory is allocated for these + variables. + + + + +
+
+ Function calls on the 8051 + + Because stack addressing is expensive, and stack space + limited, the default function call declaration in SDCC + allocates all parameters and local variables in static global + memory. Just like fortran. This makes these functions + non-reentrant, and also consume space for parameters and + locals even when they are not running. The benefit is smaller + code and faster execution. + +
+ __reentrant functions + + All functions which are re-entrant, either due to recursion + or due to a potential context switch while executing, should + be marked as __reentrant so that their parameters and local + variables get allocated on the stack. This ensures that + these values are not overwritten by another invocation of + the function. + + + Functions which use significant amounts of space for + arguments and/or local variables and which are not often + invoked can also be marked as __reentrant. The resulting + code will be larger, but the savings in memory are + frequently worthwhile. + +
+
+ Non __reentrant functions + + All parameters and locals in non-reentrant functions can + have data space decoration so that they are allocated in + __xdata, __pdata or __data space as desired. This can avoid + consuming __data space for infrequently used variables in + frequently used functions. + + + All library functions called by SDCC, including functions + for multiplying and dividing large data types, are + non-reentrant. Because of this, interrupt handlers must not + invoke any library functions, including the multiply and + divide code. + +
+
+ __interrupt functions + + Interrupt functions are declared with with an __interrupt + decoration that includes the interrupt number. SDCC saves + and restores all of the registers in these functions and + uses the 'reti' instruction at the end so that they operate + as stand-alone interrupt handlers. Interrupt functions may + call the ao_wakeup function to wake AltOS tasks. + +
+
+ __critical functions and statements + + SDCC has built-in support for suspending interrupts during + critical code. Functions marked as __critical will have + interrupts suspended for the whole period of + execution. Individual statements may also be marked as + __critical which blocks interrupts during the execution of + that statement. Keeping critical sections as short as + possible is key to ensuring that interrupts are handled as + quickly as possible. + +
+
+
+ + Task functions + + This chapter documents how to create, destroy and schedule AltOS tasks. + + + AltOS Task Functions + + ao_add_task + + +void +ao_add_task(__xdata struct ao_task * task, + void (*start)(void), + __code char *name); + + + This initializes the statically allocated task structure, + assigns a name to it (not used for anything but the task + display), and the start address. It does not switch to the + new task. 'start' must not ever return; there is no place + to return to. + + + + + ao_exit + + +void +ao_exit(void) + + + This terminates the current task. + + + + + ao_sleep + + +void +ao_sleep(__xdata void *wchan) + + + This suspends the current task until 'wchan' is signaled + by ao_wakeup, or until the timeout, set by ao_alarm, + fires. If 'wchan' is signaled, ao_sleep returns 0, otherwise + it returns 1. This is the only way to switch to another task. + + + + + ao_wakeup + + +void +ao_wakeup(__xdata void *wchan) + + + Wake all tasks blocked on 'wchan'. This makes them + available to be run again, but does not actually switch + to another task. + + + + + ao_alarm + + +void +ao_alarm(uint16_t delay) + + + Schedules an alarm to fire in at least 'delay' ticks. If + the task is asleep when the alarm fires, it will wakeup + and ao_sleep will return 1. + + + + + ao_wake_task + + +void +ao_wake_task(__xdata struct ao_task *task) + + + Force a specific task to wake up, independent of which + 'wchan' it is waiting for. + + + + + ao_start_scheduler + + +void +ao_start_scheduler(void) + + + This is called from 'main' when the system is all + initialized and ready to run. It will not return. + + + + + ao_clock_init + + +void +ao_clock_init(void) + + + This turns on the external 48MHz clock then switches the + hardware to using it. This is required by many of the + internal devices like USB. It should be called by the + 'main' function first, before initializing any of the + other devices in the system. + + + + + + + Timer Functions + + AltOS sets up one of the cc1111 timers to run at 100Hz and + exposes this tick as the fundemental unit of time. At each + interrupt, AltOS increments the counter, and schedules any tasks + waiting for that time to pass, then fires off the ADC system to + collect current data readings. Doing this from the ISR ensures + that the ADC values are sampled at a regular rate, independent + of any scheduling jitter. + + + AltOS Timer Functions + + ao_time + + +uint16_t +ao_time(void) + + + Returns the current system tick count. Note that this is + only a 16 bit value, and so it wraps every 655.36 seconds. + + + + + ao_delay + + +void +ao_delay(uint16_t ticks); + + + Suspend the current task for at least 'ticks' clock units. + + + + + ao_timer_set_adc_interval + + +void +ao_timer_set_adc_interval(uint8_t interval); + + + This sets the number of ticks between ADC samples. If set + to 0, no ADC samples are generated. AltOS uses this to + slow down the ADC sampling rate to save power. + + + + + ao_timer_init + + +void +ao_timer_init(void) + + + This turns on the 100Hz tick using the CC1111 timer 1. It + is required for any of the time-based functions to + work. It should be called by 'main' before ao_start_scheduler. + + + + + + + AltOS Mutexes + + AltOS provides mutexes as a basic synchronization primitive. Each + mutexes is simply a byte of memory which holds 0 when the mutex + is free or the task id of the owning task when the mutex is + owned. Mutex calls are checked—attempting to acquire a mutex + already held by the current task or releasing a mutex not held + by the current task will both cause a panic. + + + Mutex Functions + + ao_mutex_get + + +void +ao_mutex_get(__xdata uint8_t *mutex); + + + Acquires the specified mutex, blocking if the mutex is + owned by another task. + + + + + ao_mutex_put + + +void +ao_mutex_put(__xdata uint8_t *mutex); + + + Releases the specified mutex, waking up all tasks waiting + for it. + + + + + + + CC1111 DMA engine + + The CC1111 contains a useful bit of extra hardware in the form + of five programmable DMA engines. They can be configured to copy + data in memory, or between memory and devices (or even between + two devices). AltOS exposes a general interface to this hardware + and uses it to handle radio and SPI data. + + + Code using a DMA engine should allocate one at startup + time. There is no provision to free them, and if you run out, + AltOS will simply panic. + + + During operation, the DMA engine is initialized with the + transfer parameters. Then it is started, at which point it + awaits a suitable event to start copying data. When copying data + from hardware to memory, that trigger event is supplied by the + hardware device. When copying data from memory to hardware, the + transfer is usually initiated by software. + + + AltOS DMA functions + + ao_dma_alloc + + +uint8_t +ao_dma_alloc(__xdata uint8_t *done) + + + Allocates a DMA engine, returning the identifier. Whenever + this DMA engine completes a transfer. 'done' is cleared + when the DMA is started, and then receives the + AO_DMA_DONE bit on a successful transfer or the + AO_DMA_ABORTED bit if ao_dma_abort was called. Note that + it is possible to get both bits if the transfer was + aborted after it had finished. + + + + + ao_dma_set_transfer + + +void +ao_dma_set_transfer(uint8_t id, + void __xdata *srcaddr, + void __xdata *dstaddr, + uint16_t count, + uint8_t cfg0, + uint8_t cfg1) + + + Initializes the specified dma engine to copy data + from 'srcaddr' to 'dstaddr' for 'count' units. cfg0 and + cfg1 are values directly out of the CC1111 documentation + and tell the DMA engine what the transfer unit size, + direction and step are. + + + + + ao_dma_start + + +void +ao_dma_start(uint8_t id); + + + Arm the specified DMA engine and await a signal from + either hardware or software to start transferring data. + + + + + ao_dma_trigger + + +void +ao_dma_trigger(uint8_t id) + + + Trigger the specified DMA engine to start copying data. + + + + + ao_dma_abort + + +void +ao_dma_abort(uint8_t id) + + + Terminate any in-progress DMA transation, marking its + 'done' variable with the AO_DMA_ABORTED bit. + + + + + + + SDCC Stdio interface + + AltOS offers a stdio interface over both USB and the RF packet + link. This provides for control of the device localy or + remotely. This is hooked up to the stdio functions in SDCC by + providing the standard putchar/getchar/flush functions. These + automatically multiplex the two available communication + channels; output is always delivered to the channel which + provided the most recent input. + + + SDCC stdio functions + + putchar + + +void +putchar(char c) + + + Delivers a single character to the current console + device. + + + + + getchar + + +char +getchar(void) + + + Reads a single character from any of the available + console devices. The current console device is set to + that which delivered this character. This blocks until + a character is available. + + + + + flush + + +void +flush(void) + + + Flushes the current console device output buffer. Any + pending characters will be delivered to the target device. +xo + + + + ao_add_stdio + + +void +ao_add_stdio(char (*pollchar)(void), + void (*putchar)(char), + void (*flush)(void)) + + + This adds another console device to the available + list. + + + 'pollchar' returns either an available character or + AO_READ_AGAIN if none is available. Significantly, it does + not block. The device driver must set 'ao_stdin_ready' to + 1 and call ao_wakeup(&ao_stdin_ready) when it receives + input to tell getchar that more data is available, at + which point 'pollchar' will be called again. + + + 'putchar' queues a character for output, flushing if the output buffer is + full. It may block in this case. + + + 'flush' forces the output buffer to be flushed. It may + block until the buffer is delivered, but it is not + required to do so. + + + + + + + Command line interface + + AltOS includes a simple command line parser which is hooked up + to the stdio interfaces permitting remote control of the device + over USB or the RF link as desired. Each command uses a single + character to invoke it, the remaining characters on the line are + available as parameters to the command. + + + AltOS command line parsing functions + + ao_cmd_register + + +void +ao_cmd_register(__code struct ao_cmds *cmds) + + + This registers a set of commands with the command + parser. There is a fixed limit on the number of command + sets, the system will panic if too many are registered. + Each command is defined by a struct ao_cmds entry: + +struct ao_cmds { + char cmd; + void (*func)(void); + const char *help; +}; + + 'cmd' is the character naming the command. 'func' is the + function to invoke and 'help' is a string displayed by the + '?' command. Syntax errors found while executing 'func' + should be indicated by modifying the global ao_cmd_status + variable with one of the following values: + + + ao_cmd_success + + + The command was parsed successfully. There is no + need to assign this value, it is the default. + + + + + ao_cmd_lex_error + + + A token in the line was invalid, such as a number + containing invalid characters. The low-level + lexing functions already assign this value as needed. + + + + + ao_syntax_error + + + The command line is invalid for some reason other + than invalid tokens. + + + + + + + + + ao_cmd_lex + + +void +ao_cmd_lex(void); + + + This gets the next character out of the command line + buffer and sticks it into ao_cmd_lex_c. At the end of the + line, ao_cmd_lex_c will get a newline ('\n') character. + + + + + ao_cmd_put16 + + +void +ao_cmd_put16(uint16_t v); + + + Writes 'v' as four hexadecimal characters. + + + + + ao_cmd_put8 + + +void +ao_cmd_put8(uint8_t v); + + + Writes 'v' as two hexadecimal characters. + + + + + ao_cmd_white + + +void +ao_cmd_white(void) + + + This skips whitespace by calling ao_cmd_lex while + ao_cmd_lex_c is either a space or tab. It does not skip + any characters if ao_cmd_lex_c already non-white. + + + + + ao_cmd_hex + + +void +ao_cmd_hex(void) + + + This reads a 16-bit hexadecimal value from the command + line with optional leading whitespace. The resulting value + is stored in ao_cmd_lex_i; + + + + + ao_cmd_decimal + + +void +ao_cmd_decimal(void) + + + This reads a 32-bit decimal value from the command + line with optional leading whitespace. The resulting value + is stored in ao_cmd_lex_u32 and the low 16 bits are stored + in ao_cmd_lex_i; + + + + + ao_match_word + + +uint8_t +ao_match_word(__code char *word) + + + This checks to make sure that 'word' occurs on the command + line. It does not skip leading white space. If 'word' is + found, then 1 is returned. Otherwise, ao_cmd_status is set to + ao_cmd_syntax_error and 0 is returned. + + + + + ao_cmd_init + + +void +ao_cmd_init(void + + + Initializes the command system, setting up the built-in + commands and adding a task to run the command processing + loop. It should be called by 'main' before ao_start_scheduler. + + + + + + + CC1111 USB target device + + The CC1111 contains a full-speed USB target device. It can be + programmed to offer any kind of USB target, but to simplify + interactions with a variety of operating systems, AltOS provides + only a single target device profile, that of a USB modem which + has native drivers for Linux, Windows and Mac OS X. It would be + easy to change the code to provide an alternate target device if + necessary. + + + To the rest of the system, the USB device looks like a simple + two-way byte stream. It can be hooked into the command line + interface if desired, offering control of the device over the + USB link. Alternatively, the functions can be accessed directly + to provide for USB-specific I/O. + + + AltOS USB functions + + ao_usb_flush + + +void +ao_usb_flush(void); + + + Flushes any pending USB output. This queues an 'IN' packet + to be delivered to the USB host if there is pending data, + or if the last IN packet was full to indicate to the host + that there isn't any more pending data available. + + + + + ao_usb_putchar + + +void +ao_usb_putchar(char c); + + + If there is a pending 'IN' packet awaiting delivery to the + host, this blocks until that has been fetched. Then, this + adds a byte to the pending IN packet for delivery to the + USB host. If the USB packet is full, this queues the 'IN' + packet for delivery. + + + + + ao_usb_pollchar + + +char +ao_usb_pollchar(void); + + + If there are no characters remaining in the last 'OUT' + packet received, this returns AO_READ_AGAIN. Otherwise, it + returns the next character, reporting to the host that it + is ready for more data when the last character is gone. + + + + + ao_usb_getchar + + +char +ao_usb_getchar(void); + + + This uses ao_pollchar to receive the next character, + blocking while ao_pollchar returns AO_READ_AGAIN. + + + + + ao_usb_disable + + +void +ao_usb_disable(void); + + + This turns off the USB controller. It will no longer + respond to host requests, nor return characters. Calling + any of the i/o routines while the USB device is disabled + is undefined, and likely to break things. Disabling the + USB device when not needed saves power. + + + Note that neither TeleDongle nor TeleMetrum are able to + signal to the USB host that they have disconnected, so + after disabling the USB device, it's likely that the cable + will need to be disconnected and reconnected before it + will work again. + + + + + ao_usb_enable + + +void +ao_usb_enable(void); + + + This turns the USB controller on again after it has been + disabled. See the note above about needing to physically + remove and re-insert the cable to get the host to + re-initialize the USB link. + + + + + ao_usb_init + + +void +ao_usb_init(void); + + + This turns the USB controller on, adds a task to handle + the control end point and adds the usb I/O functions to + the stdio system. Call this from main before + ao_start_scheduler. + + + + + + + CC1111 Serial peripheral + + The CC1111 provides two USART peripherals. AltOS uses one for + asynch serial data, generally to communicate with a GPS device, + and the other for a SPI bus. The UART is configured to operate + in 8-bits, no parity, 1 stop bit framing. The default + configuration has clock settings for 4800, 9600 and 57600 baud + operation. Additional speeds can be added by computing + appropriate clock values. + + + To prevent loss of data, AltOS provides receive and transmit + fifos of 32 characters each. + + + AltOS serial functions + + ao_serial_getchar + + +char +ao_serial_getchar(void); + + + Returns the next character from the receive fifo, blocking + until a character is received if the fifo is empty. + + + + + ao_serial_putchar + + +void +ao_serial_putchar(char c); + + + Adds a character to the transmit fifo, blocking if the + fifo is full. Starts transmitting characters. + + + + + ao_serial_drain + + +void +ao_serial_drain(void); + + + Blocks until the transmit fifo is empty. Used internally + when changing serial speeds. + + + + + ao_serial_set_speed + + +void +ao_serial_set_speed(uint8_t speed); + + + Changes the serial baud rate to one of + AO_SERIAL_SPEED_4800, AO_SERIAL_SPEED_9600 or + AO_SERIAL_SPEED_57600. This first flushes the transmit + fifo using ao_serial_drain. + + + + + ao_serial_init + + +void +ao_serial_init(void) + + + Initializes the serial peripheral. Call this from 'main' + before jumping to ao_start_scheduler. The default speed + setting is AO_SERIAL_SPEED_4800. + + + + + + + CC1111 Radio peripheral + + The CC1111 radio transceiver sends and receives digital packets + with forward error correction and detection. The AltOS driver is + fairly specific to the needs of the TeleMetrum and TeleDongle + devices, using it for other tasks may require customization of + the driver itself. There are three basic modes of operation: + + + + Telemetry mode. In this mode, TeleMetrum transmits telemetry + frames at a fixed rate. The frames are of fixed size. This + is strictly a one-way communication from TeleMetrum to + TeleDongle. + + + + + Packet mode. In this mode, the radio is used to create a + reliable duplex byte stream between TeleDongle and + TeleMetrum. This is an asymmetrical protocol with + TeleMetrum only transmitting in response to a packet sent + from TeleDongle. Thus getting data from TeleMetrum to + TeleDongle requires polling. The polling rate is adaptive, + when no data has been received for a while, the rate slows + down. The packets are checked at both ends and invalid + data are ignored. + + + On the TeleMetrum side, the packet link is hooked into the + stdio mechanism, providing an alternate data path for the + command processor. It is enabled when the unit boots up in + 'idle' mode. + + + On the TeleDongle side, the packet link is enabled with a + command; data from the stdio package is forwarded over the + packet link providing a connection from the USB command + stream to the remote TeleMetrum device. + + + + + Radio Direction Finding mode. In this mode, TeleMetrum + constructs a special packet that sounds like an audio tone + when received by a conventional narrow-band FM + receiver. This is designed to provide a beacon to track + the device when other location mechanisms fail. + + + + + + AltOS radio functions + + ao_radio_set_telemetry + + +void +ao_radio_set_telemetry(void); + + + Configures the radio to send or receive telemetry + packets. This includes packet length, modulation scheme and + other RF parameters. It does not include the base frequency + or channel though. Those are set at the time of transmission + or reception, in case the values are changed by the user. + + + + + ao_radio_set_packet + + +void +ao_radio_set_packet(void); + + + Configures the radio to send or receive packet data. This + includes packet length, modulation scheme and other RF + parameters. It does not include the base frequency or + channel though. Those are set at the time of transmission or + reception, in case the values are changed by the user. + + + + + ao_radio_set_rdf + + +void +ao_radio_set_rdf(void); + + + Configures the radio to send RDF 'packets'. An RDF 'packet' + is a sequence of hex 0x55 bytes sent at a base bit rate of + 2kbps using a 5kHz deviation. All of the error correction + and data whitening logic is turned off so that the resulting + modulation is received as a 1kHz tone by a conventional 70cm + FM audio receiver. + + + + + ao_radio_idle + + +void +ao_radio_idle(void); + + + Sets the radio device to idle mode, waiting until it reaches + that state. This will terminate any in-progress transmit or + receive operation. + + + + + ao_radio_get + + +void +ao_radio_get(void); + + + Acquires the radio mutex and then configures the radio + frequency using the global radio calibration and channel + values. + + + + + ao_radio_put + + +void +ao_radio_put(void); + + + Releases the radio mutex. + + + + + ao_radio_abort + + +void +ao_radio_abort(void); + + + Aborts any transmission or reception process by aborting the + associated DMA object and calling ao_radio_idle to terminate + the radio operation. + + + + + + AltOS radio telemetry functions + + In telemetry mode, you can send or receive a telemetry + packet. The data from receiving a packet also includes the RSSI + and status values supplied by the receiver. These are added + after the telemetry data. + + + ao_radio_send + + +void +ao_radio_send(__xdata struct ao_telemetry *telemetry); + + + This sends the specific telemetry packet, waiting for the + transmission to complete. The radio must have been set to + telemetry mode. This function calls ao_radio_get() before + sending, and ao_radio_put() afterwards, to correctly + serialize access to the radio device. + + + + + ao_radio_recv + + +void +ao_radio_recv(__xdata struct ao_radio_recv *radio); + + + This blocks waiting for a telemetry packet to be received. + The radio must have been set to telemetry mode. This + function calls ao_radio_get() before receiving, and + ao_radio_put() afterwards, to correctly serialize access + to the radio device. This returns non-zero if a packet was + received, or zero if the operation was aborted (from some + other task calling ao_radio_abort()). + + + + + + AltOS radio direction finding function + + In radio direction finding mode, there's just one function to + use + + + ao_radio_rdf + + +void +ao_radio_rdf(int ms); + + + This sends an RDF packet lasting for the specified amount + of time. The maximum length is 1020 ms. + + + + + + Packet mode functions + + Packet mode is asymmetrical and is configured at compile time + for either master or slave mode (but not both). The basic I/O + functions look the same at both ends, but the internals are + different, along with the initialization steps. + + + ao_packet_putchar + + +void +ao_packet_putchar(char c); + + + If the output queue is full, this first blocks waiting for + that data to be delivered. Then, queues a character for + packet transmission. On the master side, this will + transmit a packet if the output buffer is full. On the + slave side, any pending data will be sent the next time + the master polls for data. + + + + + ao_packet_pollchar + + +char +ao_packet_pollchar(void); + + + This returns a pending input character if available, + otherwise returns AO_READ_AGAIN. On the master side, if + this empties the buffer, it triggers a poll for more data. + + + + + ao_packet_slave_start + + +void +ao_packet_slave_start(void); + + + This is available only on the slave side and starts a task + to listen for packet data. + + + + + ao_packet_slave_stop + + +void +ao_packet_slave_stop(void); + + + Disables the packet slave task, stopping the radio receiver. + + + + + ao_packet_slave_init + + +void +ao_packet_slave_init(void); + + + Adds the packet stdio functions to the stdio package so + that when packet slave mode is enabled, characters will + get send and received through the stdio functions. + + + + + ao_packet_master_init + + +void +ao_packet_master_init(void); + + + Adds the 'p' packet forward command to start packet mode. + + + + + +
-- cgit v1.2.3 From 853b7112e34212040c4cb7289f9cfdb2f3ea9f90 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 23 Nov 2010 18:53:18 -0700 Subject: merge Keith's AltosUI documention into "the big book" --- doc/Makefile | 4 +- doc/altosui-doc.xsl | 596 ------------------ doc/telemetrum-doc.xsl | 1629 ++++++++++++++++++++++++++++++++---------------- 3 files changed, 1099 insertions(+), 1130 deletions(-) delete mode 100644 doc/altosui-doc.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 52934290..65917ea2 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,8 +2,8 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -HTML=telemetrum-doc.html altosui-doc.html altos.html -PDF=telemetrum-doc.pdf altosui-doc.pdf altos.pdf +HTML=telemetrum-doc.html altos.html +PDF=telemetrum-doc.pdf altos.pdf DOC=$(HTML) $(PDF) HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl diff --git a/doc/altosui-doc.xsl b/doc/altosui-doc.xsl deleted file mode 100644 index 4a1f43b5..00000000 --- a/doc/altosui-doc.xsl +++ /dev/null @@ -1,596 +0,0 @@ - - - - - AltosUI - Altos Metrum Graphical User Interface Manual - - - Bdale - Garbee - - - Keith - Packard - - - 2010 - Bdale Garbee and Keith Packard - - - - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. - - - - - 0.1 - 19 November 2010 - Initial content - - - - - Introduction - - The AltosUI program provides a graphical user interface for - interacting with the Altus Metrum product family, including - TeleMetrum and TeleDongle. AltosUI can monitor telemetry data, - configure TeleMetrum and TeleDongle devices and many other - tasks. The primary interface window provides a selection of - buttons, one for each major activity in the system. This manual - is split into chapters, each of which documents one of the tasks - provided from the top-level toolbar. - - - - Packet Command Mode - Controlling TeleMetrum Over The Radio Link - - One of the unique features of the Altos Metrum environment is - the ability to create a two way command link between TeleDongle - and TeleMetrum using the digital radio transceivers built into - each device. This allows you to interact with TeleMetrum from - afar, as if it were directly connected to the computer. - - - Any operation which can be performed with TeleMetrum - can either be done with TeleMetrum directly connected to - the computer via the USB cable, or through the packet - link. Simply select the appropriate TeleDongle device when - the list of devices is presented and AltosUI will use packet - command mode. - - - - - Save Flight Data—Recover flight data from the rocket without - opening it up. - - - - - Configure TeleMetrum—Reset apogee delays or main deploy - heights to respond to changing launch conditions. You can - also 'reboot' the TeleMetrum device. Use this to remotely - enable the flight computer by turning TeleMetrum on while - horizontal, then once the airframe is oriented for launch, - you can reboot TeleMetrum and have it restart in pad mode - without having to climb the scary ladder. - - - - - Fire Igniters—Test your deployment charges without snaking - wires out through holes in the airframe. Simply assembly the - rocket as if for flight with the apogee and main charges - loaded, then remotely command TeleMetrum to fire the - igniters. - - - - - Packet command mode uses the same RF channels as telemetry - mode. Configure the desired TeleDongle channel using the - flight monitor window channel selector and then close that - window before performing the desired operation. - - - TeleMetrum only enables packet command mode in 'idle' mode, so - make sure you have TeleMetrum lying horizontally when you turn - it on. Otherwise, TeleMetrum will start in 'pad' mode ready for - flight and will not be listening for command packets from TeleDongle. - - - When packet command mode is enabled, you can monitor the link - by watching the lights on the TeleDongle and TeleMetrum - devices. The red LED will flash each time TeleDongle or - TeleMetrum transmit a packet while the green LED will light up - on TeleDongle while it is waiting to receive a packet from - TeleMetrum. - - - - Monitor Flight - Receive, Record and Display Telemetry Data - - 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. - - - 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. - - - The radio channel being monitored by the TeleDongle device is - displayed at the top of the window. You can configure the - channel by clicking on the channel box and selecting the desired - channel. AltosUI remembers the last channel selected for each - TeleDongle and selects that automatically the next time you use - that device. - - - Below the TeleDongle channel selector, the window contains a few - significant pieces of information about the TeleMetrum providing - the telemetry data stream: - - - - The TeleMetrum callsign - - - The TeleMetrum serial number - - - The flight number. Each TeleMetrum remembers how many - times it has flown. - - - - The rocket flight state. Each flight passes through several - states including Pad, Boost, Fast, Coast, Drogue, Main and - Landed. - - - - - The Received Signal Strength Indicator value. This lets - you know how strong a signal TeleDongle is receiving. The - radio inside TeleDongle operates down to about -99dBm; - weaker signals may not be receiveable. The packet link uses - error correction and detection techniques which prevent - incorrect data from being reported. - - - - - Finally, the largest portion of the window contains a set of - tabs, each of which contain some information about the rocket. - They're arranged in 'flight order' so that as the flight - progresses, the selected tab automatically switches to display - data relevant to the current state of the flight. You can select - other tabs at any time. The final 'table' tab contains all of - the telemetry data in one place. - -
- Launch Pad - - 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: - - - - Battery Voltage. This indicates whether the LiPo battery - powering the TeleMetrum has sufficient charge to last for - the duration of the flight. A value of more than - 3.7V is required for a 'GO' status. - - - - - Apogee Igniter Voltage. This indicates whether the apogee - igniter has continuity. If the igniter has a low - resistance, then the voltage measured here will be close - to the LiPo battery voltage. A value greater than 3.2V is - required for a 'GO' status. - - - - - Main Igniter Voltage. This indicates whether the main - igniter has continuity. If the igniter has a low - resistance, then the voltage measured here will be close - to the LiPo battery voltage. A value greater than 3.2V is - required for a 'GO' status. - - - - - GPS Locked. This indicates whether the GPS receiver is - currently able to compute position information. GPS requires - at least 4 satellites to compute an accurate position. - - - - - GPS Ready. This indicates whether GPS has reported at least - 10 consecutive positions without losing lock. This ensures - that the GPS receiver has reliable reception from the - satellites. - - - - - The LaunchPad tab also shows the computed launch pad position - and altitude, averaging many reported positions to improve the - accuracy of the fix. - - -
-
- Ascent - - This tab is shown during Boost, Fast and Coast - phases. The information displayed here helps monitor the - rocket as it heads towards apogee. - - - The height, speed and acceleration are shown along with the - maxium values for each of them. This allows you to quickly - answer the most commonly asked questions you'll hear during - flight. - - - The current latitude and longitude reported by the GPS are - also shown. Note that under high acceleration, these values - may not get updated as the GPS receiver loses position - fix. Once the rocket starts coasting, the receiver should - start reporting position again. - - - Finally, the current igniter voltages are reported as in the - Launch Pad tab. This can help diagnose deployment failures - caused by wiring which comes loose under high acceleration. - -
-
- Descent - - Once the rocket has reached apogee and (we hope) activated the - apogee charge, attention switches to tracking the rocket on - the way back to the ground, and for dual-deploy flights, - waiting for the main charge to fire. - - - To monitor whether the apogee charge operated correctly, the - current descent rate is reported along with the current - height. Good descent rates generally range from 15-30m/s. - - - To help locate the rocket in the sky, use the elevation and - bearing information to figure out where to look. Elevation is - in degrees above the horizon. Bearing is reported in degrees - relative to true north. Range can help figure out how big the - rocket will appear. Note that all of these values are relative - to the pad location. If the elevation is near 90°, the rocket - is over the pad, not over you. - - - Finally, the igniter voltages are reported in this tab as - well, both to monitor the main charge as well as to see what - the status of the apogee charge is. - -
-
- Landed - - Once the rocket is on the ground, attention switches to - recovery. While the radio signal is generally lost once the - rocket is on the ground, the last reported GPS position is - generally within a short distance of the actual landing location. - - - The last reported GPS position is reported both by - latitude and longitude as well as a bearing and distance from - the launch pad. The distance should give you a good idea of - whether you'll want to walk or hitch a ride. Take the reported - latitude and longitude and enter them into your handheld GPS - unit and have that compute a track to the landing location. - - - Finally, the maximum height, speed and acceleration reported - during the flight are displayed for your admiring observers. - -
-
- - Save Flight Data - - TeleMetrum records flight data to its internal flash memory. - This data is recorded at a much higher rate than the telemetry - system can handle, and is not subject to radio drop-outs. As - such, it provides a more complete and precise record of the - flight. The 'Save Flight Data' button allows you to read the - flash memory and write it to disk. - - - Clicking on the 'Save Flight Data' button brings up a list of - connected TeleMetrum and TeleDongle devices. If you select a - TeleMetrum device, the flight data will be downloaded from that - device directly. If you select a TeleDongle device, flight data - will be downloaded from a TeleMetrum device connected via the - packet command link to the specified TeleDongle. See the chapter - on Packet Command Mode for more information about this. - - - The filename for the data is computed automatically from the recorded - flight date, TeleMetrum serial number and flight number - information. - - - - Replay Flight - - Select this button and you are prompted to select a flight - record file, either a .telem file recording telemetry data or a - .eeprom file containing flight data saved from the TeleMetrum - flash memory. - - - Once a flight record is selected, the flight monitor interface - is displayed and the flight is re-enacted in real time. Check - the Monitor Flight chapter above to learn how this window operates. - - - - Graph Data - - This section should be written by AJ. - - - - Export Data - - This tool takes the raw data files and makes them available for - external analysis. When you select this button, you are prompted to select a flight - data file (either .eeprom or .telem will do, remember that - .eeprom files contain higher resolution and more continuous - data). Next, a second dialog appears which is used to select - where to write the resulting file. It has a selector to choose - between CSV and KML file formats. - -
- Comma Separated Value Format - - This is a text file containing the data in a form suitable for - import into a spreadsheet or other external data analysis - tool. The first few lines of the file contain the version and - configuration information from the TeleMetrum device, then - there is a single header line which labels all of the - fields. All of these lines start with a '#' character which - most tools can be configured to skip over. - - - The remaining lines of the file contain the data, with each - field separated by a comma and at least one space. All of - the sensor values are converted to standard units, with the - barometric data reported in both pressure, altitude and - height above pad units. - -
-
- Keyhole Markup Language (for Google Earth) - - This is the format used by - Googleearth to provide an overlay within that - application. With this, you can use Googleearth to see the - whole flight path in 3D. - -
-
- - Configure TeleMetrum - - Select this button and then select either a TeleMetrum or - TeleDongle Device from the list provided. Selecting a TeleDongle - device will use Packet Comamnd Mode to configure remote - TeleMetrum device. Learn how to use this in the Packet Command - Mode chapter. - - - The first few lines of the dialog provide information about the - connected TeleMetrum device, including the product name, - software version and hardware serial number. Below that are the - individual configuration entries. - - - At the bottom of the dialog, there are four buttons: - - - - - Save. This writes any changes to the TeleMetrum - configuration parameter block in flash memory. If you don't - press this button, any changes you make will be lost. - - - - - Reset. This resets the dialog to the most recently saved values, - erasing any changes you have made. - - - - - Reboot. This reboots the TeleMetrum device. Use this to - switch from idle to pad mode by rebooting once the rocket is - oriented for flight. - - - - - Close. This closes the dialog. Any unsaved changes will be - lost. - - - - - The rest of the dialog contains the parameters to be configured. - -
- Main Deploy Altitude - - This sets the altitude (above the recorded pad altitude) at - which the 'main' igniter will fire. The drop-down menu shows - some common values, but you can edit the text directly and - choose whatever you like. If the apogee charge fires below - this altitude, then the main charge will fire two seconds - after the apogee charge fires. - -
-
- Apogee Delay - - When flying redundant electronics, it's often important to - ensure that multiple apogee charges don't fire at precisely - the same time as that can overpressurize the apogee deployment - bay and cause a structural failure of the airframe. The Apogee - Delay parameter tells the flight computer to fire the apogee - charge a certain number of seconds after apogee has been - detected. - -
-
- Radio Channel - - This configures which of the 10 radio channels to use for both - telemetry and packet command mode. Note that if you set this - value via packet command mode, you will have to reconfigure - the TeleDongle channel before you will be able to use packet - command mode again. - -
-
- Radio Calibration - - The radios in every Altus Metrum device are calibrated at the - factory to ensure that they transmit and receive on the - specified frequency for each channel. You can adjust that - calibration by changing this value. To change the TeleDongle's - calibration, you must reprogram the unit completely. - -
-
- Callsign - - This sets the callsign included in each telemetry packet. Set this - as needed to conform to your local radio regulations. - -
-
- - Configure AltosUI - - This button presents a dialog so that you can configure the AltosUI global settings. - -
- Voice Settings - - AltosUI provides voice annoucements during flight so that you - can keep your eyes on the sky and still get information about - the current flight status. However, sometimes you don't want - to hear them. - - - - Enable—turns all voice announcements on and off - - - - Test Voice—Plays a short message allowing you to verify - that the audio systme is working and the volume settings - are reasonable - - - -
-
- Log Directory - - AltosUI logs all telemetry data and saves all TeleMetrum flash - data to this directory. This directory is also used as the - staring point when selecting data files for display or export. - - - Click on the directory name to bring up a directory choosing - dialog, select a new directory and click 'Select Directory' to - change where AltosUI reads and writes data files. - -
-
- Callsign - - This value is used in command packet mode and is transmitted - in each packet sent from TeleDongle and received from - TeleMetrum. It is not used in telemetry mode as that transmits - packets only from TeleMetrum to TeleDongle. Configure this - with the AltosUI operators callsign as needed to comply with - your local radio regulations. - -
-
- - Flash Image - - This reprograms any Altus Metrum device by using a TeleMetrum or - TeleDongle as a programming dongle. Please read the directions - for connecting the programming cable in the main TeleMetrum - manual before reading these instructions. - - - Once you have the programmer and target devices connected, - push the 'Flash Image' button. That will present a dialog box - listing all of the connected devices. Carefully select the - programmer device, not the device to be programmed. - - - Next, select the image to flash to the device. These are named - with the product name and firmware version. The file selector - will start in the directory containing the firmware included - with the AltosUI package. Navigate to the directory containing - the desired firmware if it isn't there. - - - Next, a small dialog containing the device serial number and - RF calibration values should appear. If these values are - incorrect (possibly due to a corrupted image in the device), - enter the correct values here. - - - Finally, a dialog containing a progress bar will follow the - programming process. - - - When programming is complete, the target device will - reboot. Note that if the target device is connected via USB, you - will have to unplug it and then plug it back in for the USB - connection to reset so that you can communicate with the device - again. - - - - Fire Igniter - - - -
\ No newline at end of file diff --git a/doc/telemetrum-doc.xsl b/doc/telemetrum-doc.xsl index b7963aec..6be23e7f 100644 --- a/doc/telemetrum-doc.xsl +++ b/doc/telemetrum-doc.xsl @@ -27,6 +27,11 @@ + + 0.3 + 23 November 2010 + New section on AltosUI mostly by Keith + 0.2 18 July 2010 @@ -118,12 +123,12 @@ When you have successfully installed the software suite (either from compiled source code or as the pre-built Debian package) you will have 10 or so executable programs all of which have names beginning - with 'ao-'. + with 'ao-'. ('ao-view' is the lone GUI-based program, the rest are command-line oriented.) You will also have man pages, that give you basic info - on each program. + on each program. You will also get this documentation in two file types in the doc/ -directory, telemetrum-doc.pdf and telemetrum-doc.html. + directory, telemetrum-doc.pdf and telemetrum-doc.html. Finally you will have a couple control files that allow the ao-view GUI-based program to appear in your menu of programs (under the 'Internet' category). @@ -133,7 +138,7 @@ directory, telemetrum-doc.pdf and telemetrum-doc.html. with using USB ports. The first thing you should try after getting both units plugged into to your computer's usb port(s) is to run 'ao-list' from a terminal-window to see what port-device-name each - device has been assigned by the operating system. + device has been assigned by the operating system. You will need this information to access the devices via their respective on-board firmware and data using other command line programs in the AltOS software suite. @@ -158,7 +163,7 @@ directory, telemetrum-doc.pdf and telemetrum-doc.html. Both TeleMetrum and TeleDongle share the concept of a two level command set in their firmware. - The first layer has several single letter commands. Once + The first layer has several single letter commands. Once you are using 'cu' (or 'cutecom') sending (typing) a '?' returns a full list of these commands. The second level are configuration sub-commands accessed @@ -177,7 +182,7 @@ directory, telemetrum-doc.pdf and telemetrum-doc.html. use 'N0CALL' which is cute, but not exactly legal! Spend a few minutes getting comfortable with the units, their firmware, and 'cu' (or possibly 'cutecom'). - For instance, try to send + For instance, try to send (type) a 'c r 2' and verify the channel change by sending a 'c s'. Verify you can connect and disconnect from the units while in your terminal program by sending the escape-disconnect mentioned above. @@ -250,7 +255,7 @@ directory, telemetrum-doc.pdf and telemetrum-doc.html. As for ao-view.... some things are in the menu but don't do anything very useful. The developers have stopped working on ao-view to focus on a new, cross-platform ground station program. So ao-view may or - may not be updated in the future. Mostly you just use + may not be updated in the future. Mostly you just use the Log and Device menus. It has a wonderful display of the incoming flight data and I am sure you will enjoy what it has to say to you once you enable the voice output! @@ -299,611 +304,1171 @@ directory, telemetrum-doc.pdf and telemetrum-doc.html. Live telemetry is written to file(s) whenever 'ao-view' is connected to the TeleDongle. The file area defaults to ~/altos but is easily changed using the menus in 'ao-view'. The files that - are written end in '.telem'. The after-flight + are written end in '.telem'. The after-flight data-dumped files will end in .eeprom and represent continuous data unlike the rf-linked .telem files that are subject to the turnarounds/data-packaging time slots in the half-duplex rf data path. See the above instructions on what and how to save the eeprom stored data after physically retrieving your TeleMetrum. Make sure to save - the on-board data after each flight, as the current firmware will - over-write any previous flight data during a new flight. + the on-board data after each flight, as the current firmware will + over-write any previous flight data during a new flight. + + + + + Specifications + + + + Recording altimeter for model rocketry. + + + + + Supports dual deployment (can fire 2 ejection charges). + + + + + 70cm ham-band transceiver for telemetry downlink. + + + + + Barometric pressure sensor good to 45k feet MSL. + + + + + 1-axis high-g accelerometer for motor characterization, capable of + +/- 50g using default part. + + + + + On-board, integrated GPS receiver with 5hz update rate capability. + + + + + On-board 1 megabyte non-volatile memory for flight data storage. + + + + + USB interface for battery charging, configuration, and data recovery. + + + + + Fully integrated support for LiPo rechargeable batteries. + + + + + Uses LiPo to fire e-matches, support for optional separate pyro + battery if needed. + + + + + 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. + + + + + + Handling Precautions + + TeleMetrum is a sophisticated electronic device. When handled gently and + properly installed in an airframe, it will deliver impressive results. + However, like all electronic devices, there are some precautions you + must take. + + + The Lithium Polymer rechargeable batteries used with TeleMetrum have an + extraordinary power density. This is great because we can fly with + much less battery mass than if we used alkaline batteries or previous + generation rechargeable batteries... but if they are punctured + or their leads are allowed to short, they can and will release their + energy very rapidly! + Thus we recommend that you take some care when handling our batteries + and consider giving them some extra protection in your airframe. We + often wrap them in suitable scraps of closed-cell packing foam before + strapping them down, for example. + + + The TeleMetrum barometric sensor is sensitive to sunlight. In normal + mounting situations, it and all of the other surface mount components + are "down" towards whatever the underlying mounting surface is, so + this is not normally a problem. Please consider this, though, when + designing an installation, for example, in a 29mm airframe with a + see-through plastic payload bay. + + + The TeleMetrum barometric sensor sampling port must be able to + "breathe", + both by not being covered by foam or tape or other materials that might + directly block the hole on the top of the sensor, but also by having a + suitable static vent to outside air. + + + As with all other rocketry electronics, TeleMetrum must be protected + from exposure to corrosive motor exhaust and ejection charge gasses. + + + + Hardware Overview + + TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to + fit inside coupler for 29mm airframe tubing, but using it in a tube that + small in diameter may require some creativity in mounting and wiring + to succeed! The default 1/4 + wave UHF wire antenna attached to the center of the nose-cone end of + the board is about 7 inches long, and wiring for a power switch and + the e-matches for apogee and main ejection charges depart from the + fin can end of the board. Given all this, an ideal "simple" avionics + bay for TeleMetrum should have at least 10 inches of interior length. + + + A typical TeleMetrum installation using the on-board GPS antenna and + default wire UHF antenna involves attaching only a suitable + Lithium Polymer battery, a single pole switch for power on/off, and + two pairs of wires connecting e-matches for the apogee and main ejection + charges. + + + By default, we use the unregulated output of the LiPo battery directly + to fire ejection charges. This works marvelously with standard + low-current e-matches like the J-Tek from MJG Technologies, and with + Quest Q2G2 igniters. However, if you + want or need to use a separate pyro battery, you can do so by adding + a second 2mm connector to position B2 on the board and cutting the + thick pcb trace connecting the LiPo battery to the pyro circuit between + the two silk screen marks on the surface mount side of the board shown + here [insert photo] + + + We offer two choices of pyro and power switch connector, or you can + choose neither and solder wires directly to the board. All three choices + are reasonable depending on the constraints of your airframe. Our + favorite option when there is sufficient room above the board is to use + the Tyco pin header with polarization and locking. If you choose this + option, you crimp individual wires for the power switch and e-matches + into a mating connector, and installing and removing the TeleMetrum + board from an airframe is as easy as plugging or unplugging two + connectors. If the airframe will not support this much height or if + you want to be able to directly attach e-match leads to the board, we + offer a screw terminal block. This is very similar to what most other + altimeter vendors provide and so may be the most familiar option. + You'll need a very small straight blade screwdriver to connect + and disconnect the board in this case, such as you might find in a + jeweler's screwdriver set. Finally, you can forego both options and + solder wires directly to the board, which may be the best choice for + minimum diameter and/or minimum mass designs. + + + For most airframes, the integrated GPS antenna and wire UHF antenna are + a great combination. However, if you are installing in a carbon-fiber + electronics bay which is opaque to RF signals, you may need to use + off-board external antennas instead. In this case, you can order + TeleMetrum with an SMA connector for the UHF antenna connection, and + you can unplug the integrated GPS antenna and select an appropriate + off-board GPS antenna with cable terminating in a U.FL connector. + + + + System Operation +
+ Firmware Modes + + The AltOS firmware build for TeleMetrum has two fundamental modes, + "idle" and "flight". Which of these modes the firmware operates in + is determined by the orientation of the rocket (well, actually the + board, of course...) at the time power is switched on. If the rocket + is "nose up", then TeleMetrum assumes it's on a rail or rod being + prepared for launch, so the firmware chooses flight mode. However, + if the rocket is more or less horizontal, the firmware instead enters + idle mode. + + + At power on, you will hear three beeps + ("S" in Morse code for startup) and then a pause while + TeleMetrum completes initialization and self tests, and decides which + mode to enter next. + + + In flight or "pad" mode, TeleMetrum turns on the GPS system, + engages the flight + state machine, goes into transmit-only mode on the RF link sending + telemetry, and waits for launch to be detected. Flight mode is + indicated by an audible "di-dah-dah-dit" ("P" for pad) on the + beeper, followed by + beeps indicating the state of the pyrotechnic igniter continuity. + One beep indicates apogee continuity, two beeps indicate + main continuity, three beeps indicate both apogee and main continuity, + and one longer "brap" sound indicates no continuity. For a dual + deploy flight, make sure you're getting three beeps before launching! + For apogee-only or motor eject flights, do what makes sense. + + + In idle mode, you will hear an audible "di-dit" ("I" for idle), and + the normal flight state machine is disengaged, thus + no ejection charges will fire. TeleMetrum also listens on the RF + link when in idle mode for packet mode requests sent from TeleDongle. + Commands can be issued to a TeleMetrum in idle mode over either + USB or the RF link equivalently. + Idle mode is useful for configuring TeleMetrum, for extracting data + from the on-board storage chip after flight, and for ground testing + pyro charges. + + + One "neat trick" of particular value when TeleMetrum is used with very + large airframes, is that you can power the board up while the rocket + is horizontal, such that it comes up in idle mode. Then you can + raise the airframe to launch position, use a TeleDongle to open + a packet connection, and issue a 'reset' command which will cause + TeleMetrum to reboot, realize it's now nose-up, and thus choose + flight mode. This is much safer than standing on the top step of a + rickety step-ladder or hanging off the side of a launch tower with + a screw-driver trying to turn on your avionics before installing + igniters! + +
+
+ GPS + + TeleMetrum includes a complete GPS receiver. See a later section for + a brief explanation of how GPS works that will help you understand + the information in the telemetry stream. The bottom line is that + the TeleMetrum GPS receiver needs to lock onto at least four + satellites to obtain a solid 3 dimensional position fix and know + what time it is! + + + TeleMetrum provides backup power to the GPS chip any time a LiPo + battery is connected. This allows the receiver to "warm start" on + the launch rail much faster than if every power-on were a "cold start" + for the GPS receiver. In typical operations, powering up TeleMetrum + on the flight line in idle mode while performing final airframe + preparation will be sufficient to allow the GPS receiver to cold + start and acquire lock. Then the board can be powered down during + RSO review and installation on a launch rod or rail. When the board + is turned back on, the GPS system should lock very quickly, typically + long before igniter installation and return to the flight line are + complete. + +
+
+ Ground Testing + + An important aspect of preparing a rocket using electronic deployment + for flight is ground testing the recovery system. Thanks + to the bi-directional RF link central to the Altus Metrum system, + this can be accomplished in a TeleMetrum-equipped rocket without as + much work as you may be accustomed to with other systems. It can + even be fun! + + + Just prep the rocket for flight, then power up TeleMetrum while the + airframe is horizontal. This will cause the firmware to go into + "idle" mode, in which the normal flight state machine is disabled and + charges will not fire without manual command. Then, establish an + RF packet connection from a TeleDongle-equipped computer using the + P command from a safe distance. You can now command TeleMetrum to + fire the apogee or main charges to complete your testing. + + + In order to reduce the chance of accidental firing of pyrotechnic + charges, the command to fire a charge is intentionally somewhat + difficult to type, and the built-in help is slightly cryptic to + prevent accidental echoing of characters from the help text back at + the board from firing a charge. The command to fire the apogee + drogue charge is 'i DoIt drogue' and the command to fire the main + charge is 'i DoIt main'. + +
+
+ Radio Link + + The chip our boards are based on incorporates an RF transceiver, but + it's not a full duplex system... each end can only be transmitting or + receiving at any given moment. So we had to decide how to manage the + link. + + + By design, TeleMetrum firmware listens for an RF connection when + it's in "idle mode" (turned on while the rocket is horizontal), which + allows us to use the RF link to configure the rocket, do things like + ejection tests, and extract data after a flight without having to + crack open the airframe. However, when the board is in "flight + mode" (turned on when the rocket is vertical) the TeleMetrum only + transmits and doesn't listen at all. That's because we want to put + ultimate priority on event detection and getting telemetry out of + the rocket and out over + the RF link in case the rocket crashes and we aren't able to extract + data later... + + + We don't use a 'normal packet radio' mode because they're just too + inefficient. The GFSK modulation we use is just FSK with the + baseband pulses passed through a + Gaussian filter before they go into the modulator to limit the + transmitted bandwidth. When combined with the hardware forward error + correction support in the cc1111 chip, this allows us to have a very + robust 38.4 kilobit data link with only 10 milliwatts of transmit power, + a whip antenna in the rocket, and a hand-held Yagi on the ground. We've + had flights to above 21k feet AGL with good reception, and calculations + suggest we should be good to well over 40k feet AGL with a 5-element yagi on + the ground. We hope to fly boards to higher altitudes soon, and would + of course appreciate customer feedback on performance in higher + altitude flights! + +
+
+ Configurable Parameters + + Configuring a TeleMetrum board for flight is very simple. Because we + have both acceleration and pressure sensors, there is no need to set + a "mach delay", for example. The few configurable parameters can all + be set using a simple terminal program over the USB port or RF link + via TeleDongle. + +
+ Radio Channel + + Our firmware supports 10 channels. The default channel 0 corresponds + to a center frequency of 434.550 Mhz, and channels are spaced every + 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz. + At any given launch, we highly recommend coordinating who will use + each channel and when to avoid interference. And of course, both + TeleMetrum and TeleDongle must be configured to the same channel to + successfully communicate with each other. + + + To set the radio channel, use the 'c r' command, like 'c r 3' to set + channel 3. + As with all 'c' sub-commands, follow this with a 'c w' to write the + change to the parameter block in the on-board DataFlash chip on + your TeleMetrum board if you want the change to stay in place across reboots. + +
+
+ Apogee Delay + + Apogee delay is the number of seconds after TeleMetrum detects flight + apogee that the drogue charge should be fired. In most cases, this + should be left at the default of 0. However, if you are flying + redundant electronics such as for an L3 certification, you may wish + to set one of your altimeters to a positive delay so that both + primary and backup pyrotechnic charges do not fire simultaneously. + + + To set the apogee delay, use the [FIXME] 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. + + + Please note that the TeleMetrum apogee detection algorithm always + fires a fraction of a second *after* apogee. If you are also flying + an altimeter like the PerfectFlite MAWD, which only supports selecting + 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0 + seconds delay and set the TeleMetrum to fire your backup 2 or 3 + seconds later to avoid any chance of both charges firing + simultaneously. We've flown several airframes this way quite happily, + including Keith's successful L3 cert.
- - - Specifications +
+ Main Deployment Altitude + + By default, TeleMetrum will fire the main deployment charge at an + elevation of 250 meters (about 820 feet) above ground. We think this + is a good elevation for most airframes, but feel free to change this + to suit. In particular, if you are flying two altimeters, you may + wish to set the + deployment elevation for the backup altimeter to be something lower + than the primary so that both pyrotechnic charges don't fire + simultaneously. + + + To set the main deployment altitude, use the [FIXME] 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. + +
+
+
+ Calibration + + There are only two calibrations required for a TeleMetrum board, and + only one for TeleDongle. + +
+ Radio Frequency + + 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. + + + To calibrate the radio frequency, connect the UHF antenna port to a + frequency counter, set the board to channel 0, and use the 'C' + command to generate a CW carrier. Wait for the transmitter temperature + to stabilize and the frequency to settle down. + Then, divide 434.550 Mhz by the + measured frequency and multiply by the current radio cal value show + in the 'c s' command. For an unprogrammed board, the default value + is 1186611. Take the resulting integer and program it using the 'c f' + command. Testing with the 'C' command again should show a carrier + within a few tens of Hertz of the intended frequency. + As with all 'c' sub-commands, follow this with a 'c w' to write the + change to the parameter block in the on-board DataFlash chip. + +
+
+ Accelerometer + + The accelerometer we use has its own 5 volt power supply and + the output must be passed through a resistive voltage divider to match + the input of our 3.3 volt ADC. This means that unlike the barometric + sensor, the output of the acceleration sensor is not ratiometric to + the ADC converter, and calibration is required. We also support the + use of any of several accelerometers from a Freescale family that + includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity, + a simple 2-point calibration yields acceptable results capturing both + the different sensitivities and ranges of the different accelerometer + parts and any variation in power supply voltages or resistor values + in the divider network. + + + 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. + + + 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. + +
+
+
+ + + AltosUI + + The AltosUI program provides a graphical user interface for + interacting with the Altus Metrum product family, including + TeleMetrum and TeleDongle. AltosUI can monitor telemetry data, + configure TeleMetrum and TeleDongle devices and many other + tasks. The primary interface window provides a selection of + buttons, one for each major activity in the system. This manual + is split into chapters, each of which documents one of the tasks + provided from the top-level toolbar. + +
+ Packet Command Mode + Controlling TeleMetrum Over The Radio Link + + One of the unique features of the Altos Metrum environment is + the ability to create a two way command link between TeleDongle + and TeleMetrum using the digital radio transceivers built into + each device. This allows you to interact with TeleMetrum from + afar, as if it were directly connected to the computer. + + + Any operation which can be performed with TeleMetrum + can either be done with TeleMetrum directly connected to + the computer via the USB cable, or through the packet + link. Simply select the appropriate TeleDongle device when + the list of devices is presented and AltosUI will use packet + command mode. + - Recording altimeter for model rocketry. + Save Flight Data—Recover flight data from the rocket without + opening it up. - Supports dual deployment (can fire 2 ejection charges). + Configure TeleMetrum—Reset apogee delays or main deploy + heights to respond to changing launch conditions. You can + also 'reboot' the TeleMetrum device. Use this to remotely + enable the flight computer by turning TeleMetrum on while + horizontal, then once the airframe is oriented for launch, + you can reboot TeleMetrum and have it restart in pad mode + without having to climb the scary ladder. - 70cm ham-band transceiver for telemetry downlink. + Fire Igniters—Test your deployment charges without snaking + wires out through holes in the airframe. Simply assembly the + rocket as if for flight with the apogee and main charges + loaded, then remotely command TeleMetrum to fire the + igniters. + + + Packet command mode uses the same RF channels as telemetry + mode. Configure the desired TeleDongle channel using the + flight monitor window channel selector and then close that + window before performing the desired operation. + + + TeleMetrum only enables packet command mode in 'idle' mode, so + make sure you have TeleMetrum lying horizontally when you turn + it on. Otherwise, TeleMetrum will start in 'pad' mode ready for + flight and will not be listening for command packets from TeleDongle. + + + When packet command mode is enabled, you can monitor the link + by watching the lights on the TeleDongle and TeleMetrum + devices. The red LED will flash each time TeleDongle or + TeleMetrum transmit a packet while the green LED will light up + on TeleDongle while it is waiting to receive a packet from + TeleMetrum. + +
+
+ Monitor Flight + Receive, Record and Display Telemetry Data + + 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. + + + 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. + + + The radio channel being monitored by the TeleDongle device is + displayed at the top of the window. You can configure the + channel by clicking on the channel box and selecting the desired + channel. AltosUI remembers the last channel selected for each + TeleDongle and selects that automatically the next time you use + that device. + + + Below the TeleDongle channel selector, the window contains a few + significant pieces of information about the TeleMetrum providing + the telemetry data stream: + + - - Barometric pressure sensor good to 45k feet MSL. - + The TeleMetrum callsign - - 1-axis high-g accelerometer for motor characterization, capable of - +/- 50g using default part. + The TeleMetrum serial number + + + The flight number. Each TeleMetrum remembers how many + times it has flown. - On-board, integrated GPS receiver with 5hz update rate capability. + The rocket flight state. Each flight passes through several + states including Pad, Boost, Fast, Coast, Drogue, Main and + Landed. - On-board 1 megabyte non-volatile memory for flight data storage. + The Received Signal Strength Indicator value. This lets + you know how strong a signal TeleDongle is receiving. The + radio inside TeleDongle operates down to about -99dBm; + weaker signals may not be receiveable. The packet link uses + error correction and detection techniques which prevent + incorrect data from being reported. + + + Finally, the largest portion of the window contains a set of + tabs, each of which contain some information about the rocket. + They're arranged in 'flight order' so that as the flight + progresses, the selected tab automatically switches to display + data relevant to the current state of the flight. You can select + other tabs at any time. The final 'table' tab contains all of + the telemetry data in one place. + +
+ Launch Pad + + 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: + + + + Battery Voltage. This indicates whether the LiPo battery + powering the TeleMetrum has sufficient charge to last for + the duration of the flight. A value of more than + 3.7V is required for a 'GO' status. + + + + + Apogee Igniter Voltage. This indicates whether the apogee + igniter has continuity. If the igniter has a low + resistance, then the voltage measured here will be close + to the LiPo battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + + + + Main Igniter Voltage. This indicates whether the main + igniter has continuity. If the igniter has a low + resistance, then the voltage measured here will be close + to the LiPo battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + + + + GPS Locked. This indicates whether the GPS receiver is + currently able to compute position information. GPS requires + at least 4 satellites to compute an accurate position. + + + + + GPS Ready. This indicates whether GPS has reported at least + 10 consecutive positions without losing lock. This ensures + that the GPS receiver has reliable reception from the + satellites. + + + + + The LaunchPad tab also shows the computed launch pad position + and altitude, averaging many reported positions to improve the + accuracy of the fix. + + +
+
+ Ascent + + This tab is shown during Boost, Fast and Coast + phases. The information displayed here helps monitor the + rocket as it heads towards apogee. + + + The height, speed and acceleration are shown along with the + maxium values for each of them. This allows you to quickly + answer the most commonly asked questions you'll hear during + flight. + + + The current latitude and longitude reported by the GPS are + also shown. Note that under high acceleration, these values + may not get updated as the GPS receiver loses position + fix. Once the rocket starts coasting, the receiver should + start reporting position again. + + + Finally, the current igniter voltages are reported as in the + Launch Pad tab. This can help diagnose deployment failures + caused by wiring which comes loose under high acceleration. + +
+
+ Descent + + Once the rocket has reached apogee and (we hope) activated the + apogee charge, attention switches to tracking the rocket on + the way back to the ground, and for dual-deploy flights, + waiting for the main charge to fire. + + + To monitor whether the apogee charge operated correctly, the + current descent rate is reported along with the current + height. Good descent rates generally range from 15-30m/s. + + + To help locate the rocket in the sky, use the elevation and + bearing information to figure out where to look. Elevation is + in degrees above the horizon. Bearing is reported in degrees + relative to true north. Range can help figure out how big the + rocket will appear. Note that all of these values are relative + to the pad location. If the elevation is near 90°, the rocket + is over the pad, not over you. + + + Finally, the igniter voltages are reported in this tab as + well, both to monitor the main charge as well as to see what + the status of the apogee charge is. + +
+
+ Landed + + Once the rocket is on the ground, attention switches to + recovery. While the radio signal is generally lost once the + rocket is on the ground, the last reported GPS position is + generally within a short distance of the actual landing location. + + + The last reported GPS position is reported both by + latitude and longitude as well as a bearing and distance from + the launch pad. The distance should give you a good idea of + whether you'll want to walk or hitch a ride. Take the reported + latitude and longitude and enter them into your handheld GPS + unit and have that compute a track to the landing location. + + + Finally, the maximum height, speed and acceleration reported + during the flight are displayed for your admiring observers. + +
+
+
+ Save Flight Data + + TeleMetrum records flight data to its internal flash memory. + This data is recorded at a much higher rate than the telemetry + system can handle, and is not subject to radio drop-outs. As + such, it provides a more complete and precise record of the + flight. The 'Save Flight Data' button allows you to read the + flash memory and write it to disk. + + + Clicking on the 'Save Flight Data' button brings up a list of + connected TeleMetrum and TeleDongle devices. If you select a + TeleMetrum device, the flight data will be downloaded from that + device directly. If you select a TeleDongle device, flight data + will be downloaded from a TeleMetrum device connected via the + packet command link to the specified TeleDongle. See the chapter + on Packet Command Mode for more information about this. + + + The filename for the data is computed automatically from the recorded + flight date, TeleMetrum serial number and flight number + information. + +
+
+ Replay Flight + + Select this button and you are prompted to select a flight + record file, either a .telem file recording telemetry data or a + .eeprom file containing flight data saved from the TeleMetrum + flash memory. + + + Once a flight record is selected, the flight monitor interface + is displayed and the flight is re-enacted in real time. Check + the Monitor Flight chapter above to learn how this window operates. + +
+
+ Graph Data + + This section should be written by AJ. + +
+
+ Export Data + + This tool takes the raw data files and makes them available for + external analysis. When you select this button, you are prompted to select a flight + data file (either .eeprom or .telem will do, remember that + .eeprom files contain higher resolution and more continuous + data). Next, a second dialog appears which is used to select + where to write the resulting file. It has a selector to choose + between CSV and KML file formats. + +
+ Comma Separated Value Format + + This is a text file containing the data in a form suitable for + import into a spreadsheet or other external data analysis + tool. The first few lines of the file contain the version and + configuration information from the TeleMetrum device, then + there is a single header line which labels all of the + fields. All of these lines start with a '#' character which + most tools can be configured to skip over. + + + The remaining lines of the file contain the data, with each + field separated by a comma and at least one space. All of + the sensor values are converted to standard units, with the + barometric data reported in both pressure, altitude and + height above pad units. + +
+
+ Keyhole Markup Language (for Google Earth) + + This is the format used by + Googleearth to provide an overlay within that + application. With this, you can use Googleearth to see the + whole flight path in 3D. + +
+
+
+ Configure TeleMetrum + + Select this button and then select either a TeleMetrum or + TeleDongle Device from the list provided. Selecting a TeleDongle + device will use Packet Comamnd Mode to configure remote + TeleMetrum device. Learn how to use this in the Packet Command + Mode chapter. + + + The first few lines of the dialog provide information about the + connected TeleMetrum device, including the product name, + software version and hardware serial number. Below that are the + individual configuration entries. + + + At the bottom of the dialog, there are four buttons: + + - USB interface for battery charging, configuration, and data recovery. + Save. This writes any changes to the TeleMetrum + configuration parameter block in flash memory. If you don't + press this button, any changes you make will be lost. - Fully integrated support for LiPo rechargeable batteries. + Reset. This resets the dialog to the most recently saved values, + erasing any changes you have made. - Uses LiPo to fire e-matches, support for optional separate pyro - battery if needed. + Reboot. This reboots the TeleMetrum device. Use this to + switch from idle to pad mode by rebooting once the rocket is + oriented for flight. - 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. + Close. This closes the dialog. Any unsaved changes will be + lost. - - - Handling Precautions - - TeleMetrum is a sophisticated electronic device. When handled gently and - properly installed in an airframe, it will deliver impressive results. - However, like all electronic devices, there are some precautions you - must take. - - - The Lithium Polymer rechargeable batteries used with TeleMetrum have an - extraordinary power density. This is great because we can fly with - much less battery mass than if we used alkaline batteries or previous - generation rechargeable batteries... but if they are punctured - or their leads are allowed to short, they can and will release their - energy very rapidly! - Thus we recommend that you take some care when handling our batteries - and consider giving them some extra protection in your airframe. We - often wrap them in suitable scraps of closed-cell packing foam before - strapping them down, for example. - - - The TeleMetrum barometric sensor is sensitive to sunlight. In normal - mounting situations, it and all of the other surface mount components - are "down" towards whatever the underlying mounting surface is, so - this is not normally a problem. Please consider this, though, when - designing an installation, for example, in a 29mm airframe with a - see-through plastic payload bay. - - - The TeleMetrum barometric sensor sampling port must be able to - "breathe", - both by not being covered by foam or tape or other materials that might - directly block the hole on the top of the sensor, but also by having a - suitable static vent to outside air. - - - As with all other rocketry electronics, TeleMetrum must be protected - from exposure to corrosive motor exhaust and ejection charge gasses. - - - - Hardware Overview - - TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to - fit inside coupler for 29mm airframe tubing, but using it in a tube that - small in diameter may require some creativity in mounting and wiring - to succeed! The default 1/4 - wave UHF wire antenna attached to the center of the nose-cone end of - the board is about 7 inches long, and wiring for a power switch and - the e-matches for apogee and main ejection charges depart from the - fin can end of the board. Given all this, an ideal "simple" avionics - bay for TeleMetrum should have at least 10 inches of interior length. - - - A typical TeleMetrum installation using the on-board GPS antenna and - default wire UHF antenna involves attaching only a suitable - Lithium Polymer battery, a single pole switch for power on/off, and - two pairs of wires connecting e-matches for the apogee and main ejection - charges. - - - By default, we use the unregulated output of the LiPo battery directly - to fire ejection charges. This works marvelously with standard - low-current e-matches like the J-Tek from MJG Technologies, and with - Quest Q2G2 igniters. However, if you - want or need to use a separate pyro battery, you can do so by adding - a second 2mm connector to position B2 on the board and cutting the - thick pcb trace connecting the LiPo battery to the pyro circuit between - the two silk screen marks on the surface mount side of the board shown - here [insert photo] - - - We offer two choices of pyro and power switch connector, or you can - choose neither and solder wires directly to the board. All three choices - are reasonable depending on the constraints of your airframe. Our - favorite option when there is sufficient room above the board is to use - the Tyco pin header with polarization and locking. If you choose this - option, you crimp individual wires for the power switch and e-matches - into a mating connector, and installing and removing the TeleMetrum - board from an airframe is as easy as plugging or unplugging two - connectors. If the airframe will not support this much height or if - you want to be able to directly attach e-match leads to the board, we - offer a screw terminal block. This is very similar to what most other - altimeter vendors provide and so may be the most familiar option. - You'll need a very small straight blade screwdriver to connect - and disconnect the board in this case, such as you might find in a - jeweler's screwdriver set. Finally, you can forego both options and - solder wires directly to the board, which may be the best choice for - minimum diameter and/or minimum mass designs. - - - For most airframes, the integrated GPS antenna and wire UHF antenna are - a great combination. However, if you are installing in a carbon-fiber - electronics bay which is opaque to RF signals, you may need to use - off-board external antennas instead. In this case, you can order - TeleMetrum with an SMA connector for the UHF antenna connection, and - you can unplug the integrated GPS antenna and select an appropriate - off-board GPS antenna with cable terminating in a U.FL connector. - - - - Operation + + The rest of the dialog contains the parameters to be configured. +
- Firmware Modes - - The AltOS firmware build for TeleMetrum has two fundamental modes, - "idle" and "flight". Which of these modes the firmware operates in - is determined by the orientation of the rocket (well, actually the - board, of course...) at the time power is switched on. If the rocket - is "nose up", then TeleMetrum assumes it's on a rail or rod being - prepared for launch, so the firmware chooses flight mode. However, - if the rocket is more or less horizontal, the firmware instead enters - idle mode. - - - At power on, you will hear three beeps - ("S" in Morse code for startup) and then a pause while - TeleMetrum completes initialization and self tests, and decides which - mode to enter next. - - - In flight or "pad" mode, TeleMetrum turns on the GPS system, - engages the flight - state machine, goes into transmit-only mode on the RF link sending - telemetry, and waits for launch to be detected. Flight mode is - indicated by an audible "di-dah-dah-dit" ("P" for pad) on the - beeper, followed by - beeps indicating the state of the pyrotechnic igniter continuity. - One beep indicates apogee continuity, two beeps indicate - main continuity, three beeps indicate both apogee and main continuity, - and one longer "brap" sound indicates no continuity. For a dual - deploy flight, make sure you're getting three beeps before launching! - For apogee-only or motor eject flights, do what makes sense. - - - In idle mode, you will hear an audible "di-dit" ("I" for idle), and - the normal flight state machine is disengaged, thus - no ejection charges will fire. TeleMetrum also listens on the RF - link when in idle mode for packet mode requests sent from TeleDongle. - Commands can be issued to a TeleMetrum in idle mode over either - USB or the RF link equivalently. - Idle mode is useful for configuring TeleMetrum, for extracting data - from the on-board storage chip after flight, and for ground testing - pyro charges. - - - One "neat trick" of particular value when TeleMetrum is used with very - large airframes, is that you can power the board up while the rocket - is horizontal, such that it comes up in idle mode. Then you can - raise the airframe to launch position, use a TeleDongle to open - a packet connection, and issue a 'reset' command which will cause - TeleMetrum to reboot, realize it's now nose-up, and thus choose - flight mode. This is much safer than standing on the top step of a - rickety step-ladder or hanging off the side of a launch tower with - a screw-driver trying to turn on your avionics before installing - igniters! + Main Deploy Altitude + + This sets the altitude (above the recorded pad altitude) at + which the 'main' igniter will fire. The drop-down menu shows + some common values, but you can edit the text directly and + choose whatever you like. If the apogee charge fires below + this altitude, then the main charge will fire two seconds + after the apogee charge fires.
- GPS - - TeleMetrum includes a complete GPS receiver. See a later section for - a brief explanation of how GPS works that will help you understand - the information in the telemetry stream. The bottom line is that - the TeleMetrum GPS receiver needs to lock onto at least four - satellites to obtain a solid 3 dimensional position fix and know - what time it is! - - - TeleMetrum provides backup power to the GPS chip any time a LiPo - battery is connected. This allows the receiver to "warm start" on - the launch rail much faster than if every power-on were a "cold start" - for the GPS receiver. In typical operations, powering up TeleMetrum - on the flight line in idle mode while performing final airframe - preparation will be sufficient to allow the GPS receiver to cold - start and acquire lock. Then the board can be powered down during - RSO review and installation on a launch rod or rail. When the board - is turned back on, the GPS system should lock very quickly, typically - long before igniter installation and return to the flight line are - complete. + Apogee Delay + + When flying redundant electronics, it's often important to + ensure that multiple apogee charges don't fire at precisely + the same time as that can overpressurize the apogee deployment + bay and cause a structural failure of the airframe. The Apogee + Delay parameter tells the flight computer to fire the apogee + charge a certain number of seconds after apogee has been + detected.
- Ground Testing + Radio Channel - An important aspect of preparing a rocket using electronic deployment - for flight is ground testing the recovery system. Thanks - to the bi-directional RF link central to the Altus Metrum system, - this can be accomplished in a TeleMetrum-equipped rocket without as - much work as you may be accustomed to with other systems. It can - even be fun! + This configures which of the 10 radio channels to use for both + telemetry and packet command mode. Note that if you set this + value via packet command mode, you will have to reconfigure + the TeleDongle channel before you will be able to use packet + command mode again. +
+
+ Radio Calibration - Just prep the rocket for flight, then power up TeleMetrum while the - airframe is horizontal. This will cause the firmware to go into - "idle" mode, in which the normal flight state machine is disabled and - charges will not fire without manual command. Then, establish an - RF packet connection from a TeleDongle-equipped computer using the - P command from a safe distance. You can now command TeleMetrum to - fire the apogee or main charges to complete your testing. + The radios in every Altus Metrum device are calibrated at the + factory to ensure that they transmit and receive on the + specified frequency for each channel. You can adjust that + calibration by changing this value. To change the TeleDongle's + calibration, you must reprogram the unit completely. +
+
+ Callsign - In order to reduce the chance of accidental firing of pyrotechnic - charges, the command to fire a charge is intentionally somewhat - difficult to type, and the built-in help is slightly cryptic to - prevent accidental echoing of characters from the help text back at - the board from firing a charge. The command to fire the apogee - drogue charge is 'i DoIt drogue' and the command to fire the main - charge is 'i DoIt main'. + This sets the callsign included in each telemetry packet. Set this + as needed to conform to your local radio regulations.
+
+
+ Configure AltosUI + + This button presents a dialog so that you can configure the AltosUI global settings. +
- Radio Link - - The chip our boards are based on incorporates an RF transceiver, but - it's not a full duplex system... each end can only be transmitting or - receiving at any given moment. So we had to decide how to manage the - link. - - - By design, TeleMetrum firmware listens for an RF connection when - it's in "idle mode" (turned on while the rocket is horizontal), which - allows us to use the RF link to configure the rocket, do things like - ejection tests, and extract data after a flight without having to - crack open the airframe. However, when the board is in "flight - mode" (turned on when the rocket is vertical) the TeleMetrum only - transmits and doesn't listen at all. That's because we want to put - ultimate priority on event detection and getting telemetry out of - the rocket and out over - the RF link in case the rocket crashes and we aren't able to extract - data later... - - - We don't use a 'normal packet radio' mode because they're just too - inefficient. The GFSK modulation we use is just FSK with the - baseband pulses passed through a - Gaussian filter before they go into the modulator to limit the - transmitted bandwidth. When combined with the hardware forward error - correction support in the cc1111 chip, this allows us to have a very - robust 38.4 kilobit data link with only 10 milliwatts of transmit power, - a whip antenna in the rocket, and a hand-held Yagi on the ground. We've - had flights to above 21k feet AGL with good reception, and calculations - suggest we should be good to well over 40k feet AGL with a 5-element yagi on - the ground. We hope to fly boards to higher altitudes soon, and would - of course appreciate customer feedback on performance in higher - altitude flights! + Voice Settings + + AltosUI provides voice annoucements during flight so that you + can keep your eyes on the sky and still get information about + the current flight status. However, sometimes you don't want + to hear them. + + + Enable—turns all voice announcements on and off + + + + Test Voice—Plays a short message allowing you to verify + that the audio systme is working and the volume settings + are reasonable + + +
- Configurable Parameters + Log Directory - Configuring a TeleMetrum board for flight is very simple. Because we - have both acceleration and pressure sensors, there is no need to set - a "mach delay", for example. The few configurable parameters can all - be set using a simple terminal program over the USB port or RF link - via TeleDongle. + AltosUI logs all telemetry data and saves all TeleMetrum flash + data to this directory. This directory is also used as the + staring point when selecting data files for display or export. + + + Click on the directory name to bring up a directory choosing + dialog, select a new directory and click 'Select Directory' to + change where AltosUI reads and writes data files. -
- Radio Channel - - Our firmware supports 10 channels. The default channel 0 corresponds - to a center frequency of 434.550 Mhz, and channels are spaced every - 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz. - At any given launch, we highly recommend coordinating who will use - each channel and when to avoid interference. And of course, both - TeleMetrum and TeleDongle must be configured to the same channel to - successfully communicate with each other. - - - To set the radio channel, use the 'c r' command, like 'c r 3' to set - channel 3. - As with all 'c' sub-commands, follow this with a 'c w' to write the - change to the parameter block in the on-board DataFlash chip on - your TeleMetrum board if you want the change to stay in place across reboots. - -
-
- Apogee Delay - - Apogee delay is the number of seconds after TeleMetrum detects flight - apogee that the drogue charge should be fired. In most cases, this - should be left at the default of 0. However, if you are flying - redundant electronics such as for an L3 certification, you may wish - to set one of your altimeters to a positive delay so that both - primary and backup pyrotechnic charges do not fire simultaneously. - - - To set the apogee delay, use the [FIXME] 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. - - - Please note that the TeleMetrum apogee detection algorithm always - fires a fraction of a second *after* apogee. If you are also flying - an altimeter like the PerfectFlite MAWD, which only supports selecting - 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0 - seconds delay and set the TeleMetrum to fire your backup 2 or 3 - seconds later to avoid any chance of both charges firing - simultaneously. We've flown several airframes this way quite happily, - including Keith's successful L3 cert. - -
-
- Main Deployment Altitude - - By default, TeleMetrum will fire the main deployment charge at an - elevation of 250 meters (about 820 feet) above ground. We think this - is a good elevation for most airframes, but feel free to change this - to suit. In particular, if you are flying two altimeters, you may - wish to set the - deployment elevation for the backup altimeter to be something lower - than the primary so that both pyrotechnic charges don't fire - simultaneously. - - - To set the main deployment altitude, use the [FIXME] 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. - -
- Calibration + Callsign - There are only two calibrations required for a TeleMetrum board, and - only one for TeleDongle. + This value is used in command packet mode and is transmitted + in each packet sent from TeleDongle and received from + TeleMetrum. It is not used in telemetry mode as that transmits + packets only from TeleMetrum to TeleDongle. Configure this + with the AltosUI operators callsign as needed to comply with + your local radio regulations. -
- Radio Frequency - - 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. - - - To calibrate the radio frequency, connect the UHF antenna port to a - frequency counter, set the board to channel 0, and use the 'C' - command to generate a CW carrier. Wait for the transmitter temperature - to stabilize and the frequency to settle down. - Then, divide 434.550 Mhz by the - measured frequency and multiply by the current radio cal value show - in the 'c s' command. For an unprogrammed board, the default value - is 1186611. Take the resulting integer and program it using the 'c f' - command. Testing with the 'C' command again should show a carrier - within a few tens of Hertz of the intended frequency. - As with all 'c' sub-commands, follow this with a 'c w' to write the - change to the parameter block in the on-board DataFlash chip. - -
-
- Accelerometer - - The accelerometer we use has its own 5 volt power supply and - the output must be passed through a resistive voltage divider to match - the input of our 3.3 volt ADC. This means that unlike the barometric - sensor, the output of the acceleration sensor is not ratiometric to - the ADC converter, and calibration is required. We also support the - use of any of several accelerometers from a Freescale family that - includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity, - a simple 2-point calibration yields acceptable results capturing both - the different sensitivities and ranges of the different accelerometer - parts and any variation in power supply voltages or resistor values - in the divider network. - - - 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. - - - 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. - -
- - - Using Altus Metrum Products +
+
+ Flash Image + + This reprograms any Altus Metrum device by using a TeleMetrum or + TeleDongle as a programming dongle. Please read the directions + for connecting the programming cable in the main TeleMetrum + manual before reading these instructions. + + + Once you have the programmer and target devices connected, + push the 'Flash Image' button. That will present a dialog box + listing all of the connected devices. Carefully select the + programmer device, not the device to be programmed. + + + Next, select the image to flash to the device. These are named + with the product name and firmware version. The file selector + will start in the directory containing the firmware included + with the AltosUI package. Navigate to the directory containing + the desired firmware if it isn't there. + + + Next, a small dialog containing the device serial number and + RF calibration values should appear. If these values are + incorrect (possibly due to a corrupted image in the device), + enter the correct values here. + + + Finally, a dialog containing a progress bar will follow the + programming process. + + + When programming is complete, the target device will + reboot. Note that if the target device is connected via USB, you + will have to unplug it and then plug it back in for the USB + connection to reset so that you can communicate with the device + again. + +
+
+ Fire Igniter + + +
+
+ + Using Altus Metrum Products +
+ Being Legal + + First off, in the US, you need an [amateur radio license](../Radio) or + other authorization to legally operate the radio transmitters that are part + of our products. +
- Being Legal + In the Rocket - First off, in the US, you need an [amateur radio license](../Radio) or - other authorization to legally operate the radio transmitters that are part - of our products. + In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and + a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V + alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours. + + + By default, we ship TeleMetrum with a simple wire antenna. If your + electronics bay or the airframe it resides within is made of carbon fiber, + which is opaque to RF signals, you may choose to have an SMA connector + installed so that you can run a coaxial cable to an antenna mounted + elsewhere in the rocket. -
- In the Rocket - - In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and - a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V - alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours. - - - By default, we ship TeleMetrum with a simple wire antenna. If your - electronics bay or the airframe it resides within is made of carbon fiber, - which is opaque to RF signals, you may choose to have an SMA connector - installed so that you can run a coaxial cable to an antenna mounted - elsewhere in the rocket. - -
-
- On the Ground - - To receive the data stream from the rocket, you need an antenna and short - feedline connected to one of our [TeleDongle](../TeleDongle) units. The - TeleDongle in turn plugs directly into the USB port on a notebook - computer. Because TeleDongle looks like a simple serial port, your computer - does not require special device drivers... just plug it in. - - - Right now, all of our application software is written for Linux. However, - because we understand that many people run Windows or MacOS, we are working - on a new ground station program written in Java that should work on all - operating systems. - - - After the flight, you can use the RF link to extract the more detailed data - logged in the rocket, or you can use a mini USB cable to plug into the - TeleMetrum board directly. Pulling out the data without having to open up - the rocket is pretty cool! A USB cable is also how you charge the LiPo - battery, so you'll want one of those anyway... the same cable used by lots - of digital cameras and other modern electronic stuff will work fine. - - - If your rocket lands out of sight, you may enjoy having a hand-held GPS - receiver, so that you can put in a waypoint for the last reported rocket - position before touch-down. This makes looking for your rocket a lot like - Geo-Cacheing... just go to the waypoint and look around starting from there. - - - You may also enjoy having a ham radio "HT" that covers the 70cm band... you - can use that with your antenna to direction-find the rocket on the ground - the same way you can use a Walston or Beeline tracker. This can be handy - if the rocket is hiding in sage brush or a tree, or if the last GPS position - doesn't get you close enough because the rocket dropped into a canyon, or - the wind is blowing it across a dry lake bed, or something like that... Keith - and Bdale both currently own and use the Yaesu VX-7R at launches. - - - So, to recap, on the ground the hardware you'll need includes: - - - an antenna and feedline - - - a TeleDongle - - - a notebook computer - - - optionally, a handheld GPS receiver - - - optionally, an HT or receiver covering 435 Mhz - - - - - The best hand-held commercial directional antennas we've found for radio - direction finding rockets are from - - Arrow Antennas. - - The 440-3 and 440-5 are both good choices for finding a - TeleMetrum-equipped rocket when used with a suitable 70cm HT. - -
-
- Data Analysis - - Our software makes it easy to log the data from each flight, both the - telemetry received over the RF link during the flight itself, and the more - complete data log recorded in the DataFlash memory on the TeleMetrum - board. Once this data is on your computer, our postflight tools make it - easy to quickly get to the numbers everyone wants, like apogee altitude, - max acceleration, and max velocity. You can also generate and view a - standard set of plots showing the altitude, acceleration, and - velocity of the rocket during flight. And you can even export a data file - useable with Google Maps and Google Earth for visualizing the flight path - in two or three dimensions! - - - Our ultimate goal is to emit a set of files for each flight that can be - published as a web page per flight, or just viewed on your local disk with - a web browser. - -
-
- Future Plans - - In the future, we intend to offer "companion boards" for the rocket that will - plug in to TeleMetrum to collect additional data, provide more pyro channels, - and so forth. A reference design for a companion board will be documented - soon, and will be compatible with open source Arduino programming tools. - - - We are also working on the design of a hand-held ground terminal that will - allow monitoring the rocket's status, collecting data during flight, and - logging data after flight without the need for a notebook computer on the - flight line. Particularly since it is so difficult to read most notebook - screens in direct sunlight, we think this will be a great thing to have. - - - Because all of our work is open, both the hardware designs and the software, - if you have some great idea for an addition to the current Altus Metrum family, - feel free to dive in and help! Or let us know what you'd like to see that - we aren't already working on, and maybe we'll get excited about it too... - -
- - How GPS Works - + On the Ground + + To receive the data stream from the rocket, you need an antenna and short + feedline connected to one of our [TeleDongle](../TeleDongle) units. The + TeleDongle in turn plugs directly into the USB port on a notebook + computer. Because TeleDongle looks like a simple serial port, your computer + does not require special device drivers... just plug it in. + + + Right now, all of our application software is written for Linux. However, + because we understand that many people run Windows or MacOS, we are working + on a new ground station program written in Java that should work on all + operating systems. + - Placeholder. + After the flight, you can use the RF link to extract the more detailed data + logged in the rocket, or you can use a mini USB cable to plug into the + TeleMetrum board directly. Pulling out the data without having to open up + the rocket is pretty cool! A USB cable is also how you charge the LiPo + battery, so you'll want one of those anyway... the same cable used by lots + of digital cameras and other modern electronic stuff will work fine. + + + If your rocket lands out of sight, you may enjoy having a hand-held GPS + receiver, so that you can put in a waypoint for the last reported rocket + position before touch-down. This makes looking for your rocket a lot like + Geo-Cacheing... just go to the waypoint and look around starting from there. + + + You may also enjoy having a ham radio "HT" that covers the 70cm band... you + can use that with your antenna to direction-find the rocket on the ground + the same way you can use a Walston or Beeline tracker. This can be handy + if the rocket is hiding in sage brush or a tree, or if the last GPS position + doesn't get you close enough because the rocket dropped into a canyon, or + the wind is blowing it across a dry lake bed, or something like that... Keith + and Bdale both currently own and use the Yaesu VX-7R at launches. + + + So, to recap, on the ground the hardware you'll need includes: + + + an antenna and feedline + + + a TeleDongle + + + a notebook computer + + + optionally, a handheld GPS receiver + + + optionally, an HT or receiver covering 435 Mhz + + + + + The best hand-held commercial directional antennas we've found for radio + direction finding rockets are from + + Arrow Antennas. + + The 440-3 and 440-5 are both good choices for finding a + TeleMetrum-equipped rocket when used with a suitable 70cm HT.
- - - +
+ Data Analysis + + Our software makes it easy to log the data from each flight, both the + telemetry received over the RF link during the flight itself, and the more + complete data log recorded in the DataFlash memory on the TeleMetrum + board. Once this data is on your computer, our postflight tools make it + easy to quickly get to the numbers everyone wants, like apogee altitude, + max acceleration, and max velocity. You can also generate and view a + standard set of plots showing the altitude, acceleration, and + velocity of the rocket during flight. And you can even export a data file + useable with Google Maps and Google Earth for visualizing the flight path + in two or three dimensions! + + + Our ultimate goal is to emit a set of files for each flight that can be + published as a web page per flight, or just viewed on your local disk with + a web browser. + +
+
+ Future Plans + + In the future, we intend to offer "companion boards" for the rocket that will + plug in to TeleMetrum to collect additional data, provide more pyro channels, + and so forth. A reference design for a companion board will be documented + soon, and will be compatible with open source Arduino programming tools. + + + We are also working on the design of a hand-held ground terminal that will + allow monitoring the rocket's status, collecting data during flight, and + logging data after flight without the need for a notebook computer on the + flight line. Particularly since it is so difficult to read most notebook + screens in direct sunlight, we think this will be a great thing to have. + + + Because all of our work is open, both the hardware designs and the software, + if you have some great idea for an addition to the current Altus Metrum family, + feel free to dive in and help! Or let us know what you'd like to see that + we aren't already working on, and maybe we'll get excited about it too... + +
+
+
+ + How GPS Works + + + Placeholder. + +
+
+ + -- cgit v1.2.3 From cb08bc264c71ca972027392b42f347a03df76a43 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 24 Nov 2010 22:55:08 -0800 Subject: doc: Rename telemetrum-doc as altusmetrum Signed-off-by: Keith Packard --- doc/Makefile | 10 +- doc/altusmetrum.xsl | 1734 +++++++++++++++++++++++++++++++++++++++++++++++ doc/telemetrum-doc.xsl | 1735 ------------------------------------------------ 3 files changed, 1739 insertions(+), 1740 deletions(-) create mode 100644 doc/altusmetrum.xsl delete mode 100644 doc/telemetrum-doc.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 65917ea2..14f9bee2 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,8 +2,8 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -HTML=telemetrum-doc.html altos.html -PDF=telemetrum-doc.pdf altos.pdf +HTML=altusmetrum.html altos.html +PDF=altusmetrum.pdf altos.pdf DOC=$(HTML) $(PDF) HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl @@ -23,7 +23,7 @@ PDFSTYLE= all: $(HTML) $(PDF) publish: $(DOC) - cp $(DOC)telemetrum-doc.html home/bdale/web/altusmetrum/TeleMetrum/doc/ + cp $(DOC)altusmetrum.html home/bdale/web/altusmetrum/TeleMetrum/doc/ (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/TeleMetrum/doc/* ; git push) clean: @@ -32,6 +32,6 @@ clean: distclean: rm -f *.html *.pdf *.fo -indent: telemetrum-doc.xsl - xmlindent -i 2 < telemetrum-doc.xsl > telemetrum-doc.new +indent: altusmetrum.xsl + xmlindent -i 2 < altusmetrum.xsl > altusmetrum.new diff --git a/doc/altusmetrum.xsl b/doc/altusmetrum.xsl new file mode 100644 index 00000000..8d4230f8 --- /dev/null +++ b/doc/altusmetrum.xsl @@ -0,0 +1,1734 @@ + + + + The Altus Metrum System + An Owner's Manual for TeleMetrum and TeleDongle Devices + + + Bdale + Garbee + + + Keith + Packard + + + Bob + Finch + + + Anthony + Towns + + + 2010 + Bdale Garbee and Keith Packard + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 0.8 + 24 November 2010 + Updated for software version 0.8 + + + + + + Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing "The + Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter + Kit" which has turned into the Getting Started chapter in this + book. Bob was one of our first customers for a production + TeleMetrum, and the enthusiasm that led to his contribution of + this section is immensely gratifying and highy appreciated! + + + And thanks to Anthony (AJ) Towns for contributing the + AltosUI graphing and site map code and documentation. Free + software means that our customers and friends can become our + collaborators, and we certainly appreciate this level of + contribution. + + + Have fun using these products, and we hope to meet all of you + out on the rocket flight line somewhere. + +Bdale Garbee, KB0G +NAR #87103, TRA #12201 + +Keith Packard, KD7SQG +NAR #88757, TRA #12200 + + + + + Introduction and Overview + + Welcome to the Altus Metrum community! Our circuits and software reflect + our passion for both hobby rocketry and Free Software. We hope their + capabilities and performance will delight you in every way, but by + releasing all of our hardware and software designs under open licenses, + we also hope to empower you to take as active a role in our collective + future as you wish! + + + The focal point of our community is TeleMetrum, a dual deploy altimeter + with fully integrated GPS and radio telemetry as standard features, and + a "companion interface" that will support optional capabilities in the + future. + + + Complementing TeleMetrum is TeleDongle, a USB to RF interface for + communicating with TeleMetrum. Combined with your choice of antenna and + notebook computer, TeleDongle and our associated user interface software + form a complete ground station capable of logging and displaying in-flight + telemetry, aiding rocket recovery, then processing and archiving flight + data for analysis and review. + + + More products will be added to the Altus Metrum family over time, and + we currently envision that this will be a single, comprehensive manual + for the entire product family. + + + + Getting Started + + The first thing to do after you check the inventory of parts in your + "starter kit" is to charge the battery by plugging it into the + corresponding socket of the TeleMetrum and then using the USB A to + mini B + cable to plug the Telemetrum into your computer's USB socket. The + TeleMetrum circuitry will charge the battery whenever it is plugged + in, because the TeleMetrum's on-off switch does NOT control the + charging circuitry. When the GPS chip is initially searching for + satellites, TeleMetrum will consume more current than it can pull + from the usb port, so the battery must be attached in order to get + satellite lock. Once GPS is locked, the current consumption goes back + down enough to enable charging while + running. So it's a good idea to fully charge the battery as your + first item of business so there is no issue getting and maintaining + satellite lock. The yellow charge indicator led will go out when the + battery is nearly full and the charger goes to trickle charge. It + can take several hours to fully recharge a deeply discharged battery. + + + The other active device in the starter kit is the TeleDongle USB to + RF interface. If you plug it in to your Mac or Linux computer it should + "just work", showing up as a serial port device. Windows systems need + driver information that is part of the AltOS download to know that the + existing USB modem driver will work. If you are using Linux and are + having problems, try moving to a fresher kernel (2.6.33 or newer), as + the USB serial driver had ugly bugs in some earlier versions. + + + Next you should obtain and install the AltOS utilities. These include + the AltosUI ground station program, current firmware images for + TeleMetrum and TeleDongle, and a number of standalone utilities that + are rarely needed. Pre-built binary packages are available for Debian + Linux, Microsoft Windows, and recent MacOSX versions. Full sourcecode + and build instructions for some other Linux variants are also available. + The latest version may always be downloaded from + . + + + Both Telemetrum and TeleDongle can be directly communicated + with using USB ports. The first thing you should try after getting + both units plugged into to your computer's usb port(s) is to run + 'ao-list' from a terminal-window to see what port-device-name each + device has been assigned by the operating system. + You will need this information to access the devices via their + respective on-board firmware and data using other command line + programs in the AltOS software suite. + + + To access the device's firmware for configuration you need a terminal + program such as you would use to talk to a modem. The software + authors prefer using the program 'cu' which comes from the UUCP package + on most Unix-like systems such as Linux. An example command line for + cu might be 'cu -l /dev/ttyACM0', substituting the correct number + indicated from running the + ao-list program. Another reasonable terminal program for Linux is + 'cutecom'. The default 'escape' + character used by CU (i.e. the character you use to + issue commands to cu itself instead of sending the command as input + to the connected device) is a '~'. You will need this for use in + only two different ways during normal operations. First is to exit + the program by sending a '~.' which is called a 'escape-disconnect' + and allows you to close-out from 'cu'. The + second use will be outlined later. + + + Both TeleMetrum and TeleDongle share the concept of a two level + command set in their firmware. + The first layer has several single letter commands. Once + you are using 'cu' (or 'cutecom') sending (typing) a '?' + returns a full list of these + commands. The second level are configuration sub-commands accessed + using the 'c' command, for + instance typing 'c?' will give you this second level of commands + (all of which require the + letter 'c' to access). Please note that most configuration options + are stored only in DataFlash memory, and only TeleMetrum has this + memory to save the various values entered like the channel number + and your callsign when powered off. TeleDongle requires that you + set these each time you plug it in, which ao-view can help with. + + + Try setting these config ('c' or second level menu) values. A good + place to start is by setting your call sign. By default, the boards + use 'N0CALL' which is cute, but not exactly legal! + Spend a few minutes getting comfortable with the units, their + firmware, and 'cu' (or possibly 'cutecom'). + For instance, try to send + (type) a 'c r 2' and verify the channel change by sending a 'c s'. + Verify you can connect and disconnect from the units while in your + terminal program by sending the escape-disconnect mentioned above. + + + Note that the 'reboot' command, which is very useful on TeleMetrum, + will likely just cause problems with the dongle. The *correct* way + to reset the dongle is just to unplug and re-plug it. + + + A fun thing to do at the launch site and something you can do while + learning how to use these units is to play with the rf-link access + of the TeleMetrum from the TeleDongle. Be aware that you *must* create + some physical separation between the devices, otherwise the link will + not function due to signal overload in the receivers in each device. + + + Now might be a good time to take a break and read the rest of this + manual, particularly about the two "modes" that the TeleMetrum + can be placed in and how the position of the TeleMetrum when booting + up will determine whether the unit is in "pad" or "idle" mode. + + + You can access a TeleMetrum in idle mode from the Teledongle's USB + connection using the rf link + by issuing a 'p' command to the TeleDongle. Practice connecting and + disconnecting ('~~' while using 'cu') from the TeleMetrum. If + you cannot escape out of the "p" command, (by using a '~~' when in + CU) then it is likely that your kernel has issues. Try a newer version. + + + Using this rf link allows you to configure the TeleMetrum, test + fire e-matches and igniters from the flight line, check pyro-match + continuity and so forth. You can leave the unit turned on while it + is in 'idle mode' and then place the + rocket vertically on the launch pad, walk away and then issue a + reboot command. The TeleMetrum will reboot and start sending data + having changed to the "pad" mode. If the TeleDongle is not receiving + this data, you can disconnect 'cu' from the Teledongle using the + procedures mentioned above and THEN connect to the TeleDongle from + inside 'ao-view'. If this doesn't work, disconnect from the + TeleDongle, unplug it, and try again after plugging it back in. + + + Eventually the GPS will find enough satellites, lock in on them, + and 'ao-view' will both auditorially announce and visually indicate + that GPS is ready. + Now you can launch knowing that you have a good data path and + good satellite lock for flight data and recovery. Remember + you MUST tell ao-view to connect to the TeleDongle explicitly in + order for ao-view to be able to receive data. + + + Both RDF (radio direction finding) tones from the TeleMetrum and + GPS trekking data are available and together are very useful in + locating the rocket once it has landed. (The last good GPS data + received before touch-down will be on the data screen of 'ao-view'.) + + + Once you have recovered the rocket you can download the eeprom + contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over + either a USB cable or over the radio link using TeleDongle. + And by following the man page for 'ao-postflight' you can create + various data output reports, graphs, and even kml data to see the + flight trajectory in google-earth. (Moving the viewing angle making + sure to connect the yellow lines while in google-earth is the proper + technique.) + + + As for ao-view.... some things are in the menu but don't do anything + very useful. The developers have stopped working on ao-view to focus + on a new, cross-platform ground station program. So ao-view may or + may not be updated in the future. Mostly you just use + the Log and Device menus. It has a wonderful display of the incoming + flight data and I am sure you will enjoy what it has to say to you + once you enable the voice output! + +
+ FAQ + + The altimeter (TeleMetrum) seems to shut off when disconnected from the + computer. Make sure the battery is adequately charged. Remember the + unit will pull more power than the USB port can deliver before the + GPS enters "locked" mode. The battery charges best when TeleMetrum + is turned off. + + + It's impossible to stop the TeleDongle when it's in "p" mode, I have + to unplug the USB cable? Make sure you have tried to "escape out" of + this mode. If this doesn't work the reboot procedure for the + TeleDongle *is* to simply unplug it. 'cu' however will retain it's + outgoing buffer IF your "escape out" ('~~') does not work. + At this point using either 'ao-view' (or possibly + 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed + communication. + + + The amber LED (on the TeleMetrum/altimeter) lights up when both + battery and USB are connected. Does this mean it's charging? + Yes, the yellow LED indicates the charging at the 'regular' rate. + If the led is out but the unit is still plugged into a USB port, + then the battery is being charged at a 'trickle' rate. + + + There are no "dit-dah-dah-dit" sound like the manual mentions? + That's the "pad" mode. Weak batteries might be the problem. + It is also possible that the unit is horizontal and the output + is instead a "dit-dit" meaning 'idle'. + + + It's unclear how to use 'ao-view' and other programs when 'cu' + is running. You cannot have more than one program connected to + the TeleDongle at one time without apparent data loss as the + incoming data will not make it to both programs intact. + Disconnect whatever programs aren't currently being used. + + + How do I save flight data? + Live telemetry is written to file(s) whenever 'ao-view' is connected + to the TeleDongle. The file area defaults to ~/altos + but is easily changed using the menus in 'ao-view'. The files that + are written end in '.telem'. The after-flight + data-dumped files will end in .eeprom and represent continuous data + unlike the rf-linked .telem files that are subject to the + turnarounds/data-packaging time slots in the half-duplex rf data path. + See the above instructions on what and how to save the eeprom stored + data after physically retrieving your TeleMetrum. Make sure to save + the on-board data after each flight, as the current firmware will + over-write any previous flight data during a new flight. + +
+
+ + Specifications + + + + Recording altimeter for model rocketry. + + + + + Supports dual deployment (can fire 2 ejection charges). + + + + + 70cm ham-band transceiver for telemetry downlink. + + + + + Barometric pressure sensor good to 45k feet MSL. + + + + + 1-axis high-g accelerometer for motor characterization, capable of + +/- 50g using default part. + + + + + On-board, integrated GPS receiver with 5hz update rate capability. + + + + + On-board 1 megabyte non-volatile memory for flight data storage. + + + + + USB interface for battery charging, configuration, and data recovery. + + + + + Fully integrated support for LiPo rechargeable batteries. + + + + + Uses LiPo to fire e-matches, support for optional separate pyro + battery if needed. + + + + + 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. + + + + + + Handling Precautions + + TeleMetrum is a sophisticated electronic device. When handled gently and + properly installed in an airframe, it will deliver impressive results. + However, like all electronic devices, there are some precautions you + must take. + + + The Lithium Polymer rechargeable batteries used with TeleMetrum have an + extraordinary power density. This is great because we can fly with + much less battery mass than if we used alkaline batteries or previous + generation rechargeable batteries... but if they are punctured + or their leads are allowed to short, they can and will release their + energy very rapidly! + Thus we recommend that you take some care when handling our batteries + and consider giving them some extra protection in your airframe. We + often wrap them in suitable scraps of closed-cell packing foam before + strapping them down, for example. + + + The TeleMetrum barometric sensor is sensitive to sunlight. In normal + mounting situations, it and all of the other surface mount components + are "down" towards whatever the underlying mounting surface is, so + this is not normally a problem. Please consider this, though, when + designing an installation, for example, in a 29mm airframe with a + see-through plastic payload bay. + + + The TeleMetrum barometric sensor sampling port must be able to + "breathe", + both by not being covered by foam or tape or other materials that might + directly block the hole on the top of the sensor, but also by having a + suitable static vent to outside air. + + + As with all other rocketry electronics, TeleMetrum must be protected + from exposure to corrosive motor exhaust and ejection charge gasses. + + + + Hardware Overview + + TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to + fit inside coupler for 29mm airframe tubing, but using it in a tube that + small in diameter may require some creativity in mounting and wiring + to succeed! The default 1/4 + wave UHF wire antenna attached to the center of the nose-cone end of + the board is about 7 inches long, and wiring for a power switch and + the e-matches for apogee and main ejection charges depart from the + fin can end of the board. Given all this, an ideal "simple" avionics + bay for TeleMetrum should have at least 10 inches of interior length. + + + A typical TeleMetrum installation using the on-board GPS antenna and + default wire UHF antenna involves attaching only a suitable + Lithium Polymer battery, a single pole switch for power on/off, and + two pairs of wires connecting e-matches for the apogee and main ejection + charges. + + + By default, we use the unregulated output of the LiPo battery directly + to fire ejection charges. This works marvelously with standard + low-current e-matches like the J-Tek from MJG Technologies, and with + Quest Q2G2 igniters. However, if you + want or need to use a separate pyro battery, you can do so by adding + a second 2mm connector to position B2 on the board and cutting the + thick pcb trace connecting the LiPo battery to the pyro circuit between + the two silk screen marks on the surface mount side of the board shown + here [insert photo] + + + We offer two choices of pyro and power switch connector, or you can + choose neither and solder wires directly to the board. All three choices + are reasonable depending on the constraints of your airframe. Our + favorite option when there is sufficient room above the board is to use + the Tyco pin header with polarization and locking. If you choose this + option, you crimp individual wires for the power switch and e-matches + into a mating connector, and installing and removing the TeleMetrum + board from an airframe is as easy as plugging or unplugging two + connectors. If the airframe will not support this much height or if + you want to be able to directly attach e-match leads to the board, we + offer a screw terminal block. This is very similar to what most other + altimeter vendors provide and so may be the most familiar option. + You'll need a very small straight blade screwdriver to connect + and disconnect the board in this case, such as you might find in a + jeweler's screwdriver set. Finally, you can forego both options and + solder wires directly to the board, which may be the best choice for + minimum diameter and/or minimum mass designs. + + + For most airframes, the integrated GPS antenna and wire UHF antenna are + a great combination. However, if you are installing in a carbon-fiber + electronics bay which is opaque to RF signals, you may need to use + off-board external antennas instead. In this case, you can order + TeleMetrum with an SMA connector for the UHF antenna connection, and + you can unplug the integrated GPS antenna and select an appropriate + off-board GPS antenna with cable terminating in a U.FL connector. + + + + System Operation +
+ Firmware Modes + + The AltOS firmware build for TeleMetrum has two fundamental modes, + "idle" and "flight". Which of these modes the firmware operates in + is determined by the orientation of the rocket (well, actually the + board, of course...) at the time power is switched on. If the rocket + is "nose up", then TeleMetrum assumes it's on a rail or rod being + prepared for launch, so the firmware chooses flight mode. However, + if the rocket is more or less horizontal, the firmware instead enters + idle mode. + + + At power on, you will hear three beeps + ("S" in Morse code for startup) and then a pause while + TeleMetrum completes initialization and self tests, and decides which + mode to enter next. + + + In flight or "pad" mode, TeleMetrum turns on the GPS system, + engages the flight + state machine, goes into transmit-only mode on the RF link sending + telemetry, and waits for launch to be detected. Flight mode is + indicated by an audible "di-dah-dah-dit" ("P" for pad) on the + beeper, followed by + beeps indicating the state of the pyrotechnic igniter continuity. + One beep indicates apogee continuity, two beeps indicate + main continuity, three beeps indicate both apogee and main continuity, + and one longer "brap" sound indicates no continuity. For a dual + deploy flight, make sure you're getting three beeps before launching! + For apogee-only or motor eject flights, do what makes sense. + + + In idle mode, you will hear an audible "di-dit" ("I" for idle), and + the normal flight state machine is disengaged, thus + no ejection charges will fire. TeleMetrum also listens on the RF + link when in idle mode for packet mode requests sent from TeleDongle. + Commands can be issued to a TeleMetrum in idle mode over either + USB or the RF link equivalently. + Idle mode is useful for configuring TeleMetrum, for extracting data + from the on-board storage chip after flight, and for ground testing + pyro charges. + + + One "neat trick" of particular value when TeleMetrum is used with very + large airframes, is that you can power the board up while the rocket + is horizontal, such that it comes up in idle mode. Then you can + raise the airframe to launch position, use a TeleDongle to open + a packet connection, and issue a 'reset' command which will cause + TeleMetrum to reboot, realize it's now nose-up, and thus choose + flight mode. This is much safer than standing on the top step of a + rickety step-ladder or hanging off the side of a launch tower with + a screw-driver trying to turn on your avionics before installing + igniters! + +
+
+ GPS + + TeleMetrum includes a complete GPS receiver. See a later section for + a brief explanation of how GPS works that will help you understand + the information in the telemetry stream. The bottom line is that + the TeleMetrum GPS receiver needs to lock onto at least four + satellites to obtain a solid 3 dimensional position fix and know + what time it is! + + + TeleMetrum provides backup power to the GPS chip any time a LiPo + battery is connected. This allows the receiver to "warm start" on + the launch rail much faster than if every power-on were a "cold start" + for the GPS receiver. In typical operations, powering up TeleMetrum + on the flight line in idle mode while performing final airframe + preparation will be sufficient to allow the GPS receiver to cold + start and acquire lock. Then the board can be powered down during + RSO review and installation on a launch rod or rail. When the board + is turned back on, the GPS system should lock very quickly, typically + long before igniter installation and return to the flight line are + complete. + +
+
+ Ground Testing + + An important aspect of preparing a rocket using electronic deployment + for flight is ground testing the recovery system. Thanks + to the bi-directional RF link central to the Altus Metrum system, + this can be accomplished in a TeleMetrum-equipped rocket without as + much work as you may be accustomed to with other systems. It can + even be fun! + + + Just prep the rocket for flight, then power up TeleMetrum while the + airframe is horizontal. This will cause the firmware to go into + "idle" mode, in which the normal flight state machine is disabled and + charges will not fire without manual command. Then, establish an + RF packet connection from a TeleDongle-equipped computer using the + P command from a safe distance. You can now command TeleMetrum to + fire the apogee or main charges to complete your testing. + + + In order to reduce the chance of accidental firing of pyrotechnic + charges, the command to fire a charge is intentionally somewhat + difficult to type, and the built-in help is slightly cryptic to + prevent accidental echoing of characters from the help text back at + the board from firing a charge. The command to fire the apogee + drogue charge is 'i DoIt drogue' and the command to fire the main + charge is 'i DoIt main'. + +
+
+ Radio Link + + The chip our boards are based on incorporates an RF transceiver, but + it's not a full duplex system... each end can only be transmitting or + receiving at any given moment. So we had to decide how to manage the + link. + + + By design, TeleMetrum firmware listens for an RF connection when + it's in "idle mode" (turned on while the rocket is horizontal), which + allows us to use the RF link to configure the rocket, do things like + ejection tests, and extract data after a flight without having to + crack open the airframe. However, when the board is in "flight + mode" (turned on when the rocket is vertical) the TeleMetrum only + transmits and doesn't listen at all. That's because we want to put + ultimate priority on event detection and getting telemetry out of + the rocket and out over + the RF link in case the rocket crashes and we aren't able to extract + data later... + + + We don't use a 'normal packet radio' mode because they're just too + inefficient. The GFSK modulation we use is just FSK with the + baseband pulses passed through a + Gaussian filter before they go into the modulator to limit the + transmitted bandwidth. When combined with the hardware forward error + correction support in the cc1111 chip, this allows us to have a very + robust 38.4 kilobit data link with only 10 milliwatts of transmit power, + a whip antenna in the rocket, and a hand-held Yagi on the ground. We've + had flights to above 21k feet AGL with good reception, and calculations + suggest we should be good to well over 40k feet AGL with a 5-element yagi on + the ground. We hope to fly boards to higher altitudes soon, and would + of course appreciate customer feedback on performance in higher + altitude flights! + +
+
+ Configurable Parameters + + Configuring a TeleMetrum board for flight is very simple. Because we + have both acceleration and pressure sensors, there is no need to set + a "mach delay", for example. The few configurable parameters can all + be set using a simple terminal program over the USB port or RF link + via TeleDongle. + +
+ Radio Channel + + Our firmware supports 10 channels. The default channel 0 corresponds + to a center frequency of 434.550 Mhz, and channels are spaced every + 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz. + At any given launch, we highly recommend coordinating who will use + each channel and when to avoid interference. And of course, both + TeleMetrum and TeleDongle must be configured to the same channel to + successfully communicate with each other. + + + To set the radio channel, use the 'c r' command, like 'c r 3' to set + channel 3. + As with all 'c' sub-commands, follow this with a 'c w' to write the + change to the parameter block in the on-board DataFlash chip on + your TeleMetrum board if you want the change to stay in place across reboots. + +
+
+ Apogee Delay + + Apogee delay is the number of seconds after TeleMetrum detects flight + apogee that the drogue charge should be fired. In most cases, this + should be left at the default of 0. However, if you are flying + redundant electronics such as for an L3 certification, you may wish + to set one of your altimeters to a positive delay so that both + primary and backup pyrotechnic charges do not fire simultaneously. + + + 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. + + + Please note that the TeleMetrum apogee detection algorithm always + fires a fraction of a second *after* apogee. If you are also flying + an altimeter like the PerfectFlite MAWD, which only supports selecting + 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0 + seconds delay and set the TeleMetrum to fire your backup 2 or 3 + seconds later to avoid any chance of both charges firing + simultaneously. We've flown several airframes this way quite happily, + including Keith's successful L3 cert. + +
+
+ Main Deployment Altitude + + By default, TeleMetrum will fire the main deployment charge at an + elevation of 250 meters (about 820 feet) above ground. We think this + is a good elevation for most airframes, but feel free to change this + to suit. In particular, if you are flying two altimeters, you may + wish to set the + deployment elevation for the backup altimeter to be something lower + than the primary so that both pyrotechnic charges don't fire + simultaneously. + + + 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. + +
+
+
+ Calibration + + There are only two calibrations required for a TeleMetrum board, and + only one for TeleDongle. + +
+ Radio Frequency + + 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. + + + To calibrate the radio frequency, connect the UHF antenna port to a + frequency counter, set the board to channel 0, and use the 'C' + command to generate a CW carrier. Wait for the transmitter temperature + to stabilize and the frequency to settle down. + Then, divide 434.550 Mhz by the + measured frequency and multiply by the current radio cal value show + in the 'c s' command. For an unprogrammed board, the default value + is 1186611. Take the resulting integer and program it using the 'c f' + command. Testing with the 'C' command again should show a carrier + within a few tens of Hertz of the intended frequency. + As with all 'c' sub-commands, follow this with a 'c w' to write the + change to the parameter block in the on-board DataFlash chip. + +
+
+ Accelerometer + + The accelerometer we use has its own 5 volt power supply and + the output must be passed through a resistive voltage divider to match + the input of our 3.3 volt ADC. This means that unlike the barometric + sensor, the output of the acceleration sensor is not ratiometric to + the ADC converter, and calibration is required. We also support the + use of any of several accelerometers from a Freescale family that + includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity, + a simple 2-point calibration yields acceptable results capturing both + the different sensitivities and ranges of the different accelerometer + parts and any variation in power supply voltages or resistor values + in the divider network. + + + 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. + + + 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. + + + 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). + +
+
+ + + +
+ Updating Device Firmware + + The big conceptual thing to realize is that you have to use a + TeleDongle as a programmer to update a TeleMetrum, and vice versa. + Due to limited memory resources in the cc1111, we don't support + programming either unit directly over USB. + + + 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 . + + + We recommend updating TeleMetrum first, before updating TeleDongle. + +
+ Updating TeleMetrum Firmware + + + 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. + + + Take the 2 screws out of the TeleDongle case to get access + to the circuit board. + + + 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. + + + Attach a battery to the TeleMetrum board. + + + Plug the TeleDongle into your computer's USB port, and power + up the TeleMetrum. + + + Run AltosUI, and select 'Flash Image' from the File menu. + + + Pick the TeleDongle device from the list, identifying it as the + programming device. + + + Select the image you want put on the TeleMetrum, which should have a + name in the form telemetrum-v1.0-0.7.1.ihx. It should be visible + in the default directory, if not you may have to poke around + your system to find it. + + + 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. + + + Hit the 'OK' button and the software should proceed to flash + the TeleMetrum with new firmware, showing a progress bar. + + + 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. + + + If something goes wrong, give it another try. + + +
+
+ Updating TeleDongle Firmware + + Updating TeleDongle's firmware is just like updating TeleMetrum + firmware, but you switch which board is the programmer and which + is the programming target. + + + + 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. + + + 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. + + + Take the 2 screws out of the TeleDongle case to get access + to the circuit board. + + + Plug the 8-pin end of the programming cable to the (latching) + matching connector on the TeleMetrum, and the 4-pin end to the + matching connector on the TeleDongle. + Note that each MicroMaTch connector has an alignment pin that + goes through a hole in the PC board when you have the cable + oriented correctly. + + + Attach a battery to the TeleMetrum board. + + + Plug both TeleMetrum and TeleDongle into your computer's USB + ports, and power up the TeleMetrum. + + + Run AltosUI, and select 'Flash Image' from the File menu. + + + Pick the TeleMetrum device from the list, identifying it as the + programming device. + + + Select the image you want put on the TeleDongle, which should have a + name in the form teledongle-v0.2-0.7.1.ihx. It should be visible + in the default directory, if not you may have to poke around + your system to find it. + + + 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. + + + Hit the 'OK' button and the software should proceed to flash + the TeleDongle with new firmware, showing a progress bar. + + + 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. + + + If something goes wrong, give it another try. + + + + 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. + +
+
+ + + +
+ + + AltosUI + + The AltosUI program provides a graphical user interface for + interacting with the Altus Metrum product family, including + TeleMetrum and TeleDongle. AltosUI can monitor telemetry data, + configure TeleMetrum and TeleDongle devices and many other + tasks. The primary interface window provides a selection of + buttons, one for each major activity in the system. This manual + is split into chapters, each of which documents one of the tasks + provided from the top-level toolbar. + +
+ Packet Command Mode + Controlling TeleMetrum Over The Radio Link + + One of the unique features of the Altos Metrum environment is + the ability to create a two way command link between TeleDongle + and TeleMetrum using the digital radio transceivers built into + each device. This allows you to interact with TeleMetrum from + afar, as if it were directly connected to the computer. + + + Any operation which can be performed with TeleMetrum + can either be done with TeleMetrum directly connected to + the computer via the USB cable, or through the packet + link. Simply select the appropriate TeleDongle device when + the list of devices is presented and AltosUI will use packet + command mode. + + + One oddity in the current interface is how AltosUI selects the + channel for packet mode communications. Instead of providing + an interface to specifically configure the channel, it uses + whatever channel was most recently selected for the target + TeleDongle device in Monitor Flight mode. If you haven't ever + used that mode with the TeleDongle in question, select the + Monitor Flight button from the top level UI, pick the + appropriate TeleDongle device. Once the flight monitoring + window is open, select the desired channel and then close it + down again. All Packet Command Mode operations will now use + that channel. + + + + + Save Flight Data—Recover flight data from the rocket without + opening it up. + + + + + Configure TeleMetrum—Reset apogee delays or main deploy + heights to respond to changing launch conditions. You can + also 'reboot' the TeleMetrum device. Use this to remotely + enable the flight computer by turning TeleMetrum on while + horizontal, then once the airframe is oriented for launch, + you can reboot TeleMetrum and have it restart in pad mode + without having to climb the scary ladder. + + + + + Fire Igniters—Test your deployment charges without snaking + wires out through holes in the airframe. Simply assembly the + rocket as if for flight with the apogee and main charges + loaded, then remotely command TeleMetrum to fire the + igniters. + + + + + Packet command mode uses the same RF channels as telemetry + mode. Configure the desired TeleDongle channel using the + flight monitor window channel selector and then close that + window before performing the desired operation. + + + TeleMetrum only enables packet command mode in 'idle' mode, so + make sure you have TeleMetrum lying horizontally when you turn + it on. Otherwise, TeleMetrum will start in 'pad' mode ready for + flight and will not be listening for command packets from TeleDongle. + + + When packet command mode is enabled, you can monitor the link + by watching the lights on the TeleDongle and TeleMetrum + devices. The red LED will flash each time TeleDongle or + TeleMetrum transmit a packet while the green LED will light up + on TeleDongle while it is waiting to receive a packet from + TeleMetrum. + +
+
+ Monitor Flight + Receive, Record and Display Telemetry Data + + 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. + + + 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. + + + The radio channel being monitored by the TeleDongle device is + displayed at the top of the window. You can configure the + channel by clicking on the channel box and selecting the desired + channel. AltosUI remembers the last channel selected for each + TeleDongle and selects that automatically the next time you use + that device. + + + Below the TeleDongle channel selector, the window contains a few + significant pieces of information about the TeleMetrum providing + the telemetry data stream: + + + + The TeleMetrum callsign + + + The TeleMetrum serial number + + + The flight number. Each TeleMetrum remembers how many + times it has flown. + + + + + The rocket flight state. Each flight passes through several + states including Pad, Boost, Fast, Coast, Drogue, Main and + Landed. + + + + + The Received Signal Strength Indicator value. This lets + you know how strong a signal TeleDongle is receiving. The + radio inside TeleDongle operates down to about -99dBm; + weaker signals may not be receiveable. The packet link uses + error correction and detection techniques which prevent + incorrect data from being reported. + + + + + Finally, the largest portion of the window contains a set of + tabs, each of which contain some information about the rocket. + They're arranged in 'flight order' so that as the flight + progresses, the selected tab automatically switches to display + data relevant to the current state of the flight. You can select + other tabs at any time. The final 'table' tab contains all of + the telemetry data in one place. + +
+ Launch Pad + + 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: + + + + Battery Voltage. This indicates whether the LiPo battery + powering the TeleMetrum has sufficient charge to last for + the duration of the flight. A value of more than + 3.7V is required for a 'GO' status. + + + + + Apogee Igniter Voltage. This indicates whether the apogee + igniter has continuity. If the igniter has a low + resistance, then the voltage measured here will be close + to the LiPo battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + + + + Main Igniter Voltage. This indicates whether the main + igniter has continuity. If the igniter has a low + resistance, then the voltage measured here will be close + to the LiPo battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + + + + GPS Locked. This indicates whether the GPS receiver is + currently able to compute position information. GPS requires + at least 4 satellites to compute an accurate position. + + + + + GPS Ready. This indicates whether GPS has reported at least + 10 consecutive positions without losing lock. This ensures + that the GPS receiver has reliable reception from the + satellites. + + + + + The LaunchPad tab also shows the computed launch pad position + and altitude, averaging many reported positions to improve the + accuracy of the fix. + + +
+
+ Ascent + + This tab is shown during Boost, Fast and Coast + phases. The information displayed here helps monitor the + rocket as it heads towards apogee. + + + The height, speed and acceleration are shown along with the + maxium values for each of them. This allows you to quickly + answer the most commonly asked questions you'll hear during + flight. + + + The current latitude and longitude reported by the GPS are + also shown. Note that under high acceleration, these values + may not get updated as the GPS receiver loses position + fix. Once the rocket starts coasting, the receiver should + start reporting position again. + + + Finally, the current igniter voltages are reported as in the + Launch Pad tab. This can help diagnose deployment failures + caused by wiring which comes loose under high acceleration. + +
+
+ Descent + + Once the rocket has reached apogee and (we hope) activated the + apogee charge, attention switches to tracking the rocket on + the way back to the ground, and for dual-deploy flights, + waiting for the main charge to fire. + + + To monitor whether the apogee charge operated correctly, the + current descent rate is reported along with the current + height. Good descent rates generally range from 15-30m/s. + + + To help locate the rocket in the sky, use the elevation and + bearing information to figure out where to look. Elevation is + in degrees above the horizon. Bearing is reported in degrees + relative to true north. Range can help figure out how big the + rocket will appear. Note that all of these values are relative + to the pad location. If the elevation is near 90°, the rocket + is over the pad, not over you. + + + Finally, the igniter voltages are reported in this tab as + well, both to monitor the main charge as well as to see what + the status of the apogee charge is. + +
+
+ Landed + + Once the rocket is on the ground, attention switches to + recovery. While the radio signal is generally lost once the + rocket is on the ground, the last reported GPS position is + generally within a short distance of the actual landing location. + + + The last reported GPS position is reported both by + latitude and longitude as well as a bearing and distance from + the launch pad. The distance should give you a good idea of + whether you'll want to walk or hitch a ride. Take the reported + latitude and longitude and enter them into your handheld GPS + unit and have that compute a track to the landing location. + + + Finally, the maximum height, speed and acceleration reported + during the flight are displayed for your admiring observers. + +
+
+ Site Map + + When the rocket gets a GPS fix, the Site Map tab will map + the rocket's position to make it easier for you to locate the + rocket, both while it is in the air, and when it has landed. The + rocket's state is indicated by colour: white for pad, red for + boost, pink for fast, yellow for coast, light blue for drogue, + dark blue for main, and black for landed. + + + The map's scale is approximately 3m (10ft) per pixel. The map + can be dragged using the left mouse button. The map will attempt + to keep the rocket roughly centred while data is being received. + + + Images are fetched automatically via the Google Maps Static API, + and are cached for reuse. If map images cannot be downloaded, + the rocket's path will be traced on a dark grey background + instead. + +
+
+
+ Save Flight Data + + TeleMetrum records flight data to its internal flash memory. + This data is recorded at a much higher rate than the telemetry + system can handle, and is not subject to radio drop-outs. As + such, it provides a more complete and precise record of the + flight. The 'Save Flight Data' button allows you to read the + flash memory and write it to disk. + + + Clicking on the 'Save Flight Data' button brings up a list of + connected TeleMetrum and TeleDongle devices. If you select a + TeleMetrum device, the flight data will be downloaded from that + device directly. If you select a TeleDongle device, flight data + will be downloaded from a TeleMetrum device connected via the + packet command link to the specified TeleDongle. See the chapter + on Packet Command Mode for more information about this. + + + The filename for the data is computed automatically from the recorded + flight date, TeleMetrum serial number and flight number + information. + +
+
+ Replay Flight + + Select this button and you are prompted to select a flight + record file, either a .telem file recording telemetry data or a + .eeprom file containing flight data saved from the TeleMetrum + flash memory. + + + Once a flight record is selected, the flight monitor interface + is displayed and the flight is re-enacted in real time. Check + the Monitor Flight chapter above to learn how this window operates. + +
+
+ Graph Data + + Select this button and you are prompted to select a flight + record file, either a .telem file recording telemetry data or a + .eeprom file containing flight data saved from the TeleMetrum + flash memory. + + + Once a flight record is selected, the acceleration (blue), + velocity (green) and altitude (red) of the flight are plotted and + displayed, measured in metric units. + + + The graph can be zoomed into a particular area by clicking and + dragging down and to the right. Once zoomed, the graph can be + reset by clicking and dragging up and to the left. Holding down + control and clicking and dragging allows the graph to be panned. + The right mouse button causes a popup menu to be displayed, giving + you the option save or print the plot. + + + Note that telemetry files will generally produce poor graphs + due to the lower sampling rate and missed telemetry packets, + and will also often have significant amounts of data received + while the rocket was waiting on the pad. Use saved flight data + for graphing where possible. + +
+
+ Export Data + + This tool takes the raw data files and makes them available for + external analysis. When you select this button, you are prompted to select a flight + data file (either .eeprom or .telem will do, remember that + .eeprom files contain higher resolution and more continuous + data). Next, a second dialog appears which is used to select + where to write the resulting file. It has a selector to choose + between CSV and KML file formats. + +
+ Comma Separated Value Format + + This is a text file containing the data in a form suitable for + import into a spreadsheet or other external data analysis + tool. The first few lines of the file contain the version and + configuration information from the TeleMetrum device, then + there is a single header line which labels all of the + fields. All of these lines start with a '#' character which + most tools can be configured to skip over. + + + The remaining lines of the file contain the data, with each + field separated by a comma and at least one space. All of + the sensor values are converted to standard units, with the + barometric data reported in both pressure, altitude and + height above pad units. + +
+
+ Keyhole Markup Language (for Google Earth) + + This is the format used by + Googleearth to provide an overlay within that + application. With this, you can use Googleearth to see the + whole flight path in 3D. + +
+
+
+ Configure TeleMetrum + + Select this button and then select either a TeleMetrum or + TeleDongle Device from the list provided. Selecting a TeleDongle + device will use Packet Comamnd Mode to configure remote + TeleMetrum device. Learn how to use this in the Packet Command + Mode chapter. + + + The first few lines of the dialog provide information about the + connected TeleMetrum device, including the product name, + software version and hardware serial number. Below that are the + individual configuration entries. + + + At the bottom of the dialog, there are four buttons: + + + + + Save. This writes any changes to the TeleMetrum + configuration parameter block in flash memory. If you don't + press this button, any changes you make will be lost. + + + + + Reset. This resets the dialog to the most recently saved values, + erasing any changes you have made. + + + + + Reboot. This reboots the TeleMetrum device. Use this to + switch from idle to pad mode by rebooting once the rocket is + oriented for flight. + + + + + Close. This closes the dialog. Any unsaved changes will be + lost. + + + + + The rest of the dialog contains the parameters to be configured. + +
+ Main Deploy Altitude + + This sets the altitude (above the recorded pad altitude) at + which the 'main' igniter will fire. The drop-down menu shows + some common values, but you can edit the text directly and + choose whatever you like. If the apogee charge fires below + this altitude, then the main charge will fire two seconds + after the apogee charge fires. + +
+
+ Apogee Delay + + When flying redundant electronics, it's often important to + ensure that multiple apogee charges don't fire at precisely + the same time as that can overpressurize the apogee deployment + bay and cause a structural failure of the airframe. The Apogee + Delay parameter tells the flight computer to fire the apogee + charge a certain number of seconds after apogee has been + detected. + +
+
+ Radio Channel + + This configures which of the 10 radio channels to use for both + telemetry and packet command mode. Note that if you set this + value via packet command mode, you will have to reconfigure + the TeleDongle channel before you will be able to use packet + command mode again. + +
+
+ Radio Calibration + + The radios in every Altus Metrum device are calibrated at the + factory to ensure that they transmit and receive on the + specified frequency for each channel. You can adjust that + calibration by changing this value. To change the TeleDongle's + calibration, you must reprogram the unit completely. + +
+
+ Callsign + + This sets the callsign included in each telemetry packet. Set this + as needed to conform to your local radio regulations. + +
+
+
+ Configure AltosUI + + This button presents a dialog so that you can configure the AltosUI global settings. + +
+ Voice Settings + + AltosUI provides voice annoucements during flight so that you + can keep your eyes on the sky and still get information about + the current flight status. However, sometimes you don't want + to hear them. + + + + Enable—turns all voice announcements on and off + + + + Test Voice—Plays a short message allowing you to verify + that the audio systme is working and the volume settings + are reasonable + + + +
+
+ Log Directory + + AltosUI logs all telemetry data and saves all TeleMetrum flash + data to this directory. This directory is also used as the + staring point when selecting data files for display or export. + + + Click on the directory name to bring up a directory choosing + dialog, select a new directory and click 'Select Directory' to + change where AltosUI reads and writes data files. + +
+
+ Callsign + + This value is used in command packet mode and is transmitted + in each packet sent from TeleDongle and received from + TeleMetrum. It is not used in telemetry mode as that transmits + packets only from TeleMetrum to TeleDongle. Configure this + with the AltosUI operators callsign as needed to comply with + your local radio regulations. + +
+
+
+ Flash Image + + This reprograms any Altus Metrum device by using a TeleMetrum or + TeleDongle as a programming dongle. Please read the directions + for connecting the programming cable in the main TeleMetrum + manual before reading these instructions. + + + Once you have the programmer and target devices connected, + push the 'Flash Image' button. That will present a dialog box + listing all of the connected devices. Carefully select the + programmer device, not the device to be programmed. + + + Next, select the image to flash to the device. These are named + with the product name and firmware version. The file selector + will start in the directory containing the firmware included + with the AltosUI package. Navigate to the directory containing + the desired firmware if it isn't there. + + + Next, a small dialog containing the device serial number and + RF calibration values should appear. If these values are + incorrect (possibly due to a corrupted image in the device), + enter the correct values here. + + + Finally, a dialog containing a progress bar will follow the + programming process. + + + When programming is complete, the target device will + reboot. Note that if the target device is connected via USB, you + will have to unplug it and then plug it back in for the USB + connection to reset so that you can communicate with the device + again. + +
+
+ Fire Igniter + + This activates the igniter circuits in TeleMetrum to help test + recovery systems deployment. Because this command can operate + over the Packet Command Link, you can prepare the rocket as + for flight and then test the recovery system without needing + to snake wires inside the airframe. + + + Selecting the 'Fire Igniter' button brings up the usual device + selection dialog. Pick the desired TeleDongle or TeleMetrum + device. This brings up another window which shows the current + continutity test status for both apogee and main charges. + + + Next, select the desired igniter to fire. This will enable the + 'Arm' button. + + + Select the 'Arm' button. This enables the 'Fire' button. The + word 'Arm' is replaced by a countdown timer indicating that + you have 10 seconds to press the 'Fire' button or the system + will deactivate, at which point you start over again at + selecting the desired igniter. + +
+
+ + Using Altus Metrum Products +
+ Being Legal + + First off, in the US, you need an amateur radio license or + other authorization to legally operate the radio transmitters that are part + of our products. + +
+ In the Rocket + + In the rocket itself, you just need a TeleMetrum board and + a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V + alkaline battery, and will run a TeleMetrum for hours. + + + By default, we ship TeleMetrum with a simple wire antenna. If your + electronics bay or the airframe it resides within is made of carbon fiber, + which is opaque to RF signals, you may choose to have an SMA connector + installed so that you can run a coaxial cable to an antenna mounted + elsewhere in the rocket. + +
+
+ On the Ground + + To receive the data stream from the rocket, you need an antenna and short + feedline connected to one of our TeleDongle units. The + TeleDongle in turn plugs directly into the USB port on a notebook + computer. Because TeleDongle looks like a simple serial port, your computer + does not require special device drivers... just plug it in. + + + The GUI tool, AltosUI, is written in Java and runs across + Linux, Mac OS and Windows. There's also a suite of C tools + for Linux which can perform most of the same tasks. + + + After the flight, you can use the RF link to extract the more detailed data + logged in the rocket, or you can use a mini USB cable to plug into the + TeleMetrum board directly. Pulling out the data without having to open up + the rocket is pretty cool! A USB cable is also how you charge the LiPo + battery, so you'll want one of those anyway... the same cable used by lots + of digital cameras and other modern electronic stuff will work fine. + + + If your rocket lands out of sight, you may enjoy having a hand-held GPS + receiver, so that you can put in a waypoint for the last reported rocket + position before touch-down. This makes looking for your rocket a lot like + Geo-Cacheing... just go to the waypoint and look around starting from there. + + + You may also enjoy having a ham radio "HT" that covers the 70cm band... you + can use that with your antenna to direction-find the rocket on the ground + the same way you can use a Walston or Beeline tracker. This can be handy + if the rocket is hiding in sage brush or a tree, or if the last GPS position + doesn't get you close enough because the rocket dropped into a canyon, or + the wind is blowing it across a dry lake bed, or something like that... Keith + and Bdale both currently own and use the Yaesu VX-7R at launches. + + + So, to recap, on the ground the hardware you'll need includes: + + + an antenna and feedline + + + a TeleDongle + + + a notebook computer + + + optionally, a handheld GPS receiver + + + optionally, an HT or receiver covering 435 Mhz + + + + + The best hand-held commercial directional antennas we've found for radio + direction finding rockets are from + + Arrow Antennas. + + The 440-3 and 440-5 are both good choices for finding a + TeleMetrum-equipped rocket when used with a suitable 70cm HT. + +
+
+ Data Analysis + + Our software makes it easy to log the data from each flight, both the + telemetry received over the RF link during the flight itself, and the more + complete data log recorded in the DataFlash memory on the TeleMetrum + board. Once this data is on your computer, our postflight tools make it + easy to quickly get to the numbers everyone wants, like apogee altitude, + max acceleration, and max velocity. You can also generate and view a + standard set of plots showing the altitude, acceleration, and + velocity of the rocket during flight. And you can even export a data file + useable with Google Maps and Google Earth for visualizing the flight path + in two or three dimensions! + + + Our ultimate goal is to emit a set of files for each flight that can be + published as a web page per flight, or just viewed on your local disk with + a web browser. + +
+
+ Future Plans + + In the future, we intend to offer "companion boards" for the rocket that will + plug in to TeleMetrum to collect additional data, provide more pyro channels, + and so forth. A reference design for a companion board will be documented + soon, and will be compatible with open source Arduino programming tools. + + + We are also working on the design of a hand-held ground terminal that will + allow monitoring the rocket's status, collecting data during flight, and + logging data after flight without the need for a notebook computer on the + flight line. Particularly since it is so difficult to read most notebook + screens in direct sunlight, we think this will be a great thing to have. + + + Because all of our work is open, both the hardware designs and the software, + if you have some great idea for an addition to the current Altus Metrum family, + feel free to dive in and help! Or let us know what you'd like to see that + we aren't already working on, and maybe we'll get excited about it too... + +
+
+
+
diff --git a/doc/telemetrum-doc.xsl b/doc/telemetrum-doc.xsl deleted file mode 100644 index 0c20b285..00000000 --- a/doc/telemetrum-doc.xsl +++ /dev/null @@ -1,1735 +0,0 @@ - - - - The Altus Metrum System - Owner's Manual for TeleMetrum and TeleDongle Devices - - - Bdale - Garbee - - - Keith - Packard - - - Bob - Finch - - - Anthony - Towns - - - 2010 - Bdale Garbee and Keith Packard - - - - This document is released under the terms of the - - Creative Commons ShareAlike 3.0 - - license. - - - - - 0.8 - 24 November 2010 - Updated for software version 0.8 - - - - - - Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing "The - Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter - Kit" which has turned into the Getting Started chapter in this - book. Bob was one of our first customers for a production - TeleMetrum, and the enthusiasm that led to his contribution of - this section is immensely gratifying and highy appreciated! - - - And thanks to Anthony (AJ) Towns for contributing the - AltosUI graphing and site map code and documentation. Free - software means that our customers and friends can become our - collaborators, and we certainly appreciate this level of - contribution. - - - Have fun using these products, and we hope to meet all of you - out on the rocket flight line somewhere. - -Bdale Garbee, KB0G -NAR #87103, TRA #12201 - -Keith Packard, KD7SQG -NAR #88757, TRA #12200 - - - - - Introduction and Overview - - Welcome to the Altus Metrum community! Our circuits and software reflect - our passion for both hobby rocketry and Free Software. We hope their - capabilities and performance will delight you in every way, but by - releasing all of our hardware and software designs under open licenses, - we also hope to empower you to take as active a role in our collective - future as you wish! - - - The focal point of our community is TeleMetrum, a dual deploy altimeter - with fully integrated GPS and radio telemetry as standard features, and - a "companion interface" that will support optional capabilities in the - future. - - - Complementing TeleMetrum is TeleDongle, a USB to RF interface for - communicating with TeleMetrum. Combined with your choice of antenna and - notebook computer, TeleDongle and our associated user interface software - form a complete ground station capable of logging and displaying in-flight - telemetry, aiding rocket recovery, then processing and archiving flight - data for analysis and review. - - - More products will be added to the Altus Metrum family over time, and - we currently envision that this will be a single, comprehensive manual - for the entire product family. - - - - Getting Started - - The first thing to do after you check the inventory of parts in your - "starter kit" is to charge the battery by plugging it into the - corresponding socket of the TeleMetrum and then using the USB A to - mini B - cable to plug the Telemetrum into your computer's USB socket. The - TeleMetrum circuitry will charge the battery whenever it is plugged - in, because the TeleMetrum's on-off switch does NOT control the - charging circuitry. When the GPS chip is initially searching for - satellites, TeleMetrum will consume more current than it can pull - from the usb port, so the battery must be attached in order to get - satellite lock. Once GPS is locked, the current consumption goes back - down enough to enable charging while - running. So it's a good idea to fully charge the battery as your - first item of business so there is no issue getting and maintaining - satellite lock. The yellow charge indicator led will go out when the - battery is nearly full and the charger goes to trickle charge. It - can take several hours to fully recharge a deeply discharged battery. - - - The other active device in the starter kit is the TeleDongle USB to - RF interface. If you plug it in to your Mac or Linux computer it should - "just work", showing up as a serial port device. Windows systems need - driver information that is part of the AltOS download to know that the - existing USB modem driver will work. If you are using Linux and are - having problems, try moving to a fresher kernel (2.6.33 or newer), as - the USB serial driver had ugly bugs in some earlier versions. - - - Next you should obtain and install the AltOS utilities. These include - the AltosUI ground station program, current firmware images for - TeleMetrum and TeleDongle, and a number of standalone utilities that - are rarely needed. Pre-built binary packages are available for Debian - Linux, Microsoft Windows, and recent MacOSX versions. Full sourcecode - and build instructions for some other Linux variants are also available. - The latest version may always be downloaded from - . - - - Both Telemetrum and TeleDongle can be directly communicated - with using USB ports. The first thing you should try after getting - both units plugged into to your computer's usb port(s) is to run - 'ao-list' from a terminal-window to see what port-device-name each - device has been assigned by the operating system. - You will need this information to access the devices via their - respective on-board firmware and data using other command line - programs in the AltOS software suite. - - - To access the device's firmware for configuration you need a terminal - program such as you would use to talk to a modem. The software - authors prefer using the program 'cu' which comes from the UUCP package - on most Unix-like systems such as Linux. An example command line for - cu might be 'cu -l /dev/ttyACM0', substituting the correct number - indicated from running the - ao-list program. Another reasonable terminal program for Linux is - 'cutecom'. The default 'escape' - character used by CU (i.e. the character you use to - issue commands to cu itself instead of sending the command as input - to the connected device) is a '~'. You will need this for use in - only two different ways during normal operations. First is to exit - the program by sending a '~.' which is called a 'escape-disconnect' - and allows you to close-out from 'cu'. The - second use will be outlined later. - - - Both TeleMetrum and TeleDongle share the concept of a two level - command set in their firmware. - The first layer has several single letter commands. Once - you are using 'cu' (or 'cutecom') sending (typing) a '?' - returns a full list of these - commands. The second level are configuration sub-commands accessed - using the 'c' command, for - instance typing 'c?' will give you this second level of commands - (all of which require the - letter 'c' to access). Please note that most configuration options - are stored only in DataFlash memory, and only TeleMetrum has this - memory to save the various values entered like the channel number - and your callsign when powered off. TeleDongle requires that you - set these each time you plug it in, which ao-view can help with. - - - Try setting these config ('c' or second level menu) values. A good - place to start is by setting your call sign. By default, the boards - use 'N0CALL' which is cute, but not exactly legal! - Spend a few minutes getting comfortable with the units, their - firmware, and 'cu' (or possibly 'cutecom'). - For instance, try to send - (type) a 'c r 2' and verify the channel change by sending a 'c s'. - Verify you can connect and disconnect from the units while in your - terminal program by sending the escape-disconnect mentioned above. - - - Note that the 'reboot' command, which is very useful on TeleMetrum, - will likely just cause problems with the dongle. The *correct* way - to reset the dongle is just to unplug and re-plug it. - - - A fun thing to do at the launch site and something you can do while - learning how to use these units is to play with the rf-link access - of the TeleMetrum from the TeleDongle. Be aware that you *must* create - some physical separation between the devices, otherwise the link will - not function due to signal overload in the receivers in each device. - - - Now might be a good time to take a break and read the rest of this - manual, particularly about the two "modes" that the TeleMetrum - can be placed in and how the position of the TeleMetrum when booting - up will determine whether the unit is in "pad" or "idle" mode. - - - You can access a TeleMetrum in idle mode from the Teledongle's USB - connection using the rf link - by issuing a 'p' command to the TeleDongle. Practice connecting and - disconnecting ('~~' while using 'cu') from the TeleMetrum. If - you cannot escape out of the "p" command, (by using a '~~' when in - CU) then it is likely that your kernel has issues. Try a newer version. - - - Using this rf link allows you to configure the TeleMetrum, test - fire e-matches and igniters from the flight line, check pyro-match - continuity and so forth. You can leave the unit turned on while it - is in 'idle mode' and then place the - rocket vertically on the launch pad, walk away and then issue a - reboot command. The TeleMetrum will reboot and start sending data - having changed to the "pad" mode. If the TeleDongle is not receiving - this data, you can disconnect 'cu' from the Teledongle using the - procedures mentioned above and THEN connect to the TeleDongle from - inside 'ao-view'. If this doesn't work, disconnect from the - TeleDongle, unplug it, and try again after plugging it back in. - - - Eventually the GPS will find enough satellites, lock in on them, - and 'ao-view' will both auditorially announce and visually indicate - that GPS is ready. - Now you can launch knowing that you have a good data path and - good satellite lock for flight data and recovery. Remember - you MUST tell ao-view to connect to the TeleDongle explicitly in - order for ao-view to be able to receive data. - - - Both RDF (radio direction finding) tones from the TeleMetrum and - GPS trekking data are available and together are very useful in - locating the rocket once it has landed. (The last good GPS data - received before touch-down will be on the data screen of 'ao-view'.) - - - Once you have recovered the rocket you can download the eeprom - contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over - either a USB cable or over the radio link using TeleDongle. - And by following the man page for 'ao-postflight' you can create - various data output reports, graphs, and even kml data to see the - flight trajectory in google-earth. (Moving the viewing angle making - sure to connect the yellow lines while in google-earth is the proper - technique.) - - - As for ao-view.... some things are in the menu but don't do anything - very useful. The developers have stopped working on ao-view to focus - on a new, cross-platform ground station program. So ao-view may or - may not be updated in the future. Mostly you just use - the Log and Device menus. It has a wonderful display of the incoming - flight data and I am sure you will enjoy what it has to say to you - once you enable the voice output! - -
- FAQ - - The altimeter (TeleMetrum) seems to shut off when disconnected from the - computer. Make sure the battery is adequately charged. Remember the - unit will pull more power than the USB port can deliver before the - GPS enters "locked" mode. The battery charges best when TeleMetrum - is turned off. - - - It's impossible to stop the TeleDongle when it's in "p" mode, I have - to unplug the USB cable? Make sure you have tried to "escape out" of - this mode. If this doesn't work the reboot procedure for the - TeleDongle *is* to simply unplug it. 'cu' however will retain it's - outgoing buffer IF your "escape out" ('~~') does not work. - At this point using either 'ao-view' (or possibly - 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed - communication. - - - The amber LED (on the TeleMetrum/altimeter) lights up when both - battery and USB are connected. Does this mean it's charging? - Yes, the yellow LED indicates the charging at the 'regular' rate. - If the led is out but the unit is still plugged into a USB port, - then the battery is being charged at a 'trickle' rate. - - - There are no "dit-dah-dah-dit" sound like the manual mentions? - That's the "pad" mode. Weak batteries might be the problem. - It is also possible that the unit is horizontal and the output - is instead a "dit-dit" meaning 'idle'. - - - It's unclear how to use 'ao-view' and other programs when 'cu' - is running. You cannot have more than one program connected to - the TeleDongle at one time without apparent data loss as the - incoming data will not make it to both programs intact. - Disconnect whatever programs aren't currently being used. - - - How do I save flight data? - Live telemetry is written to file(s) whenever 'ao-view' is connected - to the TeleDongle. The file area defaults to ~/altos - but is easily changed using the menus in 'ao-view'. The files that - are written end in '.telem'. The after-flight - data-dumped files will end in .eeprom and represent continuous data - unlike the rf-linked .telem files that are subject to the - turnarounds/data-packaging time slots in the half-duplex rf data path. - See the above instructions on what and how to save the eeprom stored - data after physically retrieving your TeleMetrum. Make sure to save - the on-board data after each flight, as the current firmware will - over-write any previous flight data during a new flight. - -
-
- - Specifications - - - - Recording altimeter for model rocketry. - - - - - Supports dual deployment (can fire 2 ejection charges). - - - - - 70cm ham-band transceiver for telemetry downlink. - - - - - Barometric pressure sensor good to 45k feet MSL. - - - - - 1-axis high-g accelerometer for motor characterization, capable of - +/- 50g using default part. - - - - - On-board, integrated GPS receiver with 5hz update rate capability. - - - - - On-board 1 megabyte non-volatile memory for flight data storage. - - - - - USB interface for battery charging, configuration, and data recovery. - - - - - Fully integrated support for LiPo rechargeable batteries. - - - - - Uses LiPo to fire e-matches, support for optional separate pyro - battery if needed. - - - - - 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. - - - - - - Handling Precautions - - TeleMetrum is a sophisticated electronic device. When handled gently and - properly installed in an airframe, it will deliver impressive results. - However, like all electronic devices, there are some precautions you - must take. - - - The Lithium Polymer rechargeable batteries used with TeleMetrum have an - extraordinary power density. This is great because we can fly with - much less battery mass than if we used alkaline batteries or previous - generation rechargeable batteries... but if they are punctured - or their leads are allowed to short, they can and will release their - energy very rapidly! - Thus we recommend that you take some care when handling our batteries - and consider giving them some extra protection in your airframe. We - often wrap them in suitable scraps of closed-cell packing foam before - strapping them down, for example. - - - The TeleMetrum barometric sensor is sensitive to sunlight. In normal - mounting situations, it and all of the other surface mount components - are "down" towards whatever the underlying mounting surface is, so - this is not normally a problem. Please consider this, though, when - designing an installation, for example, in a 29mm airframe with a - see-through plastic payload bay. - - - The TeleMetrum barometric sensor sampling port must be able to - "breathe", - both by not being covered by foam or tape or other materials that might - directly block the hole on the top of the sensor, but also by having a - suitable static vent to outside air. - - - As with all other rocketry electronics, TeleMetrum must be protected - from exposure to corrosive motor exhaust and ejection charge gasses. - - - - Hardware Overview - - TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to - fit inside coupler for 29mm airframe tubing, but using it in a tube that - small in diameter may require some creativity in mounting and wiring - to succeed! The default 1/4 - wave UHF wire antenna attached to the center of the nose-cone end of - the board is about 7 inches long, and wiring for a power switch and - the e-matches for apogee and main ejection charges depart from the - fin can end of the board. Given all this, an ideal "simple" avionics - bay for TeleMetrum should have at least 10 inches of interior length. - - - A typical TeleMetrum installation using the on-board GPS antenna and - default wire UHF antenna involves attaching only a suitable - Lithium Polymer battery, a single pole switch for power on/off, and - two pairs of wires connecting e-matches for the apogee and main ejection - charges. - - - By default, we use the unregulated output of the LiPo battery directly - to fire ejection charges. This works marvelously with standard - low-current e-matches like the J-Tek from MJG Technologies, and with - Quest Q2G2 igniters. However, if you - want or need to use a separate pyro battery, you can do so by adding - a second 2mm connector to position B2 on the board and cutting the - thick pcb trace connecting the LiPo battery to the pyro circuit between - the two silk screen marks on the surface mount side of the board shown - here [insert photo] - - - We offer two choices of pyro and power switch connector, or you can - choose neither and solder wires directly to the board. All three choices - are reasonable depending on the constraints of your airframe. Our - favorite option when there is sufficient room above the board is to use - the Tyco pin header with polarization and locking. If you choose this - option, you crimp individual wires for the power switch and e-matches - into a mating connector, and installing and removing the TeleMetrum - board from an airframe is as easy as plugging or unplugging two - connectors. If the airframe will not support this much height or if - you want to be able to directly attach e-match leads to the board, we - offer a screw terminal block. This is very similar to what most other - altimeter vendors provide and so may be the most familiar option. - You'll need a very small straight blade screwdriver to connect - and disconnect the board in this case, such as you might find in a - jeweler's screwdriver set. Finally, you can forego both options and - solder wires directly to the board, which may be the best choice for - minimum diameter and/or minimum mass designs. - - - For most airframes, the integrated GPS antenna and wire UHF antenna are - a great combination. However, if you are installing in a carbon-fiber - electronics bay which is opaque to RF signals, you may need to use - off-board external antennas instead. In this case, you can order - TeleMetrum with an SMA connector for the UHF antenna connection, and - you can unplug the integrated GPS antenna and select an appropriate - off-board GPS antenna with cable terminating in a U.FL connector. - - - - System Operation -
- Firmware Modes - - The AltOS firmware build for TeleMetrum has two fundamental modes, - "idle" and "flight". Which of these modes the firmware operates in - is determined by the orientation of the rocket (well, actually the - board, of course...) at the time power is switched on. If the rocket - is "nose up", then TeleMetrum assumes it's on a rail or rod being - prepared for launch, so the firmware chooses flight mode. However, - if the rocket is more or less horizontal, the firmware instead enters - idle mode. - - - At power on, you will hear three beeps - ("S" in Morse code for startup) and then a pause while - TeleMetrum completes initialization and self tests, and decides which - mode to enter next. - - - In flight or "pad" mode, TeleMetrum turns on the GPS system, - engages the flight - state machine, goes into transmit-only mode on the RF link sending - telemetry, and waits for launch to be detected. Flight mode is - indicated by an audible "di-dah-dah-dit" ("P" for pad) on the - beeper, followed by - beeps indicating the state of the pyrotechnic igniter continuity. - One beep indicates apogee continuity, two beeps indicate - main continuity, three beeps indicate both apogee and main continuity, - and one longer "brap" sound indicates no continuity. For a dual - deploy flight, make sure you're getting three beeps before launching! - For apogee-only or motor eject flights, do what makes sense. - - - In idle mode, you will hear an audible "di-dit" ("I" for idle), and - the normal flight state machine is disengaged, thus - no ejection charges will fire. TeleMetrum also listens on the RF - link when in idle mode for packet mode requests sent from TeleDongle. - Commands can be issued to a TeleMetrum in idle mode over either - USB or the RF link equivalently. - Idle mode is useful for configuring TeleMetrum, for extracting data - from the on-board storage chip after flight, and for ground testing - pyro charges. - - - One "neat trick" of particular value when TeleMetrum is used with very - large airframes, is that you can power the board up while the rocket - is horizontal, such that it comes up in idle mode. Then you can - raise the airframe to launch position, use a TeleDongle to open - a packet connection, and issue a 'reset' command which will cause - TeleMetrum to reboot, realize it's now nose-up, and thus choose - flight mode. This is much safer than standing on the top step of a - rickety step-ladder or hanging off the side of a launch tower with - a screw-driver trying to turn on your avionics before installing - igniters! - -
-
- GPS - - TeleMetrum includes a complete GPS receiver. See a later section for - a brief explanation of how GPS works that will help you understand - the information in the telemetry stream. The bottom line is that - the TeleMetrum GPS receiver needs to lock onto at least four - satellites to obtain a solid 3 dimensional position fix and know - what time it is! - - - TeleMetrum provides backup power to the GPS chip any time a LiPo - battery is connected. This allows the receiver to "warm start" on - the launch rail much faster than if every power-on were a "cold start" - for the GPS receiver. In typical operations, powering up TeleMetrum - on the flight line in idle mode while performing final airframe - preparation will be sufficient to allow the GPS receiver to cold - start and acquire lock. Then the board can be powered down during - RSO review and installation on a launch rod or rail. When the board - is turned back on, the GPS system should lock very quickly, typically - long before igniter installation and return to the flight line are - complete. - -
-
- Ground Testing - - An important aspect of preparing a rocket using electronic deployment - for flight is ground testing the recovery system. Thanks - to the bi-directional RF link central to the Altus Metrum system, - this can be accomplished in a TeleMetrum-equipped rocket without as - much work as you may be accustomed to with other systems. It can - even be fun! - - - Just prep the rocket for flight, then power up TeleMetrum while the - airframe is horizontal. This will cause the firmware to go into - "idle" mode, in which the normal flight state machine is disabled and - charges will not fire without manual command. Then, establish an - RF packet connection from a TeleDongle-equipped computer using the - P command from a safe distance. You can now command TeleMetrum to - fire the apogee or main charges to complete your testing. - - - In order to reduce the chance of accidental firing of pyrotechnic - charges, the command to fire a charge is intentionally somewhat - difficult to type, and the built-in help is slightly cryptic to - prevent accidental echoing of characters from the help text back at - the board from firing a charge. The command to fire the apogee - drogue charge is 'i DoIt drogue' and the command to fire the main - charge is 'i DoIt main'. - -
-
- Radio Link - - The chip our boards are based on incorporates an RF transceiver, but - it's not a full duplex system... each end can only be transmitting or - receiving at any given moment. So we had to decide how to manage the - link. - - - By design, TeleMetrum firmware listens for an RF connection when - it's in "idle mode" (turned on while the rocket is horizontal), which - allows us to use the RF link to configure the rocket, do things like - ejection tests, and extract data after a flight without having to - crack open the airframe. However, when the board is in "flight - mode" (turned on when the rocket is vertical) the TeleMetrum only - transmits and doesn't listen at all. That's because we want to put - ultimate priority on event detection and getting telemetry out of - the rocket and out over - the RF link in case the rocket crashes and we aren't able to extract - data later... - - - We don't use a 'normal packet radio' mode because they're just too - inefficient. The GFSK modulation we use is just FSK with the - baseband pulses passed through a - Gaussian filter before they go into the modulator to limit the - transmitted bandwidth. When combined with the hardware forward error - correction support in the cc1111 chip, this allows us to have a very - robust 38.4 kilobit data link with only 10 milliwatts of transmit power, - a whip antenna in the rocket, and a hand-held Yagi on the ground. We've - had flights to above 21k feet AGL with good reception, and calculations - suggest we should be good to well over 40k feet AGL with a 5-element yagi on - the ground. We hope to fly boards to higher altitudes soon, and would - of course appreciate customer feedback on performance in higher - altitude flights! - -
-
- Configurable Parameters - - Configuring a TeleMetrum board for flight is very simple. Because we - have both acceleration and pressure sensors, there is no need to set - a "mach delay", for example. The few configurable parameters can all - be set using a simple terminal program over the USB port or RF link - via TeleDongle. - -
- Radio Channel - - Our firmware supports 10 channels. The default channel 0 corresponds - to a center frequency of 434.550 Mhz, and channels are spaced every - 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz. - At any given launch, we highly recommend coordinating who will use - each channel and when to avoid interference. And of course, both - TeleMetrum and TeleDongle must be configured to the same channel to - successfully communicate with each other. - - - To set the radio channel, use the 'c r' command, like 'c r 3' to set - channel 3. - As with all 'c' sub-commands, follow this with a 'c w' to write the - change to the parameter block in the on-board DataFlash chip on - your TeleMetrum board if you want the change to stay in place across reboots. - -
-
- Apogee Delay - - Apogee delay is the number of seconds after TeleMetrum detects flight - apogee that the drogue charge should be fired. In most cases, this - should be left at the default of 0. However, if you are flying - redundant electronics such as for an L3 certification, you may wish - to set one of your altimeters to a positive delay so that both - primary and backup pyrotechnic charges do not fire simultaneously. - - - 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. - - - Please note that the TeleMetrum apogee detection algorithm always - fires a fraction of a second *after* apogee. If you are also flying - an altimeter like the PerfectFlite MAWD, which only supports selecting - 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0 - seconds delay and set the TeleMetrum to fire your backup 2 or 3 - seconds later to avoid any chance of both charges firing - simultaneously. We've flown several airframes this way quite happily, - including Keith's successful L3 cert. - -
-
- Main Deployment Altitude - - By default, TeleMetrum will fire the main deployment charge at an - elevation of 250 meters (about 820 feet) above ground. We think this - is a good elevation for most airframes, but feel free to change this - to suit. In particular, if you are flying two altimeters, you may - wish to set the - deployment elevation for the backup altimeter to be something lower - than the primary so that both pyrotechnic charges don't fire - simultaneously. - - - 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. - -
-
-
- Calibration - - There are only two calibrations required for a TeleMetrum board, and - only one for TeleDongle. - -
- Radio Frequency - - 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. - - - To calibrate the radio frequency, connect the UHF antenna port to a - frequency counter, set the board to channel 0, and use the 'C' - command to generate a CW carrier. Wait for the transmitter temperature - to stabilize and the frequency to settle down. - Then, divide 434.550 Mhz by the - measured frequency and multiply by the current radio cal value show - in the 'c s' command. For an unprogrammed board, the default value - is 1186611. Take the resulting integer and program it using the 'c f' - command. Testing with the 'C' command again should show a carrier - within a few tens of Hertz of the intended frequency. - As with all 'c' sub-commands, follow this with a 'c w' to write the - change to the parameter block in the on-board DataFlash chip. - -
-
- Accelerometer - - The accelerometer we use has its own 5 volt power supply and - the output must be passed through a resistive voltage divider to match - the input of our 3.3 volt ADC. This means that unlike the barometric - sensor, the output of the acceleration sensor is not ratiometric to - the ADC converter, and calibration is required. We also support the - use of any of several accelerometers from a Freescale family that - includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity, - a simple 2-point calibration yields acceptable results capturing both - the different sensitivities and ranges of the different accelerometer - parts and any variation in power supply voltages or resistor values - in the divider network. - - - 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. - - - 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. - - - 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). - -
-
- - - -
- Updating Device Firmware - - The big conceptual thing to realize is that you have to use a - TeleDongle as a programmer to update a TeleMetrum, and vice versa. - Due to limited memory resources in the cc1111, we don't support - programming either unit directly over USB. - - - 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 . - - - We recommend updating TeleMetrum first, before updating TeleDongle. - -
- Updating TeleMetrum Firmware - - - 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. - - - Take the 2 screws out of the TeleDongle case to get access - to the circuit board. - - - 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. - - - Attach a battery to the TeleMetrum board. - - - Plug the TeleDongle into your computer's USB port, and power - up the TeleMetrum. - - - Run AltosUI, and select 'Flash Image' from the File menu. - - - Pick the TeleDongle device from the list, identifying it as the - programming device. - - - Select the image you want put on the TeleMetrum, which should have a - name in the form telemetrum-v1.0-0.7.1.ihx. It should be visible - in the default directory, if not you may have to poke around - your system to find it. - - - 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. - - - Hit the 'OK' button and the software should proceed to flash - the TeleMetrum with new firmware, showing a progress bar. - - - 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. - - - If something goes wrong, give it another try. - - -
-
- Updating TeleDongle Firmware - - Updating TeleDongle's firmware is just like updating TeleMetrum - firmware, but you switch which board is the programmer and which - is the programming target. - - - - 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. - - - 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. - - - Take the 2 screws out of the TeleDongle case to get access - to the circuit board. - - - Plug the 8-pin end of the programming cable to the (latching) - matching connector on the TeleMetrum, and the 4-pin end to the - matching connector on the TeleDongle. - Note that each MicroMaTch connector has an alignment pin that - goes through a hole in the PC board when you have the cable - oriented correctly. - - - Attach a battery to the TeleMetrum board. - - - Plug both TeleMetrum and TeleDongle into your computer's USB - ports, and power up the TeleMetrum. - - - Run AltosUI, and select 'Flash Image' from the File menu. - - - Pick the TeleMetrum device from the list, identifying it as the - programming device. - - - Select the image you want put on the TeleDongle, which should have a - name in the form teledongle-v0.2-0.7.1.ihx. It should be visible - in the default directory, if not you may have to poke around - your system to find it. - - - 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. - - - Hit the 'OK' button and the software should proceed to flash - the TeleDongle with new firmware, showing a progress bar. - - - 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. - - - If something goes wrong, give it another try. - - - - 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. - -
-
- - - -
- - - AltosUI - - The AltosUI program provides a graphical user interface for - interacting with the Altus Metrum product family, including - TeleMetrum and TeleDongle. AltosUI can monitor telemetry data, - configure TeleMetrum and TeleDongle devices and many other - tasks. The primary interface window provides a selection of - buttons, one for each major activity in the system. This manual - is split into chapters, each of which documents one of the tasks - provided from the top-level toolbar. - -
- Packet Command Mode - Controlling TeleMetrum Over The Radio Link - - One of the unique features of the Altos Metrum environment is - the ability to create a two way command link between TeleDongle - and TeleMetrum using the digital radio transceivers built into - each device. This allows you to interact with TeleMetrum from - afar, as if it were directly connected to the computer. - - - Any operation which can be performed with TeleMetrum - can either be done with TeleMetrum directly connected to - the computer via the USB cable, or through the packet - link. Simply select the appropriate TeleDongle device when - the list of devices is presented and AltosUI will use packet - command mode. - - - One oddity in the current interface is how AltosUI selects the - channel for packet mode communications. Instead of providing - an interface to specifically configure the channel, it uses - whatever channel was most recently selected for the target - TeleDongle device in Monitor Flight mode. If you haven't ever - used that mode with the TeleDongle in question, select the - Monitor Flight button from the top level UI, pick the - appropriate TeleDongle device. Once the flight monitoring - window is open, select the desired channel and then close it - down again. All Packet Command Mode operations will now use - that channel. - - - - - Save Flight Data—Recover flight data from the rocket without - opening it up. - - - - - Configure TeleMetrum—Reset apogee delays or main deploy - heights to respond to changing launch conditions. You can - also 'reboot' the TeleMetrum device. Use this to remotely - enable the flight computer by turning TeleMetrum on while - horizontal, then once the airframe is oriented for launch, - you can reboot TeleMetrum and have it restart in pad mode - without having to climb the scary ladder. - - - - - Fire Igniters—Test your deployment charges without snaking - wires out through holes in the airframe. Simply assembly the - rocket as if for flight with the apogee and main charges - loaded, then remotely command TeleMetrum to fire the - igniters. - - - - - Packet command mode uses the same RF channels as telemetry - mode. Configure the desired TeleDongle channel using the - flight monitor window channel selector and then close that - window before performing the desired operation. - - - TeleMetrum only enables packet command mode in 'idle' mode, so - make sure you have TeleMetrum lying horizontally when you turn - it on. Otherwise, TeleMetrum will start in 'pad' mode ready for - flight and will not be listening for command packets from TeleDongle. - - - When packet command mode is enabled, you can monitor the link - by watching the lights on the TeleDongle and TeleMetrum - devices. The red LED will flash each time TeleDongle or - TeleMetrum transmit a packet while the green LED will light up - on TeleDongle while it is waiting to receive a packet from - TeleMetrum. - -
-
- Monitor Flight - Receive, Record and Display Telemetry Data - - 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. - - - 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. - - - The radio channel being monitored by the TeleDongle device is - displayed at the top of the window. You can configure the - channel by clicking on the channel box and selecting the desired - channel. AltosUI remembers the last channel selected for each - TeleDongle and selects that automatically the next time you use - that device. - - - Below the TeleDongle channel selector, the window contains a few - significant pieces of information about the TeleMetrum providing - the telemetry data stream: - - - - The TeleMetrum callsign - - - The TeleMetrum serial number - - - The flight number. Each TeleMetrum remembers how many - times it has flown. - - - - - The rocket flight state. Each flight passes through several - states including Pad, Boost, Fast, Coast, Drogue, Main and - Landed. - - - - - The Received Signal Strength Indicator value. This lets - you know how strong a signal TeleDongle is receiving. The - radio inside TeleDongle operates down to about -99dBm; - weaker signals may not be receiveable. The packet link uses - error correction and detection techniques which prevent - incorrect data from being reported. - - - - - Finally, the largest portion of the window contains a set of - tabs, each of which contain some information about the rocket. - They're arranged in 'flight order' so that as the flight - progresses, the selected tab automatically switches to display - data relevant to the current state of the flight. You can select - other tabs at any time. The final 'table' tab contains all of - the telemetry data in one place. - -
- Launch Pad - - 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: - - - - Battery Voltage. This indicates whether the LiPo battery - powering the TeleMetrum has sufficient charge to last for - the duration of the flight. A value of more than - 3.7V is required for a 'GO' status. - - - - - Apogee Igniter Voltage. This indicates whether the apogee - igniter has continuity. If the igniter has a low - resistance, then the voltage measured here will be close - to the LiPo battery voltage. A value greater than 3.2V is - required for a 'GO' status. - - - - - Main Igniter Voltage. This indicates whether the main - igniter has continuity. If the igniter has a low - resistance, then the voltage measured here will be close - to the LiPo battery voltage. A value greater than 3.2V is - required for a 'GO' status. - - - - - GPS Locked. This indicates whether the GPS receiver is - currently able to compute position information. GPS requires - at least 4 satellites to compute an accurate position. - - - - - GPS Ready. This indicates whether GPS has reported at least - 10 consecutive positions without losing lock. This ensures - that the GPS receiver has reliable reception from the - satellites. - - - - - The LaunchPad tab also shows the computed launch pad position - and altitude, averaging many reported positions to improve the - accuracy of the fix. - - -
-
- Ascent - - This tab is shown during Boost, Fast and Coast - phases. The information displayed here helps monitor the - rocket as it heads towards apogee. - - - The height, speed and acceleration are shown along with the - maxium values for each of them. This allows you to quickly - answer the most commonly asked questions you'll hear during - flight. - - - The current latitude and longitude reported by the GPS are - also shown. Note that under high acceleration, these values - may not get updated as the GPS receiver loses position - fix. Once the rocket starts coasting, the receiver should - start reporting position again. - - - Finally, the current igniter voltages are reported as in the - Launch Pad tab. This can help diagnose deployment failures - caused by wiring which comes loose under high acceleration. - -
-
- Descent - - Once the rocket has reached apogee and (we hope) activated the - apogee charge, attention switches to tracking the rocket on - the way back to the ground, and for dual-deploy flights, - waiting for the main charge to fire. - - - To monitor whether the apogee charge operated correctly, the - current descent rate is reported along with the current - height. Good descent rates generally range from 15-30m/s. - - - To help locate the rocket in the sky, use the elevation and - bearing information to figure out where to look. Elevation is - in degrees above the horizon. Bearing is reported in degrees - relative to true north. Range can help figure out how big the - rocket will appear. Note that all of these values are relative - to the pad location. If the elevation is near 90°, the rocket - is over the pad, not over you. - - - Finally, the igniter voltages are reported in this tab as - well, both to monitor the main charge as well as to see what - the status of the apogee charge is. - -
-
- Landed - - Once the rocket is on the ground, attention switches to - recovery. While the radio signal is generally lost once the - rocket is on the ground, the last reported GPS position is - generally within a short distance of the actual landing location. - - - The last reported GPS position is reported both by - latitude and longitude as well as a bearing and distance from - the launch pad. The distance should give you a good idea of - whether you'll want to walk or hitch a ride. Take the reported - latitude and longitude and enter them into your handheld GPS - unit and have that compute a track to the landing location. - - - Finally, the maximum height, speed and acceleration reported - during the flight are displayed for your admiring observers. - -
-
- Site Map - - When the rocket gets a GPS fix, the Site Map tab will map - the rocket's position to make it easier for you to locate the - rocket, both while it is in the air, and when it has landed. The - rocket's state is indicated by colour: white for pad, red for - boost, pink for fast, yellow for coast, light blue for drogue, - dark blue for main, and black for landed. - - - The map's scale is approximately 3m (10ft) per pixel. The map - can be dragged using the left mouse button. The map will attempt - to keep the rocket roughly centred while data is being received. - - - Images are fetched automatically via the Google Maps Static API, - and are cached for reuse. If map images cannot be downloaded, - the rocket's path will be traced on a dark grey background - instead. - -
-
-
- Save Flight Data - - TeleMetrum records flight data to its internal flash memory. - This data is recorded at a much higher rate than the telemetry - system can handle, and is not subject to radio drop-outs. As - such, it provides a more complete and precise record of the - flight. The 'Save Flight Data' button allows you to read the - flash memory and write it to disk. - - - Clicking on the 'Save Flight Data' button brings up a list of - connected TeleMetrum and TeleDongle devices. If you select a - TeleMetrum device, the flight data will be downloaded from that - device directly. If you select a TeleDongle device, flight data - will be downloaded from a TeleMetrum device connected via the - packet command link to the specified TeleDongle. See the chapter - on Packet Command Mode for more information about this. - - - The filename for the data is computed automatically from the recorded - flight date, TeleMetrum serial number and flight number - information. - -
-
- Replay Flight - - Select this button and you are prompted to select a flight - record file, either a .telem file recording telemetry data or a - .eeprom file containing flight data saved from the TeleMetrum - flash memory. - - - Once a flight record is selected, the flight monitor interface - is displayed and the flight is re-enacted in real time. Check - the Monitor Flight chapter above to learn how this window operates. - -
-
- Graph Data - - Select this button and you are prompted to select a flight - record file, either a .telem file recording telemetry data or a - .eeprom file containing flight data saved from the TeleMetrum - flash memory. - - - Once a flight record is selected, the acceleration (blue), - velocity (green) and altitude (red) of the flight are plotted and - displayed, measured in metric units. - - - The graph can be zoomed into a particular area by clicking and - dragging down and to the right. Once zoomed, the graph can be - reset by clicking and dragging up and to the left. Holding down - control and clicking and dragging allows the graph to be panned. - The right mouse button causes a popup menu to be displayed, giving - you the option save or print the plot. - - - Note that telemetry files will generally produce poor graphs - due to the lower sampling rate and missed telemetry packets, - and will also often have significant amounts of data received - while the rocket was waiting on the pad. Use saved flight data - for graphing where possible. - -
-
- Export Data - - This tool takes the raw data files and makes them available for - external analysis. When you select this button, you are prompted to select a flight - data file (either .eeprom or .telem will do, remember that - .eeprom files contain higher resolution and more continuous - data). Next, a second dialog appears which is used to select - where to write the resulting file. It has a selector to choose - between CSV and KML file formats. - -
- Comma Separated Value Format - - This is a text file containing the data in a form suitable for - import into a spreadsheet or other external data analysis - tool. The first few lines of the file contain the version and - configuration information from the TeleMetrum device, then - there is a single header line which labels all of the - fields. All of these lines start with a '#' character which - most tools can be configured to skip over. - - - The remaining lines of the file contain the data, with each - field separated by a comma and at least one space. All of - the sensor values are converted to standard units, with the - barometric data reported in both pressure, altitude and - height above pad units. - -
-
- Keyhole Markup Language (for Google Earth) - - This is the format used by - Googleearth to provide an overlay within that - application. With this, you can use Googleearth to see the - whole flight path in 3D. - -
-
-
- Configure TeleMetrum - - Select this button and then select either a TeleMetrum or - TeleDongle Device from the list provided. Selecting a TeleDongle - device will use Packet Comamnd Mode to configure remote - TeleMetrum device. Learn how to use this in the Packet Command - Mode chapter. - - - The first few lines of the dialog provide information about the - connected TeleMetrum device, including the product name, - software version and hardware serial number. Below that are the - individual configuration entries. - - - At the bottom of the dialog, there are four buttons: - - - - - Save. This writes any changes to the TeleMetrum - configuration parameter block in flash memory. If you don't - press this button, any changes you make will be lost. - - - - - Reset. This resets the dialog to the most recently saved values, - erasing any changes you have made. - - - - - Reboot. This reboots the TeleMetrum device. Use this to - switch from idle to pad mode by rebooting once the rocket is - oriented for flight. - - - - - Close. This closes the dialog. Any unsaved changes will be - lost. - - - - - The rest of the dialog contains the parameters to be configured. - -
- Main Deploy Altitude - - This sets the altitude (above the recorded pad altitude) at - which the 'main' igniter will fire. The drop-down menu shows - some common values, but you can edit the text directly and - choose whatever you like. If the apogee charge fires below - this altitude, then the main charge will fire two seconds - after the apogee charge fires. - -
-
- Apogee Delay - - When flying redundant electronics, it's often important to - ensure that multiple apogee charges don't fire at precisely - the same time as that can overpressurize the apogee deployment - bay and cause a structural failure of the airframe. The Apogee - Delay parameter tells the flight computer to fire the apogee - charge a certain number of seconds after apogee has been - detected. - -
-
- Radio Channel - - This configures which of the 10 radio channels to use for both - telemetry and packet command mode. Note that if you set this - value via packet command mode, you will have to reconfigure - the TeleDongle channel before you will be able to use packet - command mode again. - -
-
- Radio Calibration - - The radios in every Altus Metrum device are calibrated at the - factory to ensure that they transmit and receive on the - specified frequency for each channel. You can adjust that - calibration by changing this value. To change the TeleDongle's - calibration, you must reprogram the unit completely. - -
-
- Callsign - - This sets the callsign included in each telemetry packet. Set this - as needed to conform to your local radio regulations. - -
-
-
- Configure AltosUI - - This button presents a dialog so that you can configure the AltosUI global settings. - -
- Voice Settings - - AltosUI provides voice annoucements during flight so that you - can keep your eyes on the sky and still get information about - the current flight status. However, sometimes you don't want - to hear them. - - - - Enable—turns all voice announcements on and off - - - - Test Voice—Plays a short message allowing you to verify - that the audio systme is working and the volume settings - are reasonable - - - -
-
- Log Directory - - AltosUI logs all telemetry data and saves all TeleMetrum flash - data to this directory. This directory is also used as the - staring point when selecting data files for display or export. - - - Click on the directory name to bring up a directory choosing - dialog, select a new directory and click 'Select Directory' to - change where AltosUI reads and writes data files. - -
-
- Callsign - - This value is used in command packet mode and is transmitted - in each packet sent from TeleDongle and received from - TeleMetrum. It is not used in telemetry mode as that transmits - packets only from TeleMetrum to TeleDongle. Configure this - with the AltosUI operators callsign as needed to comply with - your local radio regulations. - -
-
-
- Flash Image - - This reprograms any Altus Metrum device by using a TeleMetrum or - TeleDongle as a programming dongle. Please read the directions - for connecting the programming cable in the main TeleMetrum - manual before reading these instructions. - - - Once you have the programmer and target devices connected, - push the 'Flash Image' button. That will present a dialog box - listing all of the connected devices. Carefully select the - programmer device, not the device to be programmed. - - - Next, select the image to flash to the device. These are named - with the product name and firmware version. The file selector - will start in the directory containing the firmware included - with the AltosUI package. Navigate to the directory containing - the desired firmware if it isn't there. - - - Next, a small dialog containing the device serial number and - RF calibration values should appear. If these values are - incorrect (possibly due to a corrupted image in the device), - enter the correct values here. - - - Finally, a dialog containing a progress bar will follow the - programming process. - - - When programming is complete, the target device will - reboot. Note that if the target device is connected via USB, you - will have to unplug it and then plug it back in for the USB - connection to reset so that you can communicate with the device - again. - -
-
- Fire Igniter - - This activates the igniter circuits in TeleMetrum to help test - recovery systems deployment. Because this command can operate - over the Packet Command Link, you can prepare the rocket as - for flight and then test the recovery system without needing - to snake wires inside the airframe. - - - Selecting the 'Fire Igniter' button brings up the usual device - selection dialog. Pick the desired TeleDongle or TeleMetrum - device. This brings up another window which shows the current - continutity test status for both apogee and main charges. - - - Next, select the desired igniter to fire. This will enable the - 'Arm' button. - - - Select the 'Arm' button. This enables the 'Fire' button. The - word 'Arm' is replaced by a countdown timer indicating that - you have 10 seconds to press the 'Fire' button or the system - will deactivate, at which point you start over again at - selecting the desired igniter. - -
-
- - Using Altus Metrum Products -
- Being Legal - - First off, in the US, you need an amateur radio license or - other authorization to legally operate the radio transmitters that are part - of our products. - -
- In the Rocket - - In the rocket itself, you just need a TeleMetrum board and - a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V - alkaline battery, and will run a TeleMetrum for hours. - - - By default, we ship TeleMetrum with a simple wire antenna. If your - electronics bay or the airframe it resides within is made of carbon fiber, - which is opaque to RF signals, you may choose to have an SMA connector - installed so that you can run a coaxial cable to an antenna mounted - elsewhere in the rocket. - -
-
- On the Ground - - To receive the data stream from the rocket, you need an antenna and short - feedline connected to one of our TeleDongle units. The - TeleDongle in turn plugs directly into the USB port on a notebook - computer. Because TeleDongle looks like a simple serial port, your computer - does not require special device drivers... just plug it in. - - - The GUI tool, AltosUI, is written in Java and runs across - Linux, Mac OS and Windows. There's also a suite of C tools - for Linux which can perform most of the same tasks. - - - After the flight, you can use the RF link to extract the more detailed data - logged in the rocket, or you can use a mini USB cable to plug into the - TeleMetrum board directly. Pulling out the data without having to open up - the rocket is pretty cool! A USB cable is also how you charge the LiPo - battery, so you'll want one of those anyway... the same cable used by lots - of digital cameras and other modern electronic stuff will work fine. - - - If your rocket lands out of sight, you may enjoy having a hand-held GPS - receiver, so that you can put in a waypoint for the last reported rocket - position before touch-down. This makes looking for your rocket a lot like - Geo-Cacheing... just go to the waypoint and look around starting from there. - - - You may also enjoy having a ham radio "HT" that covers the 70cm band... you - can use that with your antenna to direction-find the rocket on the ground - the same way you can use a Walston or Beeline tracker. This can be handy - if the rocket is hiding in sage brush or a tree, or if the last GPS position - doesn't get you close enough because the rocket dropped into a canyon, or - the wind is blowing it across a dry lake bed, or something like that... Keith - and Bdale both currently own and use the Yaesu VX-7R at launches. - - - So, to recap, on the ground the hardware you'll need includes: - - - an antenna and feedline - - - a TeleDongle - - - a notebook computer - - - optionally, a handheld GPS receiver - - - optionally, an HT or receiver covering 435 Mhz - - - - - The best hand-held commercial directional antennas we've found for radio - direction finding rockets are from - - Arrow Antennas. - - The 440-3 and 440-5 are both good choices for finding a - TeleMetrum-equipped rocket when used with a suitable 70cm HT. - -
-
- Data Analysis - - Our software makes it easy to log the data from each flight, both the - telemetry received over the RF link during the flight itself, and the more - complete data log recorded in the DataFlash memory on the TeleMetrum - board. Once this data is on your computer, our postflight tools make it - easy to quickly get to the numbers everyone wants, like apogee altitude, - max acceleration, and max velocity. You can also generate and view a - standard set of plots showing the altitude, acceleration, and - velocity of the rocket during flight. And you can even export a data file - useable with Google Maps and Google Earth for visualizing the flight path - in two or three dimensions! - - - Our ultimate goal is to emit a set of files for each flight that can be - published as a web page per flight, or just viewed on your local disk with - a web browser. - -
-
- Future Plans - - In the future, we intend to offer "companion boards" for the rocket that will - plug in to TeleMetrum to collect additional data, provide more pyro channels, - and so forth. A reference design for a companion board will be documented - soon, and will be compatible with open source Arduino programming tools. - - - We are also working on the design of a hand-held ground terminal that will - allow monitoring the rocket's status, collecting data during flight, and - logging data after flight without the need for a notebook computer on the - flight line. Particularly since it is so difficult to read most notebook - screens in direct sunlight, we think this will be a great thing to have. - - - Because all of our work is open, both the hardware designs and the software, - if you have some great idea for an addition to the current Altus Metrum family, - feel free to dive in and help! Or let us know what you'd like to see that - we aren't already working on, and maybe we'll get excited about it too... - -
-
-
-
- -- cgit v1.2.3 From 13cea7a96821165a10a8b2433af1da7508882b0a Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Sun, 28 Nov 2010 18:48:31 -0700 Subject: moved doc dir in web content to AltOS tree --- doc/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 14f9bee2..a64ae560 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -23,8 +23,8 @@ PDFSTYLE= all: $(HTML) $(PDF) publish: $(DOC) - cp $(DOC)altusmetrum.html home/bdale/web/altusmetrum/TeleMetrum/doc/ - (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/TeleMetrum/doc/* ; git push) + cp $(DOC)altusmetrum.html /home/bdale/web/altusmetrum/AltOS/doc/ + (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/AltOS/doc/* ; git push) clean: rm -f *.html *.pdf *.fo -- cgit v1.2.3 From f39698bbc12afdfadfac56c90030e16db93cf4fc Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Sun, 28 Nov 2010 19:46:03 -0700 Subject: fix publish target in doc/Makefile --- doc/Makefile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index a64ae560..ef3ef6d1 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -23,8 +23,12 @@ PDFSTYLE= all: $(HTML) $(PDF) publish: $(DOC) - cp $(DOC)altusmetrum.html /home/bdale/web/altusmetrum/AltOS/doc/ - (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/AltOS/doc/* ; git push) + cp $(DOC) /home/bdale/web/altusmetrum/AltOS/doc/ + (cd /home/bdale/web/altusmetrum ; \ + git add /home/bdale/web/altusmetrum/AltOS/doc/* ; \ + echo "update docs" | \ + git commit -F - /home/bdale/web/altusmetrum/AltOS/doc/* ; \ + git push) clean: rm -f *.html *.pdf *.fo -- cgit v1.2.3 From 92d7841edcfc8a841f71f7f97cc541f8e55c4627 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 18 Jan 2011 20:39:30 -0800 Subject: doc: Don't delete telemetrum-outline.pdf This has a drilling template for the board. Signed-off-by: Keith Packard --- doc/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index ef3ef6d1..ea030189 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -31,10 +31,10 @@ publish: $(DOC) git push) clean: - rm -f *.html *.pdf *.fo + rm -f $(HTML) $(PDF) *.fo distclean: - rm -f *.html *.pdf *.fo + rm -f $(HTML) $(PDF) *.fo indent: altusmetrum.xsl xmlindent -i 2 < altusmetrum.xsl > altusmetrum.new -- cgit v1.2.3 From 4ae724fe1d2ca0d712321c4fdc2200ff46d77428 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Tue, 18 Jan 2011 23:54:36 -0700 Subject: we need an install target to prevent parent dir make from failing --- doc/Makefile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index ea030189..80c84409 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -22,6 +22,8 @@ PDFSTYLE= all: $(HTML) $(PDF) +install: all + publish: $(DOC) cp $(DOC) /home/bdale/web/altusmetrum/AltOS/doc/ (cd /home/bdale/web/altusmetrum ; \ -- cgit v1.2.3 From 06e82bd2c2a5eea153a053e542df9bc3537e9a01 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 2 Jul 2011 01:50:33 -0700 Subject: doc: Add telemetry format description Document the telemetry packet contents. Signed-off-by: Keith Packard --- doc/Makefile | 10 +- doc/telemetry.xsl | 572 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 578 insertions(+), 4 deletions(-) create mode 100644 doc/telemetry.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 80c84409..b431f4ca 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,8 +2,8 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -HTML=altusmetrum.html altos.html -PDF=altusmetrum.pdf altos.pdf +HTML=altusmetrum.html altos.html telemetry.html +PDF=altusmetrum.pdf altos.pdf telemetry.pdf DOC=$(HTML) $(PDF) HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl @@ -11,11 +11,13 @@ PDFSTYLE= .SUFFIXES: .xsl .html .fo .pdf +XSLTFLAGS=--stringparam section.autolabel 1 + .xsl.html: - xsltproc -o $@ $(HTMLSTYLE) $*.xsl + xsltproc $(XSLTFLAGS) -o $@ $(HTMLSTYLE) $*.xsl .xsl.fo: - xsltproc -o $@ $(FOSTYLE) $*.xsl + xsltproc $(XSLTFLAGS) -o $@ $(FOSTYLE) $*.xsl .fo.pdf: fop -fo $*.fo -pdf $@ diff --git a/doc/telemetry.xsl b/doc/telemetry.xsl new file mode 100644 index 00000000..8f0c3ff0 --- /dev/null +++ b/doc/telemetry.xsl @@ -0,0 +1,572 @@ + + + +
+ + AltOS Telemetry + Packet Definitions + + Keith + Packard + + + 2011 + Keith Packard + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 0.1 + 01 July 2011 + Initial content + + + +
+ History and Motivation + + The original AltoOS telemetry mechanism encoded everything + available piece of information on the TeleMetrum hardware into a + single unified packet. Initially, the packets contained very + little data—some raw sensor readings along with the current GPS + coordinates when a GPS receiver was connected. Over time, the + amount of data grew to include sensor calibration data, GPS + satellite information and a host of internal state information + designed to help diagnose flight failures in case of a loss of + the on-board flight data. + + + Because every packet contained all of the data, packets were + huge—95 bytes long. Much of the information was also specific to + the TeleMetrum hardware. With the introduction of the TeleMini + flight computer, most of the data contained in the telemetry + packets was unavailable. Initially, a shorter, but still + comprehensive packet was implemented. This required that the + ground station be pre-configured as to which kind of packet to + expect. + + + The development of several companion boards also made the + shortcomings evident—each companion board would want to include + telemetry data in the radio link; with the original design, the + packet would have to hold the new data as well, requiring + additional TeleMetrum and ground station changes. + +
+
+ Packet Format Design + + AltOS telemetry data is split into multiple different packets, + all the same size, but each includs an identifier so that the + ground station can distinguish among different types. A single + flight board will transmit multiple packet types, each type on a + different schedule. The ground software need look for only a + single packet size, and then decode the information within the + packet and merge data from multiple packets to construct the + full flight computer state. + + + Each AltOS packet is 32 bytes long. This size was chosen based + on the known telemetry data requirements. The power of two size + allows them to be stored easily in flash memory without having + them split across blocks or leaving gaps at the end. + + + All packet types start with a five byte header which encodes the + device serial number, device clock value and the packet + type. The remaining 27 bytes encode type-specific data. + +
+
+ Packet Formats + This section first defines the packet header common to all packets + and then the per-packet data layout. +
+ Packet Header + + Telemetry Packet Header + + + + + + + + Offset + Data Type + Name + Description + + + + + 0 + uint16_t + serial + Device serial Number + + + 2 + uint16_t + tick + Device time in 100ths of a second + + + 4 + uint8_t + type + Packet type + + + 5 + + + +
+ + Each packet starts with these five bytes which serve to identify + which device has transmitted the packet, when it was transmitted + and what the rest of the packet contains. + +
+
+ Sensor Data + + + + + + + Type + Description + + + + + 0x01 + TeleMetrum Sensor Data + + + 0x02 + TeleMini Sensor Data + + + 0x03 + TeleNano Sensor Data + + + + + + TeleMetrum, TeleMini and TeleNano share this same packet + format for sensor data. Each uses a distinct packet type so + that the receiver knows which data values are valid and which + are undefined. + + + Sensor Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_tstateFlight state + + + 6int16_taccelaccelerometer (TM only) + + + 8int16_tprespressure sensor + + + 10int16_ttemptemperature sensor + + + 12int16_tv_battbattery voltage + + + 14int16_tsense_ddrogue continuity sense (TM/Tm) + + + 16int16_tsense_mmain continuity sense (TM/Tm) + + + 18int16_taccelm/s² * 16 + + + 20int16_tspeedm/s * 16 + + + 22int16_theightm + + + 24int16_tground_accelTM + + + 26int16_tground_presAverage barometer reading on ground + + + 28int16_taccel_plus_gTM + + + 30int16_taccel_minus_gTM + + + 32 + + + +
+
+
+ Configuration Data + + + + + + + Type + Description + + + + + 0x04 + Configuration Data + + + + + + Sensor Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_ttypeDevice type + + + 6uint16_tflightFlight number + + + 8uint8_tconfig_majorConfig major version + + + 9uint8_tconfig_minorConfig minor version + + + 10uint16_tmain_deployMain deploy alt in meters + + + 12uint32_tflight_log_maxMaximum flight log size (B) + + + 16charcallsign[8]Radio operator identifier + + + 24charversion[8]Software version identifier + + + 32 + + + +
+
+
+ GPS Location + + + + + + + Type + Description + + + + + 0x05 + GPS Location + + + + + + GPS Location Packet Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_tflagsGPS Flags (see below) + + + 6int16_taltitudem + + + 8int32_tlatitudedegrees * 107 + + + 12int32_tlongitudedegrees * 107 + + + 16uint8_tyear + + + 17uint8_tmonth + + + 18uint8_tday + + + 19uint8_thour + + + 20uint8_tminute + + + 21uint8_tsecond + + + 22uint8_tpdop* 5 + + + 23uint8_thdop* 5 + + + 24uint8_tvdop* 5 + + + 25uint8_tmodeN, A, D, E, M, S + + + 26uint16_tground_speedcm/s + + + 28uint8_tcourse/ 2 + + + 29uint8_tunused[2] + + + 32 + + + +
+
+
+ GPS Satellite Data + + + + + + + Type + Description + + + + + 0x06 + GPS Satellite Data + + + + + + GPS Satellite Data Contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 5uint8_tchannels + + + 6uint8_tsat_0_id + + + 7uint8_tsat_0_c_n_1 + + + 8uint8_tsat_1_id + + + 9uint8_tsat_1_c_n_1 + + + 10uint8_tsat_2_id + + + 11uint8_tsat_2_c_n_1 + + + 12uint8_tsat_3_id + + + 13uint8_tsat_3_c_n_1 + + + 14uint8_tsat_4_id + + + 15uint8_tsat_4_c_n_1 + + + 16uint8_tsat_5_id + + + 17uint8_tsat_5_c_n_1 + + + 18uint8_tsat_6_id + + + 19uint8_tsat_6_c_n_1 + + + 20uint8_tsat_7_id + + + 21uint8_tsat_7_c_n_1 + + + 22uint8_tsat_8_id + + + 23uint8_tsat_8_c_n_1 + + + 24uint8_tsat_9_id + + + 25uint8_tsat_9_c_n_1 + + + 26uint8_tsat_10_id + + + 27uint8_tsat_10_c_n_1 + + + 28uint8_tsat_11_id + + + 29uint8_tsat_11_c_n_1 + + + 30uin8_tunused30 + + + 31uin8_tunused31 + + + 32 + + + +
+
+
+
+ + \ No newline at end of file -- cgit v1.2.3 From a07b07d48f71b9a11e73a82db075cc57bad0c09f Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 10 Aug 2011 22:14:32 -0700 Subject: doc: Add release notes, include them in altusmetrum doc. Shuffle altusmetrum This adds release notes and includes them in the main altusmetrum doc as well as making stand-alone html available for inclusion in the website. Signed-off-by: Keith Packard --- doc/Makefile | 9 +- doc/altusmetrum.xsl | 1213 ++++++++++++++++++++++--------------------- doc/release-notes-0.7.1.xsl | 57 ++ doc/release-notes-0.8.xsl | 56 ++ doc/release-notes-0.9.2.xsl | 20 + doc/release-notes-0.9.xsl | 31 ++ 6 files changed, 783 insertions(+), 603 deletions(-) create mode 100644 doc/release-notes-0.7.1.xsl create mode 100644 doc/release-notes-0.8.xsl create mode 100644 doc/release-notes-0.9.2.xsl create mode 100644 doc/release-notes-0.9.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index b431f4ca..6d9ea8eb 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -2,7 +2,12 @@ # http://docbook.sourceforge.net/release/xsl/current/README # -HTML=altusmetrum.html altos.html telemetry.html +RELNOTES=\ + release-notes-0.7.1.html \ + release-notes-0.8.html \ + release-notes-0.9.html \ + release-notes-0.9.2.html +HTML=altusmetrum.html altos.html telemetry.html $(RELNOTES) PDF=altusmetrum.pdf altos.pdf telemetry.pdf DOC=$(HTML) $(PDF) HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl @@ -11,7 +16,7 @@ PDFSTYLE= .SUFFIXES: .xsl .html .fo .pdf -XSLTFLAGS=--stringparam section.autolabel 1 +XSLTFLAGS=--stringparam section.autolabel 1 --xinclude .xsl.html: xsltproc $(XSLTFLAGS) -o $@ $(HTMLSTYLE) $*.xsl diff --git a/doc/altusmetrum.xsl b/doc/altusmetrum.xsl index a3078b82..88c9b80a 100644 --- a/doc/altusmetrum.xsl +++ b/doc/altusmetrum.xsl @@ -175,541 +175,229 @@ NAR #88757, TRA #12200 The latest version may always be downloaded from . + + + Handling Precautions - Both Telemetrum and TeleDongle can be directly communicated - with using USB ports. The first thing you should try after getting - both units plugged into to your computer's usb port(s) is to run - 'ao-list' from a terminal-window to see what port-device-name each - device has been assigned by the operating system. - You will need this information to access the devices via their - respective on-board firmware and data using other command line - programs in the AltOS software suite. - - - TeleMini can be communicated with through a TeleDongle device - over the radio link. When first booted, TeleMini listens for a - TeleDongle device and if it receives a packet, it goes into - 'idle' mode. Otherwise, it goes into 'pad' mode and waits to be - launched. The easiest way to get it talking is to start the - communication link on the TeleDongle and the power up the - TeleMini board. - - - To access the device's firmware for configuration you need a terminal - program such as you would use to talk to a modem. The software - authors prefer using the program 'cu' which comes from the UUCP package - on most Unix-like systems such as Linux. An example command line for - cu might be 'cu -l /dev/ttyACM0', substituting the correct number - indicated from running the - ao-list program. Another reasonable terminal program for Linux is - 'cutecom'. The default 'escape' - character used by CU (i.e. the character you use to - issue commands to cu itself instead of sending the command as input - to the connected device) is a '~'. You will need this for use in - only two different ways during normal operations. First is to exit - the program by sending a '~.' which is called a 'escape-disconnect' - and allows you to close-out from 'cu'. The - second use will be outlined later. - - - All of the Altus Metrum devices share the concept of a two level - command set in their firmware. - The first layer has several single letter commands. Once - you are using 'cu' (or 'cutecom') sending (typing) a '?' - returns a full list of these - commands. The second level are configuration sub-commands accessed - using the 'c' command, for - instance typing 'c?' will give you this second level of commands - (all of which require the - letter 'c' to access). Please note that most configuration options - are stored only in Flash memory; TeleDongle doesn't provide any storage - for these options and so they'll all be lost when you unplug it. + All Altus Metrum products are sophisticated electronic device. When handled gently and + properly installed in an airframe, theywill deliver impressive results. + However, like all electronic devices, there are some precautions you + must take. - Try setting these config ('c' or second level menu) values. A good - place to start is by setting your call sign. By default, the boards - use 'N0CALL' which is cute, but not exactly legal! - Spend a few minutes getting comfortable with the units, their - firmware, and 'cu' (or possibly 'cutecom'). - For instance, try to send - (type) a 'c r 2' and verify the channel change by sending a 'c s'. - Verify you can connect and disconnect from the units while in your - terminal program by sending the escape-disconnect mentioned above. + The Lithium Polymer rechargeable batteries have an + extraordinary power density. This is great because we can fly with + much less battery mass than if we used alkaline batteries or previous + generation rechargeable batteries... but if they are punctured + or their leads are allowed to short, they can and will release their + energy very rapidly! + Thus we recommend that you take some care when handling our batteries + and consider giving them some extra protection in your airframe. We + often wrap them in suitable scraps of closed-cell packing foam before + strapping them down, for example. - Note that the 'reboot' command, which is very useful on the altimeters, - will likely just cause problems with the dongle. The *correct* way - to reset the dongle is just to unplug and re-plug it. + The barometric sensor is sensitive to sunlight. In normal + mounting situations, it and all of the other surface mount components + are "down" towards whatever the underlying mounting surface is, so + this is not normally a problem. Please consider this, though, when + designing an installation, for example, in an airframe with a + see-through plastic payload bay. - A fun thing to do at the launch site and something you can do while - learning how to use these units is to play with the rf-link access - between an altimeter and the TeleDongle. Be aware that you *must* create - some physical separation between the devices, otherwise the link will - not function due to signal overload in the receivers in each device. + The barometric sensor sampling port must be able to + "breathe", + both by not being covered by foam or tape or other materials that might + directly block the hole on the top of the sensor, but also by having a + suitable static vent to outside air. - Now might be a good time to take a break and read the rest of this - manual, particularly about the two "modes" that the altimeters - can be placed in. TeleMetrum uses the position of the device when booting - up will determine whether the unit is in "pad" or "idle" mode. TeleMini - enters "idle" mode when it receives a command packet within the first 5 seconds - of being powered up, otherwise it enters "pad" mode. + As with all other rocketry electronics, Altus Metrum altimeters must be protected + from exposure to corrosive motor exhaust and ejection charge gasses. + + + Hardware Overview - You can access an altimeter in idle mode from the Teledongle's USB - connection using the rf link - by issuing a 'p' command to the TeleDongle. Practice connecting and - disconnecting ('~~' while using 'cu') from the altimeter. If - you cannot escape out of the "p" command, (by using a '~~' when in - CU) then it is likely that your kernel has issues. Try a newer version. + TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to + fit inside coupler for 29mm airframe tubing, but using it in a tube that + small in diameter may require some creativity in mounting and wiring + to succeed! The default 1/4 + wave UHF wire antenna attached to the center of the nose-cone end of + the board is about 7 inches long, and wiring for a power switch and + the e-matches for apogee and main ejection charges depart from the + fin can end of the board. Given all this, an ideal "simple" avionics + bay for TeleMetrum should have at least 10 inches of interior length. - Using this rf link allows you to configure the altimeter, test - fire e-matches and igniters from the flight line, check pyro-match - continuity and so forth. You can leave the unit turned on while it - is in 'idle mode' and then place the - rocket vertically on the launch pad, walk away and then issue a - reboot command. The altimeter will reboot and start sending data - having changed to the "pad" mode. If the TeleDongle is not receiving - this data, you can disconnect 'cu' from the Teledongle using the - procedures mentioned above and THEN connect to the TeleDongle from - inside 'ao-view'. If this doesn't work, disconnect from the - TeleDongle, unplug it, and try again after plugging it back in. + TeleMini is a 0.5 inch by 1.5 inch circuit board. It was designed to + fit inside an 18mm airframe tube, but using it in a tube that + small in diameter may require some creativity in mounting and wiring + to succeed! The default 1/4 + wave UHF wire antenna attached to the center of the nose-cone end of + the board is about 7 inches long, and wiring for a power switch and + the e-matches for apogee and main ejection charges depart from the + fin can end of the board. Given all this, an ideal "simple" avionics + bay for TeleMini should have at least 9 inches of interior length. - On TeleMetrum, the GPS will eventually find enough satellites, lock in on them, - and 'ao-view' will both auditorially announce and visually indicate - that GPS is ready. - Now you can launch knowing that you have a good data path and - good satellite lock for flight data and recovery. Remember - you MUST tell ao-view to connect to the TeleDongle explicitly in - order for ao-view to be able to receive data. + A typical TeleMetrum or TeleMini installation using the on-board devices and + default wire UHF antenna involves attaching only a suitable + Lithium Polymer battery, a single pole switch for power on/off, and + two pairs of wires connecting e-matches for the apogee and main ejection + charges. - The altimeters provide RDF (radio direction finding) tones on - the pad, during descent and after landing. These can be used to - locate the rocket using a directional antenna; the signal - strength providing an indication of the direction from receiver to rocket. + By default, we use the unregulated output of the LiPo battery directly + to fire ejection charges. This works marvelously with standard + low-current e-matches like the J-Tek from MJG Technologies, and with + Quest Q2G2 igniters. However, if you + want or need to use a separate pyro battery, check out the "External Pyro Battery" + section in this manual for instructions on how to wire that up. The + altimeters are designed to work with an external pyro battery of up to 15V. - TeleMetrum also provides GPS trekking data, which can further simplify - locating the rocket once it has landed. (The last good GPS data - received before touch-down will be on the data screen of 'ao-view'.) + Ejection charges are wired directly to the screw terminal block + at the aft end of the altimeter. This is very similar to what + most other altimeter vendors provide and so may be the most + familiar option. You'll need a very small straight blade + screwdriver to connect and disconnect the board in this case, + such as you might find in a jeweler's screwdriver set. - Once you have recovered the rocket you can download the eeprom - contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over - either a USB cable or over the radio link using TeleDongle. - And by following the man page for 'ao-postflight' you can create - various data output reports, graphs, and even kml data to see the - flight trajectory in google-earth. (Moving the viewing angle making - sure to connect the yellow lines while in google-earth is the proper - technique.) + TeleMetrum also uses the screw terminal block for the power + switch leads. On TeleMini, the power switch leads are soldered + directly to the board and can be connected directly to the switch. - As for ao-view.... some things are in the menu but don't do anything - very useful. The developers have stopped working on ao-view to focus - on a new, cross-platform ground station program. So ao-view may or - may not be updated in the future. Mostly you just use - the Log and Device menus. It has a wonderful display of the incoming - flight data and I am sure you will enjoy what it has to say to you - once you enable the voice output! + For most airframes, the integrated antennas are more than + adequate However, if you are installing in a carbon-fiber + electronics bay which is opaque to RF signals, you may need to + use off-board external antennas instead. In this case, you can + order an altimeter with an SMA connector for the UHF antenna + connection, and, on TeleMetrum, you can unplug the integrated GPS + antenna and select an appropriate off-board GPS antenna with + cable terminating in a U.FL connector. + + + System Operation
- FAQ - - TeleMetrum seems to shut off when disconnected from the - computer. Make sure the battery is adequately charged. Remember the - unit will pull more power than the USB port can deliver before the - GPS enters "locked" mode. The battery charges best when TeleMetrum - is turned off. - + Firmware Modes - It's impossible to stop the TeleDongle when it's in "p" mode, I have - to unplug the USB cable? Make sure you have tried to "escape out" of - this mode. If this doesn't work the reboot procedure for the - TeleDongle *is* to simply unplug it. 'cu' however will retain it's - outgoing buffer IF your "escape out" ('~~') does not work. - At this point using either 'ao-view' (or possibly - 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed - communication. + The AltOS firmware build for the altimeters has two + fundamental modes, "idle" and "flight". Which of these modes + the firmware operates in is determined at startup time. For + TeleMetrum, the mode is controlled by the orientation of the + rocket (well, actually the board, of course...) at the time + power is switched on. If the rocket is "nose up", then + TeleMetrum assumes it's on a rail or rod being prepared for + launch, so the firmware chooses flight mode. However, if the + rocket is more or less horizontal, the firmware instead enters + idle mode. For TeleMini, "idle" mode is selected when the + board receives a command packet within the first five seconds + of operation; if no packet is received, the board enters + "flight" mode. - The amber LED (on the TeleMetrum) lights up when both - battery and USB are connected. Does this mean it's charging? - Yes, the yellow LED indicates the charging at the 'regular' rate. - If the led is out but the unit is still plugged into a USB port, - then the battery is being charged at a 'trickle' rate. + At power on, you will hear three beeps or see three flashes + ("S" in Morse code for startup) and then a pause while + the altimeter completes initialization and self tests, and decides which + mode to enter next. - There are no "dit-dah-dah-dit" sound or lights like the manual mentions? - That's the "pad" mode. Weak batteries might be the problem. - It is also possible that the Telemetrum is horizontal and the output - is instead a "dit-dit" meaning 'idle'. For TeleMini, it's possible that - it received a command packet which would have left it in "pad" mode. + In flight or "pad" mode, the altimeter engages the flight + state machine, goes into transmit-only mode on the RF link + sending telemetry, and waits for launch to be detected. + Flight mode is indicated by an "di-dah-dah-dit" ("P" for pad) + on the beeper or lights, followed by beeps or flashes + indicating the state of the pyrotechnic igniter continuity. + One beep/flash indicates apogee continuity, two beeps/flashes + indicate main continuity, three beeps/flashes indicate both + apogee and main continuity, and one longer "brap" sound or + rapidly alternating lights indicates no continuity. For a + dual deploy flight, make sure you're getting three beeps or + flashes before launching! For apogee-only or motor eject + flights, do what makes sense. - It's unclear how to use 'ao-view' and other programs when 'cu' - is running. You cannot have more than one program connected to - the TeleDongle at one time without apparent data loss as the - incoming data will not make it to both programs intact. - Disconnect whatever programs aren't currently being used. + In idle mode, you will hear an audible "di-dit" or see two short flashes ("I" for idle), and + the normal flight state machine is disengaged, thus + no ejection charges will fire. The altimeters also listen on the RF + link when in idle mode for packet mode requests sent from TeleDongle. + Commands can be issued to a TeleMetrum in idle mode over either + USB or the RF link equivalently. TeleMini uses only the RF link. + Idle mode is useful for configuring the altimeter, for extracting data + from the on-board storage chip after flight, and for ground testing + pyro charges. - How do I save flight data? - Live telemetry is written to file(s) whenever 'ao-view' is connected - to the TeleDongle. The file area defaults to ~/altos - but is easily changed using the menus in 'ao-view'. The files that - are written end in '.telem'. The after-flight - data-dumped files will end in .eeprom and represent continuous data - unlike the rf-linked .telem files that are subject to the - turnarounds/data-packaging time slots in the half-duplex rf data path. - See the above instructions on what and how to save the eeprom stored - data after physically retrieving your TeleMetrum. Make sure to save - the on-board data after each flight, as the current firmware will - over-write any previous flight data during a new flight. + One "neat trick" of particular value when the altimeter is used with very + large airframes, is that you can power the board up while the rocket + is horizontal, such that it comes up in idle mode. Then you can + raise the airframe to launch position, use a TeleDongle to open + a packet connection, and issue a 'reset' command which will cause + 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!
-
- - Specifications
- TeleMetrum Specifications - - - - Recording altimeter for model rocketry. - - - - - Supports dual deployment (can fire 2 ejection charges). - - - - - 70cm ham-band transceiver for telemetry downlink. - - - - - Barometric pressure sensor good to 45k feet MSL. - - - - - 1-axis high-g accelerometer for motor characterization, capable of - +/- 50g using default part. - - - - - On-board, integrated GPS receiver with 5hz update rate capability. - - - - - On-board 1 megabyte non-volatile memory for flight data storage. - - - - - USB interface for battery charging, configuration, and data recovery. - - - - - Fully integrated support for LiPo rechargeable batteries. - - - - - Uses LiPo to fire e-matches, can be modiied to support - optional separate pyro battery if needed. - - - - - 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. - - - + GPS + + TeleMetrum includes a complete GPS receiver. See a later section for + a brief explanation of how GPS works that will help you understand + the information in the telemetry stream. The bottom line is that + the TeleMetrum GPS receiver needs to lock onto at least four + satellites to obtain a solid 3 dimensional position fix and know + what time it is! + + + TeleMetrum provides backup power to the GPS chip any time a LiPo + battery is connected. This allows the receiver to "warm start" on + the launch rail much faster than if every power-on were a "cold start" + for the GPS receiver. In typical operations, powering up TeleMetrum + on the flight line in idle mode while performing final airframe + preparation will be sufficient to allow the GPS receiver to cold + start and acquire lock. Then the board can be powered down during + RSO review and installation on a launch rod or rail. When the board + is turned back on, the GPS system should lock very quickly, typically + long before igniter installation and return to the flight line are + complete. +
- TeleMini Specifications - - - - Recording altimeter for model rocketry. - - - - - Supports dual deployment (can fire 2 ejection charges). - - - - - 70cm ham-band transceiver for telemetry downlink. - - - - - Barometric pressure sensor good to 45k feet MSL. - - - - - On-board 5 kilobyte non-volatile memory for flight data storage. - - - - - RF interface for battery charging, configuration, and data recovery. - - - - - Support for LiPo rechargeable batteries, using an external charger. - - - - - Uses LiPo to fire e-matches, can be modiied to support - optional separate pyro battery if needed. - - - - - 1.5 x .5 inch board designed to fit inside 18mm airframe coupler tube. - - - -
-
- - Handling Precautions - - All Altus Metrum products are sophisticated electronic device. When handled gently and - properly installed in an airframe, theywill deliver impressive results. - However, like all electronic devices, there are some precautions you - must take. - - - The Lithium Polymer rechargeable batteries have an - extraordinary power density. This is great because we can fly with - much less battery mass than if we used alkaline batteries or previous - generation rechargeable batteries... but if they are punctured - or their leads are allowed to short, they can and will release their - energy very rapidly! - Thus we recommend that you take some care when handling our batteries - and consider giving them some extra protection in your airframe. We - often wrap them in suitable scraps of closed-cell packing foam before - strapping them down, for example. - - - The barometric sensor is sensitive to sunlight. In normal - mounting situations, it and all of the other surface mount components - are "down" towards whatever the underlying mounting surface is, so - this is not normally a problem. Please consider this, though, when - designing an installation, for example, in an airframe with a - see-through plastic payload bay. - - - The barometric sensor sampling port must be able to - "breathe", - both by not being covered by foam or tape or other materials that might - directly block the hole on the top of the sensor, but also by having a - suitable static vent to outside air. - - - As with all other rocketry electronics, Altus Metrum altimeters must be protected - from exposure to corrosive motor exhaust and ejection charge gasses. - - - - Hardware Overview - - TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to - fit inside coupler for 29mm airframe tubing, but using it in a tube that - small in diameter may require some creativity in mounting and wiring - to succeed! The default 1/4 - wave UHF wire antenna attached to the center of the nose-cone end of - the board is about 7 inches long, and wiring for a power switch and - the e-matches for apogee and main ejection charges depart from the - fin can end of the board. Given all this, an ideal "simple" avionics - bay for TeleMetrum should have at least 10 inches of interior length. - - - TeleMini is a 0.5 inch by 1.5 inch circuit board. It was designed to - fit inside an 18mm airframe tube, but using it in a tube that - small in diameter may require some creativity in mounting and wiring - to succeed! The default 1/4 - wave UHF wire antenna attached to the center of the nose-cone end of - the board is about 7 inches long, and wiring for a power switch and - the e-matches for apogee and main ejection charges depart from the - fin can end of the board. Given all this, an ideal "simple" avionics - bay for TeleMini should have at least 9 inches of interior length. - - - A typical TeleMetrum or TeleMini installation using the on-board devices and - default wire UHF antenna involves attaching only a suitable - Lithium Polymer battery, a single pole switch for power on/off, and - two pairs of wires connecting e-matches for the apogee and main ejection - charges. - - - By default, we use the unregulated output of the LiPo battery directly - to fire ejection charges. This works marvelously with standard - low-current e-matches like the J-Tek from MJG Technologies, and with - Quest Q2G2 igniters. However, if you - want or need to use a separate pyro battery, check out the "External Pyro Battery" - section in this manual for instructions on how to wire that up. The - altimeters are designed to work with an external pyro battery of up to 15V. - - - Ejection charges are wired directly to the screw terminal block - at the aft end of the altimeter. This is very similar to what - most other altimeter vendors provide and so may be the most - familiar option. You'll need a very small straight blade - screwdriver to connect and disconnect the board in this case, - such as you might find in a jeweler's screwdriver set. - - - TeleMetrum also uses the screw terminal block for the power - switch leads. On TeleMini, the power switch leads are soldered - directly to the board and can be connected directly to the switch. - - - For most airframes, the integrated antennas are more than - adequate However, if you are installing in a carbon-fiber - electronics bay which is opaque to RF signals, you may need to - use off-board external antennas instead. In this case, you can - order an altimeter with an SMA connector for the UHF antenna - connection, and, on TeleMetrum, you can unplug the integrated GPS - antenna and select an appropriate off-board GPS antenna with - cable terminating in a U.FL connector. - - - - System Operation -
- Firmware Modes - - The AltOS firmware build for the altimeters has two - fundamental modes, "idle" and "flight". Which of these modes - the firmware operates in is determined at startup time. For - TeleMetrum, the mode is controlled by the orientation of the - rocket (well, actually the board, of course...) at the time - power is switched on. If the rocket is "nose up", then - TeleMetrum assumes it's on a rail or rod being prepared for - launch, so the firmware chooses flight mode. However, if the - rocket is more or less horizontal, the firmware instead enters - idle mode. For TeleMini, "idle" mode is selected when the - board receives a command packet within the first five seconds - of operation; if no packet is received, the board enters - "flight" mode. - - - At power on, you will hear three beeps or see three flashes - ("S" in Morse code for startup) and then a pause while - the altimeter completes initialization and self tests, and decides which - mode to enter next. - - - In flight or "pad" mode, the altimeter engages the flight - state machine, goes into transmit-only mode on the RF link - sending telemetry, and waits for launch to be detected. - Flight mode is indicated by an "di-dah-dah-dit" ("P" for pad) - on the beeper or lights, followed by beeps or flashes - indicating the state of the pyrotechnic igniter continuity. - One beep/flash indicates apogee continuity, two beeps/flashes - indicate main continuity, three beeps/flashes indicate both - apogee and main continuity, and one longer "brap" sound or - rapidly alternating lights indicates no continuity. For a - dual deploy flight, make sure you're getting three beeps or - flashes before launching! For apogee-only or motor eject - flights, do what makes sense. - - - In idle mode, you will hear an audible "di-dit" or see two short flashes ("I" for idle), and - the normal flight state machine is disengaged, thus - no ejection charges will fire. The altimeters also listen on the RF - link when in idle mode for packet mode requests sent from TeleDongle. - Commands can be issued to a TeleMetrum in idle mode over either - USB or the RF link equivalently. TeleMini uses only the RF link. - Idle mode is useful for configuring the altimeter, for extracting data - from the on-board storage chip after flight, and for ground testing - pyro charges. - - - One "neat trick" of particular value when the altimeter is used with very - large airframes, is that you can power the board up while the rocket - is horizontal, such that it comes up in idle mode. Then you can - raise the airframe to launch position, use a TeleDongle to open - a packet connection, and issue a 'reset' command which will cause - 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! - -
-
- GPS - - TeleMetrum includes a complete GPS receiver. See a later section for - a brief explanation of how GPS works that will help you understand - the information in the telemetry stream. The bottom line is that - the TeleMetrum GPS receiver needs to lock onto at least four - satellites to obtain a solid 3 dimensional position fix and know - what time it is! - - - TeleMetrum provides backup power to the GPS chip any time a LiPo - battery is connected. This allows the receiver to "warm start" on - the launch rail much faster than if every power-on were a "cold start" - for the GPS receiver. In typical operations, powering up TeleMetrum - on the flight line in idle mode while performing final airframe - preparation will be sufficient to allow the GPS receiver to cold - start and acquire lock. Then the board can be powered down during - RSO review and installation on a launch rod or rail. When the board - is turned back on, the GPS system should lock very quickly, typically - long before igniter installation and return to the flight line are - complete. - -
-
- Ground Testing - - An important aspect of preparing a rocket using electronic deployment - for flight is ground testing the recovery system. Thanks - to the bi-directional RF link central to the Altus Metrum system, - this can be accomplished in a TeleMetrum- or TeleMini- equipped rocket without as - much work as you may be accustomed to with other systems. It can - even be fun! - - - Just prep the rocket for flight, then power up the altimeter - in "idle" mode (placing airframe horizontal for TeleMetrum or - starting the RF packet connection 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. Then, establish an RF packet connection from - a TeleDongle-equipped computer using the P command from a safe - distance. You can now command the altimeter to fire the apogee - or main charges to complete your testing. - - - In order to reduce the chance of accidental firing of pyrotechnic - charges, the command to fire a charge is intentionally somewhat - difficult to type, and the built-in help is slightly cryptic to - prevent accidental echoing of characters from the help text back at - the board from firing a charge. The command to fire the apogee - drogue charge is 'i DoIt drogue' and the command to fire the main - charge is 'i DoIt main'. - + Ground Testing + + An important aspect of preparing a rocket using electronic deployment + for flight is ground testing the recovery system. Thanks + to the bi-directional RF link central to the Altus Metrum system, + this can be accomplished in a TeleMetrum- or TeleMini- equipped rocket without as + much work as you may be accustomed to with other systems. It can + even be fun! + + + Just prep the rocket for flight, then power up the altimeter + in "idle" mode (placing airframe horizontal for TeleMetrum or + starting the RF packet connection 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. Then, establish an RF packet connection from + a TeleDongle-equipped computer using the P command from a safe + distance. You can now command the altimeter to fire the apogee + or main charges to complete your testing. + + + In order to reduce the chance of accidental firing of pyrotechnic + charges, the command to fire a charge is intentionally somewhat + difficult to type, and the built-in help is slightly cryptic to + prevent accidental echoing of characters from the help text back at + the board from firing a charge. The command to fire the apogee + drogue charge is 'i DoIt drogue' and the command to fire the main + charge is 'i DoIt main'. +
Radio Link @@ -918,9 +606,6 @@ NAR #88757, TRA #12200
- - -
Updating Device Firmware @@ -1159,92 +844,6 @@ NAR #88757, TRA #12200 is split into chapters, each of which documents one of the tasks provided from the top-level toolbar. -
- Packet Command Mode - Controlling An Altimeter Over The Radio Link - - One of the unique features of the Altus Metrum environment 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. - - - Any operation which can be performed with TeleMetrum - can either be done with TeleMetrum directly connected to - the computer via the USB cable, or through the packet - link. Simply select the appropriate TeleDongle device when - the list of devices is presented and AltosUI will use packet - command mode. - - - One oddity in the current interface is how AltosUI selects the - frequency for packet mode 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, pick the - appropriate TeleDongle device. Once the flight monitoring - window is open, select the desired frequency and then close it - down again. All Packet Command Mode operations will now use - that frequency. - - - - - Save Flight Data—Recover flight data from the rocket without - opening it up. - - - - - Configure altimeter apogee delays or main deploy heights - to respond to changing launch conditions. You can also - 'reboot' the altimeter. Use this to remotely enable the - flight computer by turning TeleMetrum on in "idle" mode, - then once the airframe is oriented for launch, you can - reboot the altimeter and have it restart in pad mode - without having to climb the scary ladder. - - - - - Fire Igniters—Test your deployment charges without snaking - wires out through holes in the airframe. Simply assembly the - rocket as if for flight with the apogee and main charges - loaded, then remotely command the altimeter to fire the - igniters. - - - - - Packet command mode uses the same RF frequencies as telemetry - mode. Configure the desired TeleDongle frequency using the - flight monitor window frequency selector and then close that - window before performing the desired operation. - - - TeleMetrum only enables packet command mode in 'idle' mode, so - make sure you have TeleMetrum lying horizontally when you turn - it on. Otherwise, TeleMetrum will start in 'pad' mode ready for - flight and will not be listening for command packets from TeleDongle. - - - 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. - - - When packet command mode is enabled, you can monitor the link - by watching the lights on the - devices. The red LED will flash each time they - transmit a packet while the green LED will light up - on TeleDongle while it is waiting to receive a packet from - the altimeter. - -
Monitor Flight Receive, Record and Display Telemetry Data @@ -1484,19 +1083,105 @@ NAR #88757, TRA #12200
- Save Flight Data - - The altimeter records flight data to its internal flash memory. - The TeleMetrum data is recorded at a much higher rate than the telemetry - system can handle, and is not subject to radio drop-outs. As - such, it provides a more complete and precise record of the - flight. The 'Save Flight Data' button allows you to read the - flash memory and write it to disk. As TeleMini has only a barometer, it - records data at the same rate as the telemetry signal, but there will be - no data lost due to telemetry drop-outs. - + Packet Command Mode + Controlling An Altimeter Over The Radio Link - Clicking on the 'Save Flight Data' button brings up a list of + One of the unique features of the Altus Metrum environment 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. + + + Any operation which can be performed with TeleMetrum + can either be done with TeleMetrum directly connected to + the computer via the USB cable, or through the packet + link. Simply select the appropriate TeleDongle device when + the list of devices is presented and AltosUI will use packet + command mode. + + + One oddity in the current interface is how AltosUI selects the + frequency for packet mode 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, pick the + appropriate TeleDongle device. Once the flight monitoring + window is open, select the desired frequency and then close it + down again. All Packet Command Mode operations will now use + that frequency. + + + + + Save Flight Data—Recover flight data from the rocket without + opening it up. + + + + + Configure altimeter apogee delays or main deploy heights + to respond to changing launch conditions. You can also + 'reboot' the altimeter. Use this to remotely enable the + flight computer by turning TeleMetrum on in "idle" mode, + then once the airframe is oriented for launch, you can + reboot the altimeter and have it restart in pad mode + without having to climb the scary ladder. + + + + + Fire Igniters—Test your deployment charges without snaking + wires out through holes in the airframe. Simply assembly the + rocket as if for flight with the apogee and main charges + loaded, then remotely command the altimeter to fire the + igniters. + + + + + Packet command mode uses the same RF frequencies as telemetry + mode. Configure the desired TeleDongle frequency using the + flight monitor window frequency selector and then close that + window before performing the desired operation. + + + TeleMetrum only enables packet command mode in 'idle' mode, so + make sure you have TeleMetrum lying horizontally when you turn + it on. Otherwise, TeleMetrum will start in 'pad' mode ready for + flight and will not be listening for command packets from TeleDongle. + + + 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. + + + When packet command mode is enabled, you can monitor the link + by watching the lights on the + devices. The red LED will flash each time they + transmit a packet while the green LED will light up + on TeleDongle while it is waiting to receive a packet from + the altimeter. + +
+
+ Save Flight Data + + The altimeter records flight data to its internal flash memory. + The TeleMetrum data is recorded at a much higher rate than the telemetry + system can handle, and is not subject to radio drop-outs. As + such, it provides a more complete and precise record of the + flight. The 'Save Flight Data' button allows you to read the + flash memory and write it to disk. As TeleMini has only a barometer, it + records data at the same rate as the telemetry signal, but there will be + no data lost due to telemetry drop-outs. + + + Clicking on the 'Save Flight Data' button brings up a list of connected TeleMetrum and TeleDongle devices. If you select a TeleMetrum device, the flight data will be downloaded from that device directly. If you select a TeleDongle device, flight data @@ -1877,10 +1562,10 @@ NAR #88757, TRA #12200
Flash Image - This reprograms any Altus Metrum device by using a TeleMetrum or - TeleDongle as a programming dongle. Please read the directions - for connecting the programming cable in the main TeleMetrum - manual before reading these instructions. + This reprograms any Altus Metrum device by using a TeleMetrum + or TeleDongle as a programming dongle. Please read the + directions for flashing devices in the Updating Device + Firmware section above Once you have the programmer and target devices connected, @@ -2125,4 +1810,330 @@ NAR #88757, TRA #12200
+ + Hardware Specifications +
+ TeleMetrum Specifications + + + + Recording altimeter for model rocketry. + + + + + Supports dual deployment (can fire 2 ejection charges). + + + + + 70cm ham-band transceiver for telemetry downlink. + + + + + Barometric pressure sensor good to 45k feet MSL. + + + + + 1-axis high-g accelerometer for motor characterization, capable of + +/- 50g using default part. + + + + + On-board, integrated GPS receiver with 5hz update rate capability. + + + + + On-board 1 megabyte non-volatile memory for flight data storage. + + + + + USB interface for battery charging, configuration, and data recovery. + + + + + Fully integrated support for LiPo rechargeable batteries. + + + + + Uses LiPo to fire e-matches, can be modiied to support + optional separate pyro battery if needed. + + + + + 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube. + + + +
+
+ TeleMini Specifications + + + + Recording altimeter for model rocketry. + + + + + Supports dual deployment (can fire 2 ejection charges). + + + + + 70cm ham-band transceiver for telemetry downlink. + + + + + Barometric pressure sensor good to 45k feet MSL. + + + + + On-board 5 kilobyte non-volatile memory for flight data storage. + + + + + RF interface for battery charging, configuration, and data recovery. + + + + + Support for LiPo rechargeable batteries, using an external charger. + + + + + Uses LiPo to fire e-matches, can be modiied to support + optional separate pyro battery if needed. + + + + + 1.5 x .5 inch board designed to fit inside 18mm airframe coupler tube. + + + +
+
+ + FAQ + + TeleMetrum seems to shut off when disconnected from the + computer. Make sure the battery is adequately charged. Remember the + unit will pull more power than the USB port can deliver before the + GPS enters "locked" mode. The battery charges best when TeleMetrum + is turned off. + + + It's impossible to stop the TeleDongle when it's in "p" mode, I have + to unplug the USB cable? Make sure you have tried to "escape out" of + this mode. If this doesn't work the reboot procedure for the + TeleDongle *is* to simply unplug it. 'cu' however will retain it's + outgoing buffer IF your "escape out" ('~~') does not work. + At this point using either 'ao-view' (or possibly + 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed + communication. + + + The amber LED (on the TeleMetrum) lights up when both + battery and USB are connected. Does this mean it's charging? + Yes, the yellow LED indicates the charging at the 'regular' rate. + If the led is out but the unit is still plugged into a USB port, + then the battery is being charged at a 'trickle' rate. + + + There are no "dit-dah-dah-dit" sound or lights like the manual mentions? + That's the "pad" mode. Weak batteries might be the problem. + It is also possible that the Telemetrum is horizontal and the output + is instead a "dit-dit" meaning 'idle'. For TeleMini, it's possible that + it received a command packet which would have left it in "pad" mode. + + + How do I save flight data? + Live telemetry is written to file(s) whenever AltosUI is connected + to the TeleDongle. The file area defaults to ~/TeleMetrum + but is easily changed using the menus in AltosUI. The files that + are written end in '.telem'. The after-flight + data-dumped files will end in .eeprom and represent continuous data + unlike the rf-linked .telem files that are subject to losses + along the rf data path. + See the above instructions on what and how to save the eeprom stored + data after physically retrieving your altimeter. Make sure to save + the on-board data after each flight; while the TeleMetrum can store + multiple flights, you never know when you'll lose the altimeter... + + + + Notes for Older Software + + + Before AltosUI was written, using Altus Metrum devices required + some finesse with the Linux command line. There was a limited + GUI tool, ao-view, which provided functionality similar to the + Monitor Flight window in AltosUI, but everything else was a + fairly 80's experience. This appendix includes documentation for + using that software. + + + + Both Telemetrum and TeleDongle can be directly communicated + with using USB ports. The first thing you should try after getting + both units plugged into to your computer's usb port(s) is to run + 'ao-list' from a terminal-window to see what port-device-name each + device has been assigned by the operating system. + You will need this information to access the devices via their + respective on-board firmware and data using other command line + programs in the AltOS software suite. + + + TeleMini can be communicated with through a TeleDongle device + over the radio link. When first booted, TeleMini listens for a + TeleDongle device and if it receives a packet, it goes into + 'idle' mode. Otherwise, it goes into 'pad' mode and waits to be + launched. The easiest way to get it talking is to start the + communication link on the TeleDongle and the power up the + TeleMini board. + + + To access the device's firmware for configuration you need a terminal + program such as you would use to talk to a modem. The software + authors prefer using the program 'cu' which comes from the UUCP package + on most Unix-like systems such as Linux. An example command line for + cu might be 'cu -l /dev/ttyACM0', substituting the correct number + indicated from running the + ao-list program. Another reasonable terminal program for Linux is + 'cutecom'. The default 'escape' + character used by CU (i.e. the character you use to + issue commands to cu itself instead of sending the command as input + to the connected device) is a '~'. You will need this for use in + only two different ways during normal operations. First is to exit + the program by sending a '~.' which is called a 'escape-disconnect' + and allows you to close-out from 'cu'. The + second use will be outlined later. + + + All of the Altus Metrum devices share the concept of a two level + command set in their firmware. + The first layer has several single letter commands. Once + you are using 'cu' (or 'cutecom') sending (typing) a '?' + returns a full list of these + commands. The second level are configuration sub-commands accessed + using the 'c' command, for + instance typing 'c?' will give you this second level of commands + (all of which require the + letter 'c' to access). Please note that most configuration options + are stored only in Flash memory; TeleDongle doesn't provide any storage + for these options and so they'll all be lost when you unplug it. + + + Try setting these config ('c' or second level menu) values. A good + place to start is by setting your call sign. By default, the boards + use 'N0CALL' which is cute, but not exactly legal! + Spend a few minutes getting comfortable with the units, their + firmware, and 'cu' (or possibly 'cutecom'). + For instance, try to send + (type) a 'c r 2' and verify the channel change by sending a 'c s'. + Verify you can connect and disconnect from the units while in your + terminal program by sending the escape-disconnect mentioned above. + + + Note that the 'reboot' command, which is very useful on the altimeters, + will likely just cause problems with the dongle. The *correct* way + to reset the dongle is just to unplug and re-plug it. + + + A fun thing to do at the launch site and something you can do while + learning how to use these units is to play with the rf-link access + between an altimeter and the TeleDongle. Be aware that you *must* create + some physical separation between the devices, otherwise the link will + not function due to signal overload in the receivers in each device. + + + Now might be a good time to take a break and read the rest of this + manual, particularly about the two "modes" that the altimeters + can be placed in. TeleMetrum uses the position of the device when booting + up will determine whether the unit is in "pad" or "idle" mode. TeleMini + enters "idle" mode when it receives a command packet within the first 5 seconds + of being powered up, otherwise it enters "pad" mode. + + + You can access an altimeter in idle mode from the Teledongle's USB + connection using the rf link + by issuing a 'p' command to the TeleDongle. Practice connecting and + disconnecting ('~~' while using 'cu') from the altimeter. If + you cannot escape out of the "p" command, (by using a '~~' when in + CU) then it is likely that your kernel has issues. Try a newer version. + + + Using this rf link allows you to configure the altimeter, test + fire e-matches and igniters from the flight line, check pyro-match + continuity and so forth. You can leave the unit turned on while it + is in 'idle mode' and then place the + rocket vertically on the launch pad, walk away and then issue a + reboot command. The altimeter will reboot and start sending data + having changed to the "pad" mode. If the TeleDongle is not receiving + this data, you can disconnect 'cu' from the Teledongle using the + procedures mentioned above and THEN connect to the TeleDongle from + inside 'ao-view'. If this doesn't work, disconnect from the + TeleDongle, unplug it, and try again after plugging it back in. + + + On TeleMetrum, the GPS will eventually find enough satellites, lock in on them, + and 'ao-view' will both auditorially announce and visually indicate + that GPS is ready. + Now you can launch knowing that you have a good data path and + good satellite lock for flight data and recovery. Remember + you MUST tell ao-view to connect to the TeleDongle explicitly in + order for ao-view to be able to receive data. + + + The altimeters provide RDF (radio direction finding) tones on + the pad, during descent and after landing. These can be used to + locate the rocket using a directional antenna; the signal + strength providing an indication of the direction from receiver to rocket. + + + TeleMetrum also provides GPS trekking data, which can further simplify + locating the rocket once it has landed. (The last good GPS data + received before touch-down will be on the data screen of 'ao-view'.) + + + Once you have recovered the rocket you can download the eeprom + contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over + either a USB cable or over the radio link using TeleDongle. + And by following the man page for 'ao-postflight' you can create + various data output reports, graphs, and even kml data to see the + flight trajectory in google-earth. (Moving the viewing angle making + sure to connect the yellow lines while in google-earth is the proper + technique.) + + + As for ao-view.... some things are in the menu but don't do anything + very useful. The developers have stopped working on ao-view to focus + on a new, cross-platform ground station program. So ao-view may or + may not be updated in the future. Mostly you just use + the Log and Device menus. It has a wonderful display of the incoming + flight data and I am sure you will enjoy what it has to say to you + once you enable the voice output! + + + + Release Notes + + + + + diff --git a/doc/release-notes-0.7.1.xsl b/doc/release-notes-0.7.1.xsl new file mode 100644 index 00000000..75158a02 --- /dev/null +++ b/doc/release-notes-0.7.1.xsl @@ -0,0 +1,57 @@ + + + +
+ +Version 0.7.1 is the first release containing our new cross-platform Java-based user interface. AltosUI can: + + + + Receive and log telemetry from a connected TeleDongle + device. All data received is saved to log files named with the + current date and the connected rocket serial and flight + numbers. There is no mode in which telemetry data will not be + saved. + + + Download logged data from TeleMetrum devices, either through a + direct USB connection or over the air through a TeleDongle + device. + + + Configure a TeleMetrum device, setting the radio channel, + callsign, apogee delay and main deploy height. This can be done + through either a USB connection or over a radio link via a + TeleDongle device. + + + Replay a flight in real-time. This takes a saved telemetry log + or eeprom download and replays it through the user interface so + you can relive your favorite rocket flights. + + + Reprogram Altus Metrum devices. Using an Altus Metrum device + connected via USB, another Altus Metrum device can be + reprogrammed using the supplied programming cable between the + two devices. + + + Export Flight data to a comma-separated-values file. This takes + either telemetry or on-board flight data and generates data + suitable for use in external applications. All data is exported + using standard units so that no device-specific knowledge is + needed to handle the data. + + + Speak to you during the flight. Instead of spending the flight + hunched over your laptop looking at the screen, enjoy the view + while the computer tells you what’s going on up there. During + ascent, you hear the current flight state and altitude + information. During descent, you get azimuth, elevation and + range information to try and help you find your rocket in the + air. Once on the ground, the direction and distance are + reported. + + +
diff --git a/doc/release-notes-0.8.xsl b/doc/release-notes-0.8.xsl new file mode 100644 index 00000000..c54f97e9 --- /dev/null +++ b/doc/release-notes-0.8.xsl @@ -0,0 +1,56 @@ + + + +
+ + Version 0.8 offers a major upgrade in the AltosUI + interface. Significant new features include: + + + + Post-flight graphing tool. This lets you explore the behaviour + of your rocket after flight with a scroll-able and zoom-able + chart showing the altitude, speed and acceleration of the + airframe along with events recorded by the flight computer. You + can export graphs to PNG files, or print them directly. + + + Real-time moving map which overlays the in-progress flight on + satellite imagery fetched from Google Maps. This lets you see in + pictures where your rocket has landed, allowing you to plan + recovery activities more accurately. + + + Wireless recovery system testing. Prep your rocket for flight + and test fire the deployment charges to make sure things work as + expected. All without threading wires through holes in your + airframe. + + + Optimized flight status displays. Each flight state now has it's + own custom 'tab' in the flight monitoring window so you can + focus on the most important details. Pre-flight, the system + shows a set of red/green status indicators for battery voltage, + apogee/main igniter continutity and GPS reception. Wait until + they're all green and your rocket is ready for flight. There are + also tabs for ascent, descent and landing along with the + original tabular view of the data. + + + Monitor multiple flights simultaneously. If you have more than + one TeleDongle, you can monitor a flight with each one on the + same computer. + + + Automatic flight monitoring at startup. Plug TeleDongle into the + machine before starting AltosUI and it will automatically + connect to it and prepare to monitor a flight. + + + Exports Google Earth flight tracks. Using the Keyhole Markup + Language (.kml) file format, this provides a 3D view of your + rocket flight through the Google Earth program. + + +
diff --git a/doc/release-notes-0.9.2.xsl b/doc/release-notes-0.9.2.xsl new file mode 100644 index 00000000..e5f66c60 --- /dev/null +++ b/doc/release-notes-0.9.2.xsl @@ -0,0 +1,20 @@ + + + +
+ + Version 0.9.2 is an AltosUI bug-fix release, with no firmware changes. + + + + Fix plotting problems due to missing file in the Mac OS install image. + + + Always read whole eeprom blocks, mark empty records invalid, display parsing errors to user. + + + Add software version to Configure AltosUI dialog + + +
diff --git a/doc/release-notes-0.9.xsl b/doc/release-notes-0.9.xsl new file mode 100644 index 00000000..547f46b1 --- /dev/null +++ b/doc/release-notes-0.9.xsl @@ -0,0 +1,31 @@ + + + +
+ + Version 0.9 adds a few new firmware features and accompanying + AltosUI changes, along with new hardware support. + + + + Support for TeleMetrum v1.1 hardware. Sources for the flash + memory part used in v1.0 dried up, so v1.1 uses a different part + which required a new driver and support for explicit flight log + erasing. + + + Multiple flight log support. This stores more than one flight + log in the on-board flash memory. It also requires the user to + explicitly erase flights so that you won't lose flight logs just + because you fly the same board twice in one day. + + + Telemetry support for devices with serial number >= + 256. Previous versions used a telemetry packet format that + provided only 8 bits for the device serial number. This change + requires that both ends of the telemetry link be running the 0.9 + firmware or they will not communicate. + + +
-- cgit v1.2.3 From 566b16e67be38c6425e616a5c38d641c4e1a9b12 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 10 Aug 2011 22:43:26 -0700 Subject: doc: Add 1.0 release notes. Signed-off-by: Keith Packard --- doc/Makefile | 8 +++- doc/altusmetrum.xsl | 1 + doc/release-notes-1.0.xsl | 96 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 doc/release-notes-1.0.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 6d9ea8eb..35858b15 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -6,7 +6,10 @@ RELNOTES=\ release-notes-0.7.1.html \ release-notes-0.8.html \ release-notes-0.9.html \ - release-notes-0.9.2.html + release-notes-0.9.2.html \ + release-notes-1.0.html + +RELNOTES_XSL=$(RELNOTES:.html=.xsl) HTML=altusmetrum.html altos.html telemetry.html $(RELNOTES) PDF=altusmetrum.pdf altos.pdf telemetry.pdf DOC=$(HTML) $(PDF) @@ -45,6 +48,9 @@ clean: distclean: rm -f $(HTML) $(PDF) *.fo +altusmetrum.html: $(RELNOTES_XSL) +altusmetrum.fo: $(RELNOTES_XSL) + indent: altusmetrum.xsl xmlindent -i 2 < altusmetrum.xsl > altusmetrum.new diff --git a/doc/altusmetrum.xsl b/doc/altusmetrum.xsl index 88c9b80a..e97666ae 100644 --- a/doc/altusmetrum.xsl +++ b/doc/altusmetrum.xsl @@ -2131,6 +2131,7 @@ NAR #88757, TRA #12200 Release Notes + diff --git a/doc/release-notes-1.0.xsl b/doc/release-notes-1.0.xsl new file mode 100644 index 00000000..b42917c5 --- /dev/null +++ b/doc/release-notes-1.0.xsl @@ -0,0 +1,96 @@ + + + +
+ + Version 1.0 is a major release, adding support for the TeleMini + device and lots of new AltosUI features + + + AltOS Firmware Changes + + + Add TeleMini v1.0 support. Firmware images for TeleMini are + included in AltOS releases. + + + Change telemetry to be encoded in multiple 32-byte packets. This + enables support for TeleMini and other devices without requiring + further updates to the TeleDongle firmware. + + + Support operation of TeleMetrum with the antenna pointing + aft. Previous firmware versions required the antenna to be + pointing upwards, now there is a configuration option allowing + the antenna to point aft, to aid installation in some airframes. + + + Arbitrary frequency selection. The radios in Altus Metrum + devices can be programmed to a wide range of frequencies, so + instead of limiting devices to 10 pre-selected 'channels', the + new firmware allows the user to choose any frequency in the + 70cm band. Note that the RF matching circuit on the boards is + tuned for around 435MHz, so frequencies far from that may + reduce the available range. + + + Kalman-filter based flight-tracking. The model based sensor + fusion approach of a Kalman filter means that AltOS now + computes apogee much more accurately than before, generally + within a fraction of a second. In addition, this approach + allows the baro-only TeleMini device to correctly identify + Mach transitions, avoiding the error-prone selection of a Mach + delay. + + + + + AltosUI Changes + + + Wait for altimeter when using packet mode. Instead of quicly + timing out when trying to initialize a packet mode + configuration connection, AltosUI now waits indefinitely for + the remote device to appear, providing a cancel button should + the user get bored. This is necessary as the TeleMini can only + be placed in "Idle" mode if AltosUI is polling it. + + + Add main/apogee voltage graphs to the data plot. This provides + a visual indication if the igniters fail before being fired. + + + Scan for altimeter devices by watching the defined telemetry + frequencies. This avoids the problem of remembering what + frequency a device was configured to use, which is especially + important with TeleMini which does not include a USB connection. + + + Monitor altimeter state in "Idle" mode. This provides much of + the information presented in the "Pad" dialog from the Monitor + Flight command, monitoring the igniters, battery and GPS + status withing requiring the flight computer to be armed and + ready for flight. + + + Pre-load map images from home. For those launch sites which + don't provide free Wi-Fi, this allows you to download the + necessary satellite images given the location of the launch + site. A list of known launch sites is maintained at + altusmetrum.org which AltosUI downloads to populate a menu; if + you've got a launch site not on that list, please send the + name of it, latitude and longitude along with a link to the + web site of the controlling club to the altusmetrum mailing list. + + + Flight statistics are now displayed in the Graph data + window. These include max height/speed/accel, average descent + rates and a few other bits of information. The Graph Data + window can now be reached from the 'Landed' tab in the Monitor + Flight window so you can immediately see the results of a + flight. + + + +
-- cgit v1.2.3 From 13e6e799070a1469cbc2ff990379ee520b8f0e6a Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Fri, 26 Aug 2011 10:29:58 -0600 Subject: roll release notes version from 1.0 to 1.0.1 --- doc/Makefile | 2 +- doc/release-notes-1.0.1.xsl | 103 ++++++++++++++++++++++++++++++++++++++++++++ doc/release-notes-1.0.xsl | 103 -------------------------------------------- 3 files changed, 104 insertions(+), 104 deletions(-) create mode 100644 doc/release-notes-1.0.1.xsl delete mode 100644 doc/release-notes-1.0.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 35858b15..14bce5c9 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -7,7 +7,7 @@ RELNOTES=\ release-notes-0.8.html \ release-notes-0.9.html \ release-notes-0.9.2.html \ - release-notes-1.0.html + release-notes-1.0.1.html RELNOTES_XSL=$(RELNOTES:.html=.xsl) HTML=altusmetrum.html altos.html telemetry.html $(RELNOTES) diff --git a/doc/release-notes-1.0.1.xsl b/doc/release-notes-1.0.1.xsl new file mode 100644 index 00000000..1e9fcabc --- /dev/null +++ b/doc/release-notes-1.0.1.xsl @@ -0,0 +1,103 @@ + + + +
+ + Version 1.0.1 is a major release, adding support for the TeleMini + device and lots of new AltosUI features + + + AltOS Firmware Changes + + + Add TeleMini v1.0 support. Firmware images for TeleMini are + included in AltOS releases. + + + Change telemetry to be encoded in multiple 32-byte packets. This + enables support for TeleMini and other devices without requiring + further updates to the TeleDongle firmware. + + + Support operation of TeleMetrum with the antenna pointing + aft. Previous firmware versions required the antenna to be + pointing upwards, now there is a configuration option allowing + the antenna to point aft, to aid installation in some airframes. + + + Ability to disable telemetry. For airframes where an antenna + just isn't possible, or where radio transmissions might cause + trouble with other electronics, there's a configuration option + to disable all telemetry. Note that the board will still + enable the radio link in idle mode. + + + Arbitrary frequency selection. The radios in Altus Metrum + devices can be programmed to a wide range of frequencies, so + instead of limiting devices to 10 pre-selected 'channels', the + new firmware allows the user to choose any frequency in the + 70cm band. Note that the RF matching circuit on the boards is + tuned for around 435MHz, so frequencies far from that may + reduce the available range. + + + Kalman-filter based flight-tracking. The model based sensor + fusion approach of a Kalman filter means that AltOS now + computes apogee much more accurately than before, generally + within a fraction of a second. In addition, this approach + allows the baro-only TeleMini device to correctly identify + Mach transitions, avoiding the error-prone selection of a Mach + delay. + + + + + AltosUI Changes + + + Wait for altimeter when using packet mode. Instead of quicly + timing out when trying to initialize a packet mode + configuration connection, AltosUI now waits indefinitely for + the remote device to appear, providing a cancel button should + the user get bored. This is necessary as the TeleMini can only + be placed in "Idle" mode if AltosUI is polling it. + + + Add main/apogee voltage graphs to the data plot. This provides + a visual indication if the igniters fail before being fired. + + + Scan for altimeter devices by watching the defined telemetry + frequencies. This avoids the problem of remembering what + frequency a device was configured to use, which is especially + important with TeleMini which does not include a USB connection. + + + Monitor altimeter state in "Idle" mode. This provides much of + the information presented in the "Pad" dialog from the Monitor + Flight command, monitoring the igniters, battery and GPS + status withing requiring the flight computer to be armed and + ready for flight. + + + Pre-load map images from home. For those launch sites which + don't provide free Wi-Fi, this allows you to download the + necessary satellite images given the location of the launch + site. A list of known launch sites is maintained at + altusmetrum.org which AltosUI downloads to populate a menu; if + you've got a launch site not on that list, please send the + name of it, latitude and longitude along with a link to the + web site of the controlling club to the altusmetrum mailing list. + + + Flight statistics are now displayed in the Graph data + window. These include max height/speed/accel, average descent + rates and a few other bits of information. The Graph Data + window can now be reached from the 'Landed' tab in the Monitor + Flight window so you can immediately see the results of a + flight. + + + +
diff --git a/doc/release-notes-1.0.xsl b/doc/release-notes-1.0.xsl deleted file mode 100644 index 1a06a43d..00000000 --- a/doc/release-notes-1.0.xsl +++ /dev/null @@ -1,103 +0,0 @@ - - - -
- - Version 1.0 is a major release, adding support for the TeleMini - device and lots of new AltosUI features - - - AltOS Firmware Changes - - - Add TeleMini v1.0 support. Firmware images for TeleMini are - included in AltOS releases. - - - Change telemetry to be encoded in multiple 32-byte packets. This - enables support for TeleMini and other devices without requiring - further updates to the TeleDongle firmware. - - - Support operation of TeleMetrum with the antenna pointing - aft. Previous firmware versions required the antenna to be - pointing upwards, now there is a configuration option allowing - the antenna to point aft, to aid installation in some airframes. - - - Ability to disable telemetry. For airframes where an antenna - just isn't possible, or where radio transmissions might cause - trouble with other electronics, there's a configuration option - to disable all telemetry. Note that the board will still - enable the radio link in idle mode. - - - Arbitrary frequency selection. The radios in Altus Metrum - devices can be programmed to a wide range of frequencies, so - instead of limiting devices to 10 pre-selected 'channels', the - new firmware allows the user to choose any frequency in the - 70cm band. Note that the RF matching circuit on the boards is - tuned for around 435MHz, so frequencies far from that may - reduce the available range. - - - Kalman-filter based flight-tracking. The model based sensor - fusion approach of a Kalman filter means that AltOS now - computes apogee much more accurately than before, generally - within a fraction of a second. In addition, this approach - allows the baro-only TeleMini device to correctly identify - Mach transitions, avoiding the error-prone selection of a Mach - delay. - - - - - AltosUI Changes - - - Wait for altimeter when using packet mode. Instead of quicly - timing out when trying to initialize a packet mode - configuration connection, AltosUI now waits indefinitely for - the remote device to appear, providing a cancel button should - the user get bored. This is necessary as the TeleMini can only - be placed in "Idle" mode if AltosUI is polling it. - - - Add main/apogee voltage graphs to the data plot. This provides - a visual indication if the igniters fail before being fired. - - - Scan for altimeter devices by watching the defined telemetry - frequencies. This avoids the problem of remembering what - frequency a device was configured to use, which is especially - important with TeleMini which does not include a USB connection. - - - Monitor altimeter state in "Idle" mode. This provides much of - the information presented in the "Pad" dialog from the Monitor - Flight command, monitoring the igniters, battery and GPS - status withing requiring the flight computer to be armed and - ready for flight. - - - Pre-load map images from home. For those launch sites which - don't provide free Wi-Fi, this allows you to download the - necessary satellite images given the location of the launch - site. A list of known launch sites is maintained at - altusmetrum.org which AltosUI downloads to populate a menu; if - you've got a launch site not on that list, please send the - name of it, latitude and longitude along with a link to the - web site of the controlling club to the altusmetrum mailing list. - - - Flight statistics are now displayed in the Graph data - window. These include max height/speed/accel, average descent - rates and a few other bits of information. The Graph Data - window can now be reached from the 'Landed' tab in the Monitor - Flight window so you can immediately see the results of a - flight. - - - -
-- cgit v1.2.3 From 1b4a4c7b6a0c3f93267f33482f490e7aa25c2158 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 13 Jan 2012 10:40:30 -0800 Subject: doc: Add companion SPI message protocol doc Signed-off-by: Keith Packard --- doc/Makefile | 4 +- doc/companion.xsl | 347 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 349 insertions(+), 2 deletions(-) create mode 100644 doc/companion.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 14bce5c9..6c77f0ee 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -10,8 +10,8 @@ RELNOTES=\ release-notes-1.0.1.html RELNOTES_XSL=$(RELNOTES:.html=.xsl) -HTML=altusmetrum.html altos.html telemetry.html $(RELNOTES) -PDF=altusmetrum.pdf altos.pdf telemetry.pdf +HTML=altusmetrum.html altos.html telemetry.html companion.html $(RELNOTES) +PDF=altusmetrum.pdf altos.pdf telemetry.pdf companion.pdf DOC=$(HTML) $(PDF) HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl diff --git a/doc/companion.xsl b/doc/companion.xsl new file mode 100644 index 00000000..1215d9af --- /dev/null +++ b/doc/companion.xsl @@ -0,0 +1,347 @@ + + + +
+ + AltOS Companion Port + Protocol Definitions + + Keith + Packard + + + 2012 + Keith Packard + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + 0.1 + 13 January 2012 + Initial content + + + +
+ Companion Port + + Many Altus Metrum products come with an eight pin Micro MaTch + connector, called the Companion Port. This is often used to + program devices using a programming cable. However, it can also + be used to connect TeleMetrum to external companion boards + (hence the name). + + + The Companion Port provides two different functions: + + + Power. Both battery-level and 3.3V regulated power are + available. Note that the amount of regulated power is not + huge; TeleMetrum contains a 150mA regulator and uses, at + peak, about 120mA or so. For applications needing more than + a few dozen mA, placing a separate regulator on them and + using the battery for power is probably a good idea. + + + SPI. The flight computer operates as a SPI master, using + a protocol defined in this document. Companion boards + provide a matching SPI slave implementation which supplies + telemetry information for the radio downlink during flight + + + +
+
+ Companion SPI Protocol + + The flight computer implements a SPI master communications + channel over the companion port, and uses this to get + information about a connected companion board and then to get + telemetry data for transmission during flight. + + + At startup time, the flight computer sends a setup request + packet, and the companion board returns a board identifier, the + desired telemetry update period and the number of data channels + provided. The flight computer doesn't interpret the telemetry + data at all, simply packing it up and sending it over the link. + Telemetry packets are 32 bytes long, and companion packets use 8 + bytes as a header leaving room for a maximum of 12 16-bit data + values. + + + Because of the limits of the AVR processors used in the first + two companion boards, the SPI data rate is set to 187.5kbaud. + +
+
+ SPI Message Formats + This section first defines the command message format sent from + the flight computer to the companion board, and then the various + reply message formats for each type of command message. +
+ Command Message + + Companion Command Message + + + + + + + + Offset + Data Type + Name + Description + + + + + 0 + uint8_t + command + Command identifier + + + 1 + uint8_t + flight_state + Current flight computer state + + + 2 + uint16_t + tick + Flight computer clock (100 ticks/second) + + + 4 + uint16_t + serial + Flight computer serial number + + + 6 + uint16_t + flight + Flight number + + + 8 + + + +
+ + Companion Command Identifiers + + + + + + + Value + Name + Description + + + + + 1 + SETUP + Supply the flight computer with companion + information + + + 2 + FETCH + Return telemetry information + + + 3 + NOTIFY + Tell companion board when flight state + changes + + + +
+ + The flight computer will send a SETUP message shortly after + power-up and will then send FETCH messages no more often than + the rate specified in the SETUP reply. NOTIFY messages will be + sent whenever the flight state changes. + + + 'flight_state' records the current state of the flight, + whether on the pad, under power, coasting to apogee or + descending on the drogue or main chute. + + + 'tick' provides the current flight computer clock, which + be used to synchronize data recorded on the flight computer + with that recorded on the companion board in post-flight analysis. + + + 'serial' is the product serial number of the flight computer, + 'flight' is the flight sequence number. Together, these two + uniquely identify the flight and can be recorded with any + companion board data logging to associate the companion data + with the proper flight. + + + NOTIFY commands require no reply at all, they are used solely + to inform the companion board when the state of the flight, as + computed by the flight computer, changes. Companion boards can + use this to change data collection parameters, disabling data + logging until the flight starts and terminating it when the + flight ends. + +
+
+ SETUP reply message + + SETUP reply contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 0 + uint16_t + board_id + Board identifier + + + 2 + uint16_t + board_id_inverse + ~board_id—used to tell if a board is present + + + 4 + uint8_t + update_period + Minimum time (in 100Hz ticks) between FETCH commands + + + 5 + uint8_t + channels + Number of data channels to retrieve in FETCH command + + + 6 + + + +
+ + The SETUP reply contains enough information to uniquely + identify the companion board to the end user as well as for + the flight computer to know how many data values to expect in + reply to a FETCH command, and how often to fetch that data. + + + To detect the presence of a companion board, the flight + computer checks to make sure that board_id_inverse is the + bit-wise inverse of board_id. Current companion boards use + USB product ID as the board_id, but the flight computer does + not interpret this data and so it can be any value. + +
+
+ FETCH reply message + + FETCH reply contents + + + + + + + + Offset + Data Type + Name + Description + + + + + 0 + uint16_t + data0 + 0th data item + + + 2 + uint16_t + data1 + 1st data item + + + ... + + + +
+ + The FETCH reply contains arbitrary data to be reported over + the flight computer telemetry link. The number of 16-bit data items + must match the 'channels' value provided in the SETUP reply + message. + +
+
+
+ History and Motivation + + To allow cross-programming, the original TeleMetrum and + TeleDongle designs needed to include some kind of + connector. With that in place, adding the ability to connect + external cards to TeleMetrum was fairly simple. We set the + software piece of this puzzle aside until we had a companion + board to use. + + + The first companion board was TeleScience. Designed to collect + temperature data from the nose and fin of the airframe, the main + requirement for the companion port was that it be able to report + telemetry data during flight as a back-up in case the + TeleScience on-board data was lost. + + + The second companion board, TelePyro, provides 8 additional + channels for deployment, staging or other activities. To avoid + re-programming the TeleMetrum to use TelePyro, we decided to + provide enough information over the companion link for it to + independently control those channels. + + + Providing a standard, constant interface between the flight + computer and companion boards allows for the base flight + computer firmware to include support for companion boards. + +
+
-- cgit v1.2.3 From 73d05650eae1d3958e02e9ffde2020a2438eccbb Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 11 Sep 2012 15:30:45 -0700 Subject: Add Version 1.1 release notes. Signed-off-by: Keith Packard --- doc/Makefile | 3 +- doc/altusmetrum.xsl | 1 + doc/release-notes-1.1.xsl | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 doc/release-notes-1.1.xsl (limited to 'doc/Makefile') diff --git a/doc/Makefile b/doc/Makefile index 6c77f0ee..fbe8bc11 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -7,7 +7,8 @@ RELNOTES=\ release-notes-0.8.html \ release-notes-0.9.html \ release-notes-0.9.2.html \ - release-notes-1.0.1.html + release-notes-1.0.1.html \ + release-notes-1.1.html RELNOTES_XSL=$(RELNOTES:.html=.xsl) HTML=altusmetrum.html altos.html telemetry.html companion.html $(RELNOTES) diff --git a/doc/altusmetrum.xsl b/doc/altusmetrum.xsl index ad08aecc..8339ca43 100644 --- a/doc/altusmetrum.xsl +++ b/doc/altusmetrum.xsl @@ -2482,6 +2482,7 @@ NAR #88757, TRA #12200 Release Notes + diff --git a/doc/release-notes-1.1.xsl b/doc/release-notes-1.1.xsl new file mode 100644 index 00000000..79ea39ee --- /dev/null +++ b/doc/release-notes-1.1.xsl @@ -0,0 +1,94 @@ + + + +
+ + Version 1.1 is a minor release. It provides a few new features in AltosUI + and the AltOS firmware and fixes bugs. + + + AltOS Firmware Changes + + + Add apogee-lockout value. Overrides the apogee detection logic to + prevent incorrect apogee charge firing. + + + Fix a bug where the data reported in telemetry packets was + from 320ms ago. + + + Force the radio frequency to 434.550MHz when the debug clock + pin is connected to ground at boot time. This provides a way + to talk to a TeleMini which is configured to some unknown frequency. + + + Provide RSSI values for Monitor Idle mode. This makes it easy to check radio + range without needing to go to flight mode. + + + Fix a bug which caused the old received telemetry packets to + be retransmitted over the USB link when the radio was turned + off and back on. + + + + + AltosUI Changes + + + Fix a bug that caused GPS ready to happen too quickly. The + software was using every telemetry packet to signal new GPS + data, which caused GPS ready to be signalled after 10 packets + instead of 10 GPS updates. + + + Fix Google Earth data export to work with recent versions. The + google earth file loading code got a lot pickier, requiring + some minor white space changes in the export code. + + + Make the look-n-feel configurable, providing a choice from + the available options. + + + Add an 'Age' element to mark how long since a telemetry packet + has been received. Useful to quickly gauge whether + communications with the rocket are still active. + + + Add 'Configure Ground Station' dialog to set the radio + frequency used by a particular TeleDongle without having to go + through the flight monitor UI. + + + Add configuration for the new apogee-lockout value. A menu provides a list of + reasonable values, or the value can be set by hand. + + + Re-compute time spent in each state for the flight graph; this + figures out the actual boost and landing times instead of + using the conservative values provide by the flight + electronics. This improves the accuracy of the boost + acceleration and main descent rate computations. + + + Make AltosUI run on Mac OS Lion. The default Java heap space + was dramatically reduced for this release causing much of the + UI to fail randomly. This most often affected the satellite + mapping download and displays. + + + Change how data are displayed in the 'table' tab of the flight + monitoring window. This eliminates entries duplicated from the + header and adds both current altitude and pad altitude, which + are useful in 'Monitor Idle' mode. + + + Add Imperial units mode to present data in feet instead of + meters. + + + +
-- cgit v1.2.3