From 8cf466d7a767a20387a8d9d6ec81ee00af3fe4a7 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 29 Oct 2015 12:12:15 +0900 Subject: doc: Start doc transition to asciidoc Signed-off-by: Keith Packard --- doc/usage.inc | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 doc/usage.inc (limited to 'doc/usage.inc') diff --git a/doc/usage.inc b/doc/usage.inc new file mode 100644 index 00000000..b4a93271 --- /dev/null +++ b/doc/usage.inc @@ -0,0 +1,90 @@ +== Using Altus Metrum Hardware + + Here are general instructions for hooking up an Altus Metrum + flight computer. Instructions specific to each model will be + found in the section devoted to that model below. + + === Wiring and Electrical Interference + + To prevent electrical interference from affecting the + operation of the flight computer, it's important to always + twist pairs of wires connected to the board. Twist the switch + leads, the pyro leads and the battery leads. This reduces + interference through a mechanism called common mode rejection. + + === Hooking Up Lithium Polymer Batteries + + All Altus Metrum flight computers have a two pin JST PH + series connector to connect up a single-cell Lithium Polymer + cell (3.7V nominal). You can purchase matching batteries + from the Altus Metrum store, or other vendors, or you can + make your own. Pin 1 of the connector is positive, pin 2 is + negative. Spark Fun sells a cable with the connector + attached, which they call a + link:https://www.sparkfun.com/products/9914[JST Jumper 2 Wire Assembly] + + Many RC vendors also sell lithium polymer batteries with + this same connector. All that we have found use the opposite + polarity, and if you use them that way, you will damage or + destroy the flight computer. + + === Hooking Up Pyro Charges + + Altus Metrum flight computers always have two screws for + each pyro charge. This means you shouldn't need to put two + wires into a screw terminal or connect leads from pyro + charges together externally. + + On the flight computer, one lead from each charge is hooked + to the positive battery terminal through the power switch. + The other lead is connected through the pyro circuit, which + is connected to the negative battery terminal when the pyro + circuit is fired. + + === Hooking Up a Power Switch + + Altus Metrum flight computers need an external power switch + to turn them on. This disconnects both the computer and the + pyro charges from the battery, preventing the charges from + firing when in the Off position. The switch is in-line with + the positive battery terminal. + + === Using an External Active Switch Circuit + + You can use an active switch circuit, such as the + Featherweight Magnetic Switch, with any Altus Metrum + flight computer. These require three connections, one to + the battery, one to the positive power input on the flight + computer and one to ground. Find instructions on how to + hook these up for each flight computer below. The follow + the instructions that come with your active switch to + connect it up. + + === Using a Separate Pyro Battery + + As mentioned above in the section on hooking up pyro + charges, one lead for each of the pyro charges is connected + through the power switch directly to the positive battery + terminal. The other lead is connected to the pyro circuit, + which connects it to the negative battery terminal when the + pyro circuit is fired. The pyro circuit on all of the flight + computers is designed to handle up to 16V. + + To use a separate pyro battery, connect the negative pyro + battery terminal to the flight computer ground terminal, + the positive battery terminal to the igniter and the other + igniter lead to the negative pyro terminal on the flight + computer. When the pyro channel fires, it will complete the + circuit between the negative pyro terminal and the ground + terminal, firing the igniter. Specific instructions on how + to hook this up will be found in each section below. + + === Using a Different Kind of Battery + + EasyMini and TeleMini v2 are designed to use either a + lithium polymer battery or any other battery producing + between 4 and 12 volts, such as a rectangular 9V + battery. TeleMega, EasyMega and TeleMetrum are not designed for this, + and must only be powered by a lithium polymer battery. Find + instructions on how to use other batteries in the EasyMini + and TeleMini sections below. -- cgit v1.2.3 From 5ddf9525f94f38c20327d1f2b43917e43519b949 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 29 Oct 2015 18:14:38 -0700 Subject: doc: Add asciidoc version of altosui chapter. Signed-off-by: Keith Packard --- doc/Makefile | 3 + doc/altosui.inc | 962 +++++++++++++++++++++++++++++++++++++++++++++++ doc/altusmetrum.txt | 29 +- doc/dedication.inc | 26 ++ doc/easymini.inc | 23 ++ doc/pyro-channels.inc | 110 ++++++ doc/system-operation.inc | 116 +----- doc/telemini-v2.0.inc | 40 +- doc/usage.inc | 13 +- 9 files changed, 1172 insertions(+), 150 deletions(-) create mode 100644 doc/altosui.inc create mode 100644 doc/dedication.inc create mode 100644 doc/pyro-channels.inc (limited to 'doc/usage.inc') diff --git a/doc/Makefile b/doc/Makefile index 85011cfa..b9f46196 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -63,6 +63,7 @@ PICTURES=\ TXT_FILES=altusmetrum.txt INC_FILES=\ + dedication.inc \ intro.inc \ getting-started.inc \ usage.inc \ @@ -73,7 +74,9 @@ INC_FILES=\ telemega.inc \ easymega.inc \ installation.inc \ + altosui.inc \ system-operation.inc \ + pyro-channels.inc \ flight-data-recording.inc \ handling.inc \ specs.inc diff --git a/doc/altosui.inc b/doc/altosui.inc new file mode 100644 index 00000000..8297c0a0 --- /dev/null +++ b/doc/altosui.inc @@ -0,0 +1,962 @@ +== AltosUI + + .AltosUI Main Window + image::altosui.png[width="4.6in"] + + The AltosUI program provides a graphical user interface for + interacting with the Altus Metrum product family. AltosUI can + monitor telemetry data, configure devices and many other + tasks. The primary interface window provides a selection of + buttons, one for each major activity in the system. This + chapter is split into sections, each of which documents one of + the tasks provided from the top-level toolbar. + + === 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. + + .Device Selection Dialog + image::device-selection.png[width="3.1in"] + + 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 frequency being monitored by the TeleDongle + device is displayed at the top of the window. You can + configure the frequency by clicking on the frequency + box and selecting the desired frequency. AltosUI + remembers the last frequency selected for each + TeleDongle and selects that automatically the next + time you use that device. + + Below the TeleDongle frequency selector, the window + contains a few significant pieces of information about + the altimeter providing the telemetry data stream: + + * The configured call-sign + + * The device serial number + + * The flight number. Each altimeter 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. At the default data rate, 38400 bps, in + bench testing, the radio inside TeleDongle v0.2 + operates down to about -106dBm, while the v3 radio + works down to about -111dBm. Weaker signals, or an + environment with radio noise may cause the data to + not be received. The packet link uses error + detection and correction techniques which prevent + incorrect data from being reported. + + * The age of the displayed data, in seconds since the + last successfully received telemetry packet. In + normal operation this will stay in the low single + digits. If the number starts counting up, then you + are no longer receiving data over the radio link + from the flight computer. + + Finally, the largest portion of the window contains a + set of tabs, each of which contain some information + about the rocket. They're arranged in 'flight order' + so that as the flight progresses, the selected tab + automatically switches to display data relevant to the + current state of the flight. You can select other tabs + at any time. The final 'table' tab displays all of the + raw telemetry values in one place in a + spreadsheet-like format. + + ==== Launch Pad + + .Monitor Flight Launch Pad View + image::launch-pad.png[width="5.5in"] + + 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 Li-Po battery powering the + flight computer has sufficient charge to last for + the duration of the flight. A value of more than + 3.8V is required for a 'GO' status. + + 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 Li-Po 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 Li-Po battery voltage. A value greater than 3.2V is + required for a 'GO' status. + + On-board Data Logging:: + This indicates whether there is space remaining + on-board to store flight data for the upcoming + flight. If you've downloaded data, but failed to erase + flights, there may not be any space left. Most of our + flight computers can store multiple flights, depending + on the configured maximum flight log size. TeleMini + v1.0 stores only a single flight, so it will need to + be downloaded and erased after each flight to capture + data. This only affects on-board flight logging; the + altimeter will still transmit telemetry and fire + ejection charges at the proper times even if the + flight data storage is full. + + GPS Locked:: + For a TeleMetrum or TeleMega device, this indicates + whether the GPS receiver is currently able to compute + position information. GPS requires at least 4 + satellites to compute an accurate position. + + GPS Ready:: + + For a TeleMetrum or TeleMega device, this indicates + whether GPS has reported at least 10 consecutive + positions without losing lock. This ensures that the + GPS receiver has reliable reception from the + satellites. + + The Launchpad tab also shows the computed launch pad + position and altitude, averaging many reported + positions to improve the accuracy of the fix. + + ==== Ascent + + .Monitor Flight Ascent View + image::ascent.png[width="5.5in"] + + 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, acceleration and tilt are shown along + with the maximum 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 + + .Monitor Flight Descent View + image::descent.png[width="5.5in"] + + 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 vary based + on the choice of recovery components, but generally + range from 15-30m/s on drogue and should be below + 10m/s when under the main parachute in a dual-deploy + flight. + + With GPS-equipped flight computers, you can locate the + rocket in the sky using 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. Ground Distance + shows how far it is to a point directly under the + rocket and can help figure out where the rocket is + likely to land. 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. Note + that some commercial e-matches are designed to retain + continuity even after being fired, and will continue + to show as green or return from red to green after + firing. + + ==== Landed + + .Monitor Flight Landed View + image::landed.png[width="5.5in"] + + Once the rocket is on the ground, attention switches + to recovery. While the radio signal is often 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 to walk or hitch a ride. + Take the reported latitude and longitude and enter + them into your hand-held GPS unit and have that + compute a track to the landing location. + + Our flight computers will continue to transmit RDF + tones after landing, allowing you to locate the rocket + by following the radio signal if necessary. You may + need to get away from the clutter of the flight line, + or even get up on a hill (or your neighbor's RV roof) + to receive the RDF signal. + + The maximum height, speed and acceleration reported + during the flight are displayed for your admiring + observers. The accuracy of these immediate values + depends on the quality of your radio link and how many + packets were received. Recovering the on-board data + after flight may yield more precise results. + + To get more detailed information about the flight, you + can click on the 'Graph Flight' button which will + bring up a graph window for the current flight. + + ==== Table + + .Monitor Flight Table View + image::table.png[width="5.5in"] + + The table view shows all of the data available from the + flight computer. Probably the most useful data on + this tab is the detailed GPS information, which includes + horizontal dilution of precision information, and + information about the signal being received from the satellites. + + ==== Site Map + + .Monitor Flight Site Map View + image::site-map.png[width="5.5in"] + + When the TeleMetrum has 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 color: 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 default 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 centered while data is being received. + + You can adjust the style of map and the zoom level + with buttons on the right side of the map window. You + can draw a line on the map by moving the mouse over + the map with a button other than the left one pressed, + or by pressing the left button while also holding down + the shift key. The length of the line in real-world + units will be shown at the start of the line. + + Images are fetched automatically via the Google Maps + Static API, and cached on disk for reuse. If map + images cannot be downloaded, the rocket's path will be + traced on a dark gray background instead. + + You can pre-load images for your favorite launch sites + before you leave home; check out the 'Preload Maps' + section below. + + ==== Igniter + + .Monitor Flight Additional Igniter View + image::ignitor.png[width="5.5in"] + + TeleMega includes four additional programmable pyro + channels. The Ignitor tab shows whether each of them has + continuity. If an ignitor has a low resistance, then the + voltage measured here will be close to the pyro battery + voltage. A value greater than 3.2V is required for a 'GO' + status. + + === Save Flight Data + + The altimeter records flight data to its internal + flash memory. 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. + + Clicking on the 'Save Flight Data' button brings up a + list of connected flight computers and TeleDongle + devices. If you select a flight computer, the flight + data will be downloaded from that device directly. If + you select a TeleDongle device, flight data will be + downloaded from a flight computer over radio link via + the specified TeleDongle. See the chapter on + Controlling An Altimeter Over The Radio Link for more + information. + + After the device has been selected, a dialog showing + the flight data saved in the device will be shown + allowing you to select which flights to download and + which to delete. With version 0.9 or newer firmware, + you must erase flights in order for the space they + consume to be reused by another flight. This prevents + accidentally losing flight data if you neglect to + download data before flying again. Note that if there + is no more space available in the device, then no data + will be recorded during the next flight. + + The file name for each flight log is computed + automatically from the recorded flight date, altimeter + 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 altimeter + 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 + flash memory. + + Note that telemetry files will generally produce poor graphs + due to the lower sampling rate and missed telemetry packets. + Use saved flight data in .eeprom files for graphing where possible. + + Once a flight record is selected, a window with multiple tabs is + opened. + + ==== Flight Graph + + image::graph.png[width="5.5in"] + + By default, the graph contains acceleration (blue), + velocity (green) and altitude (red). + + 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 pop-up menu to be + displayed, giving you the option save or print the + plot. + + ==== Configure Graph + + image::graph-configure.png[width="5.5in"] + + This selects which graph elements to show, and, at the + very bottom, lets you switch between metric and + imperial units + + ==== Flight Statistics + + image::graph-stats.png[width="5.5in"] + + Shows overall data computed from the flight. + + ==== Map + + image::graph-map.png[width="5.5in"] + + Shows a satellite image of the flight area overlaid + with the path of the flight. The red concentric + circles mark the launch pad, the black concentric + circles mark the landing location. + + === 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, + which can be either a .eeprom or .telem. The .eeprom + files contain higher resolution and more continuous + data, while .telem files contain receiver signal + strength information. 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 altimeter, then there is a single + header line which labels all of the fields. All of + these lines start with a '#' character which many + 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 Google Earth to provide an + overlay within that application. With this, you can + use Google Earth to see the whole flight path in 3D. + + === Configure Altimeter + + image::configure-altimeter.png[width="3.6in"] + + Select this button and then select either an altimeter or + TeleDongle Device from the list provided. Selecting a TeleDongle + device will use the radio link to configure a remote altimeter. + + The first few lines of the dialog provide information about the + connected 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 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 device. Use this to switch from idle + to pad mode by rebooting once the rocket is oriented + for flight, or to confirm changes you think you saved + are really saved. + + 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 over + pressurize the apogee deployment bay and cause a + structural failure of the air-frame. The Apogee Delay + parameter tells the flight computer to fire the apogee + charge a certain number of seconds after apogee has + been detected. + + ==== Apogee Lockout + + Apogee lockout is the number of seconds after boost + where the flight computer will not fire the apogee + charge, even if the rocket appears to be at + apogee. This is often called 'Mach Delay', as it is + intended to prevent a flight computer from + unintentionally firing apogee charges due to the + pressure spike that occurrs across a mach + transition. Altus Metrum flight computers include a + Kalman filter which is not fooled by this sharp + pressure increase, and so this setting should be left + at the default value of zero to disable it. + + ==== Frequency + + This configures which of the frequencies to use for + both telemetry and packet command mode. Note that if + you set this value via packet command mode, the + TeleDongle frequency will also be automatically + reconfigured to match so that communication will + continue afterwards. + + ==== RF Calibration + + The radios in every Altus Metrum device are calibrated + at the factory to ensure that they transmit and + receive on the specified frequency. If you need to + you can adjust the calibration by changing this value. + Do not do this without understanding what the value + means, read the appendix on calibration and/or the + source code for more information. To change a + TeleDongle's calibration, you must reprogram the unit + completely. + + ==== Telemetry/RDF/APRS Enable + + Enables the radio for transmission during + flight. When disabled, the radio will not + transmit anything during flight at all. + + ==== Telemetry baud rate + + This sets the modulation bit rate for data + transmission for both telemetry and packet + link mode. Lower bit rates will increase range + while reducing the amount of data that can be + sent and increasing battery consumption. All + telemetry is done using a rate 1/2 constraint + 4 convolution code, so the actual data + transmission rate is 1/2 of the modulation bit + rate specified here. + + ==== APRS Interval + + How often to transmit GPS information via APRS + (in seconds). When set to zero, APRS + transmission is disabled. This option is + available on TeleMetrum v2 and TeleMega + boards. TeleMetrum v1 boards cannot transmit + APRS packets. Note that a single APRS packet + takes nearly a full second to transmit, so + enabling this option will prevent sending any + other telemetry during that time. + + ==== APRS SSID + + Which SSID to report in APRS packets. By + default, this is set to the last digit of the + serial number, but can be configured to any + value from 0 to 9. + + ==== Callsign + + This sets the call sign included in each + telemetry packet. Set this as needed to + conform to your local radio regulations. + + ==== Maximum Flight Log Size + + This sets the space (in kilobytes) allocated + for each flight log. The available space will + be divided into chunks of this size. A smaller + value will allow more flights to be stored, a + larger value will record data from longer + flights. + + ==== Ignitor Firing Mode + + This configuration parameter allows the two standard ignitor + channels (Apogee and Main) to be used in different + configurations. + + Dual Deploy:: + This is the usual mode of operation; the + 'apogee' channel is fired at apogee and the + 'main' channel at the height above ground + specified by the 'Main Deploy Altitude' during + descent. + + Redundant Apogee:: + This fires both channels at apogee, the + 'apogee' channel first followed after a two + second delay by the 'main' channel. + + Redundant Main:: + This fires both channels at the height above + ground specified by the Main Deploy Altitude + setting during descent. The 'apogee' channel + is fired first, followed after a two second + delay by the 'main' channel. + + ==== Pad Orientation + + Because they include accelerometers, + TeleMetrum, TeleMega and EasyMega are + sensitive to the orientation of the board. By + default, they expect the antenna end to point + forward. This parameter allows that default to + be changed, permitting the board to be mounted + with the antenna pointing aft instead. + + Antenna Up:: + In this mode, the antenna end of the flight + computer must point forward, in line with the + expected flight path. + + Antenna Down:: + In this mode, the antenna end of the flight + computer must point aft, in line with the + expected flight path. + + ==== Beeper Frequency + + The beeper on all Altus Metrum flight + computers works best at 4000Hz, however if you + have more than one flight computer in a single + airframe, having all of them sound at the same + frequency can be confusing. This parameter + lets you adjust the base beeper frequency + value. + + ==== Configure Pyro Channels + + image::configure-pyro.png[width="5.5in"] + + This opens a separate window to configure the + additional pyro channels available on TeleMega + and EasyMega. One column is presented for + each channel. Each row represents a single + parameter, if enabled the parameter must meet + the specified test for the pyro channel to be + fired. + + Select conditions and set the related value; + the pyro channel will be activated when *all* + of the conditions are met. Each pyro channel + has a separate set of configuration values, so + you can use different values for the same + condition with different channels. + + At the bottom of the window, the 'Pyro Firing + Time' configuration sets the length of time + (in seconds) which each of these pyro channels + will fire for. + + Once you have selected the appropriate + configuration for all of the necessary pyro + channels, you can save the pyro configuration + along with the rest of the flight computer + configuration by pressing the 'Save' button in + the main Configure Flight Computer window. + + include::pyro-channels.raw[] + + === Configure AltosUI + + image:configure-altosui.png[width="2.4in"] + + This button presents a dialog so that you can + configure the AltosUI global settings. + + ==== Voice Settings + + AltosUI provides voice announcements 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 system 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 transmitted in each command + packet sent from TeleDongle and received from + an altimeter. It is not used in telemetry + mode, as the callsign configured in the + altimeter board is included in all telemetry + packets. Configure this with the AltosUI + operators call sign as needed to comply with + your local radio regulations. + + Note that to successfully command a flight + computer over the radio (to configure the + altimeter, monitor idle, or fire pyro + charges), the callsign configured here must + exactly match the callsign configured in the + flight computer. This matching is case + sensitive. + + ==== Imperial Units + + This switches between metric units (meters) + and imperial units (feet and miles). This + affects the display of values use during + flight monitoring, configuration, data + graphing and all of the voice + announcements. It does not change the units + used when exporting to CSV files, those are + always produced in metric units. + + ==== Font Size + + Selects the set of fonts used in the flight + monitor window. Choose between the small, + medium and large sets. + + ==== Serial Debug + + This causes all communication with a connected + device to be dumped to the console from which + AltosUI was started. If you've started it from + an icon or menu entry, the output will simply + be discarded. This mode can be useful to debug + various serial communication issues. + + ==== Manage Frequencies + + This brings up a dialog where you can + configure the set of frequencies shown in the + various frequency menus. You can add as many + as you like, or even reconfigure the default + set. Changing this list does not affect the + frequency settings of any devices, it only + changes the set of frequencies shown in the + menus. + + === Configure Groundstation + + image:configure-groundstation.png[width="3.1in"] + + Select this button and then select a + TeleDongle or TeleBT Device from the list + provided. + + The first few lines of the dialog provide + information about the connected device, + including the product name, software version + and hardware serial number. Below that are the + individual configuration entries. + + Note that TeleDongle and TeleBT don't save any + configuration data, the settings here are + recorded on the local machine in the Java + preferences database. Moving the device to + another machine, or using a different user + account on the same machine will cause + settings made here to have no effect. + + At the bottom of the dialog, there are three + buttons: + + Save:: + This writes any changes to the local Java + preferences file. 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. + + Close:: + This closes the dialog. Any unsaved changes + will be lost. + + The rest of the dialog contains the parameters + to be configured. + + ==== Frequency + + This configures the frequency to use for both + telemetry and packet command mode. Set this + before starting any operation involving packet + command mode so that it will use the right + frequency. Telemetry monitoring mode also + provides a menu to change the frequency, and + that menu also sets the same Java preference + value used here. + + ==== RF Calibration + + The radios in every Altus Metrum device are + calibrated at the factory to ensure that they + transmit and receive on the specified + frequency. To change a TeleDongle or TeleBT's + calibration, you must reprogram the unit + completely, so this entry simply shows the + current value and doesn't allow any changes. + + ==== Telemetry Rate + + This lets you match the telemetry and packet + link rate from the transmitter. If they don't + match, the device won't receive any data. + + === Flash Image + + This reprograms Altus Metrum devices with new + firmware. TeleMetrum v1.x, TeleDongle v0.2, TeleMini + and TeleBT are all reprogrammed by using another + similar unit as a programming dongle (pair + programming). TeleMega, EasyMega, TeleMetrum v2, + EasyMini and TeleDongle v3 are all programmed directly + over their USB ports (self programming). Please read + the directions for flashing devices in the Updating + Device Firmware chapter below. + + === Fire Igniter + + image::fire-igniter.png[width="1.2in"] + + This activates the igniter circuits in the flight + computer 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 air-frame. + + Selecting the 'Fire Igniter' button brings up the + usual device selection dialog. Pick the desired + device. This brings up another window which shows the + current continuity test status for all of the pyro + channels. + + 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. + + === Scan Channels + + image::scan-channels.png[width="3.2in"] + + This listens for telemetry packets on all of the + configured frequencies, displaying information about + each device it receives a packet from. You can select + which of the baud rates and telemetry formats should + be tried; by default, it only listens at 38400 baud + with the standard telemetry format used in v1.0 and + later firmware. + + === Load Maps + + image::load-maps.png[width="5.2in"] + + Before heading out to a new launch site, you can use + this to load satellite images in case you don't have + internet connectivity at the site. + + There's a drop-down menu of launch sites we know + about; if your favorites aren't there, please let us + know the lat/lon and name of the site. The contents of + this list are actually downloaded from our server at + run-time, so as new sites are sent in, they'll get + automatically added to this list. If the launch site + isn't in the list, you can manually enter the lat/lon + values + + There are four different kinds of maps you can view; + you can select which to download by selecting as many + as you like from the available types: + + Hybrid:: + A combination of satellite imagery and road data. This + is the default view. + + Satellite:: + Just the satellite imagery without any annotation. + + Roadmap:: + Roads, political boundaries and a few geographic + features. + + Terrain:: + Contour intervals and shading that show hills and + valleys. + + You can specify the range of zoom levels to download; + smaller numbers show more area with less + resolution. The default level, 0, shows about + 3m/pixel. One zoom level change doubles or halves that + number. Larger zoom levels show more detail, smaller + zoom levels less. + + The Map Radius value sets how large an area around the + center point to download. Select a value large enough + to cover any plausible flight from that site. Be aware + that loading a large area with a high maximum zoom + level can attempt to download a lot of data. Loading + hybrid maps with a 10km radius at a minimum zoom of -2 + and a maximum zoom of 2 consumes about 120MB of + space. Terrain and road maps consume about 1/10 as + much space as satellite or hybrid maps. + + Clicking the 'Load Map' button will fetch images from + Google Maps; note that Google limits how many images + you can fetch at once, so if you load more than one + launch site, you may get some gray areas in the map + which indicate that Google is tired of sending data to + you. Try again later. + + === Monitor Idle + + image::monitor-idle.png[width="5.2in"] + + This brings up a dialog similar to the Monitor Flight + UI, except it works with the altimeter in “idle” mode + by sending query commands to discover the current + state rather than listening for telemetry + packets. Because this uses command mode, it needs to + have the TeleDongle and flight computer callsigns + match exactly. If you can receive telemetry, but + cannot manage to run Monitor Idle, then it's very + likely that your callsigns are different in some way. + + You can change the frequency and callsign used to + communicate with the flight computer; they must both + match the configuration in the flight computer + exactly. diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index 82e456a0..f631a31f 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -3,32 +3,7 @@ :doctype: book :numbered: - [dedication] - == Acknowledgments - - 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 formed the basis of the original Getting Started chapter - in this manual. Bob was one of our first customers for a production - TeleMetrum, and his continued enthusiasm and contributions - are immensely gratifying and highly appreciated! - - And thanks to Anthony (AJ) Towns for major contributions including - the AltosUI graphing and site map code and associated 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. - - [verse] - Bdale Garbee, KB0G - NAR #87103, TRA #12201 - - [verse] - Keith Packard, KD7SQG - NAR #88757, TRA #12200 + include::dedication.raw[] include::intro.raw[] @@ -50,6 +25,8 @@ include::installation.raw[] + include::altosui.raw[] + include::system-operation.raw[] include::handling.raw[] diff --git a/doc/dedication.inc b/doc/dedication.inc new file mode 100644 index 00000000..6fac8e45 --- /dev/null +++ b/doc/dedication.inc @@ -0,0 +1,26 @@ +[dedication] +== Acknowledgments + + 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 formed the basis of the original Getting Started chapter + in this manual. Bob was one of our first customers for a production + TeleMetrum, and his continued enthusiasm and contributions + are immensely gratifying and highly appreciated! + + And thanks to Anthony (AJ) Towns for major contributions including + the AltosUI graphing and site map code and associated 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. + + [verse] + Bdale Garbee, KB0G + NAR #87103, TRA #12201 + + [verse] + Keith Packard, KD7SQG + NAR #88757, TRA #12200 diff --git a/doc/easymini.inc b/doc/easymini.inc index 40cb3e1a..0714d7c3 100644 --- a/doc/easymini.inc +++ b/doc/easymini.inc @@ -52,6 +52,29 @@ |Switch connection to positive battery terminal |==== + === Connecting A Battery To TeleMini v2.0 + + There are two possible battery connections on + EasyMini. You can use either method; both feed + through the power switch terminals. + + One battery connection is the standard Altus Metrum + white JST plug. This mates with single-cell Lithium + Polymer batteries sold by Altus Metrum. + + The other is a pair of screw terminals marked 'Battery + +' and 'Battery -'. Connect a battery from 4 to 12 + volts to these terminals, being careful to match polarity. + + === Charging Lithium Batteries + + Because EasyMini allows for batteries other than the + standard Altus Metrum Lithium Polymer cells, it cannot + incorporate a battery charger circuit. Therefore, when + using a Litium Polymer cell, you'll need an external + charger. These are available from Altus Metrum, or + from Spark Fun. + === Using a Separate Pyro Battery with EasyMini As described above, using an external pyro battery involves diff --git a/doc/pyro-channels.inc b/doc/pyro-channels.inc new file mode 100644 index 00000000..0da7db25 --- /dev/null +++ b/doc/pyro-channels.inc @@ -0,0 +1,110 @@ + +Acceleration:: Select a value, and then choose +whether acceleration should be above or below +that value. Acceleration is positive upwards, +so accelerating towards the ground would +produce negative numbers. Acceleration during +descent is noisy and inaccurate, so be careful +when using it during these phases of the +flight. + +Vertical speed:: Select a value, and then +choose whether vertical speed should be above +or below that value. Speed is positive +upwards, so moving towards the ground would +produce negative numbers. Speed during descent +is a bit noisy and so be careful when using it +during these phases of the flight. + +Height:: Select a value, and then choose +whether the height above the launch pad should +be above or below that value. + +Orientation:: TeleMega and EasyMega contain a +3-axis gyroscope and accelerometer which is +used to measure the current angle. Note that +this angle is not the change in angle from the +launch pad, but rather absolute relative to +gravity; the 3-axis accelerometer is used to +compute the angle of the rocket on the launch +pad and initialize the system. + + [NOTE] + ==== + Because this value is computed by integrating + rate gyros, it gets progressively less + accurate as the flight goes on. It should have + an accumulated error of less than 0.2°/second + (after 10 seconds of flight, the error should + be less than 2°). + + The usual use of the orientation configuration + is to ensure that the rocket is traveling + mostly upwards when deciding whether to ignite + air starts or additional stages. For that, + choose a reasonable maximum angle (like 20°) + and set the motor igniter to require an angle + of less than that value. + ==== + +Flight Time:: Time since boost was +detected. Select a value and choose whether to +activate the pyro channel before or after that +amount of time. + +Ascending:: A simple test saying whether the +rocket is going up or not. This is exactly +equivalent to testing whether the speed is +> 0. + +Descending:: A simple test saying whether the +rocket is going down or not. This is exactly +equivalent to testing whether the speed is +< 0. + +After Motor:: The flight software counts each +time the rocket starts accelerating and then +decelerating (presumably due to a motor or +motors burning). Use this value for +multi-staged or multi-airstart launches. + +Delay:: This value doesn't perform any checks, +instead it inserts a delay between the time +when the other parameters become true and when +the pyro channel is activated. + +Flight State:: The flight software tracks the flight +through a sequence of states: + + * Boost. The motor has lit and the rocket is + accelerating upwards. + + * Fast. The motor has burned out and the + rocket is decelerating, but it is going + faster than 200m/s. + + * Coast. The rocket is still moving upwards + and decelerating, but the speed is less + than 200m/s. + + * Drogue. The rocket has reached apogee and + is heading back down, but is above the + configured Main altitude. + + * Main. The rocket is still descending, and + is below the Main altitude + + * Landed. The rocket is no longer moving. + +You can select a state to limit when the pyro +channel may activate; note that the check is +based on when the rocket transitions *into* +the state, and so checking for “greater than +Boost” means that the rocket is currently in +boost or some later state. + +When a motor burns out, the rocket enters +either Fast or Coast state (depending on how +fast it is moving). If the computer detects +upwards acceleration again, it will move back +to Boost state. diff --git a/doc/system-operation.inc b/doc/system-operation.inc index 1e57f247..bca1ee80 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -1,3 +1,4 @@ +[appendix] == System Operation === Firmware Modes @@ -34,7 +35,7 @@ long). “Brap” means a long dissonant tone. .AltOS Modes - [options="border",cols="1,1,1,1"] + [options="border",cols="1,1,2,2"] |==== |Mode Name |Abbreviation @@ -127,7 +128,7 @@ Here's a summary of all of the “pad” and “idle” mode indications. .Pad/Idle Indications - [options="header",cols="1,1,1"] + [options="header",cols="1,1,3"] |==== |Name |Beeps |Description @@ -619,112 +620,5 @@ to activate the channel. The conditions available are: - Acceleration:: Select a value, and then choose - whether acceleration should be above or below - that value. Acceleration is positive upwards, - so accelerating towards the ground would - produce negative numbers. Acceleration during - descent is noisy and inaccurate, so be careful - when using it during these phases of the - flight. - - Vertical speed:: Select a value, and then - choose whether vertical speed should be above - or below that value. Speed is positive - upwards, so moving towards the ground would - produce negative numbers. Speed during descent - is a bit noisy and so be careful when using it - during these phases of the flight. - - Height:: Select a value, and then choose - whether the height above the launch pad should - be above or below that value. - - Orientation:: TeleMega and EasyMega contain a - 3-axis gyroscope and accelerometer which is - used to measure the current angle. Note that - this angle is not the change in angle from the - launch pad, but rather absolute relative to - gravity; the 3-axis accelerometer is used to - compute the angle of the rocket on the launch - pad and initialize the system. - - [NOTE] - ==== - Because this value is computed by integrating - rate gyros, it gets progressively less - accurate as the flight goes on. It should have - an accumulated error of less than 0.2°/second - (after 10 seconds of flight, the error should - be less than 2°). - - The usual use of the orientation configuration - is to ensure that the rocket is traveling - mostly upwards when deciding whether to ignite - air starts or additional stages. For that, - choose a reasonable maximum angle (like 20°) - and set the motor igniter to require an angle - of less than that value. - ==== - - Flight Time:: Time since boost was - detected. Select a value and choose whether to - activate the pyro channel before or after that - amount of time. - - Ascending:: A simple test saying whether the - rocket is going up or not. This is exactly - equivalent to testing whether the speed is - > 0. - - Descending:: A simple test saying whether the - rocket is going down or not. This is exactly - equivalent to testing whether the speed is - < 0. - - After Motor:: The flight software counts each - time the rocket starts accelerating and then - decelerating (presumably due to a motor or - motors burning). Use this value for - multi-staged or multi-airstart launches. - - Delay:: This value doesn't perform any checks, - instead it inserts a delay between the time - when the other parameters become true and when - the pyro channel is activated. - - Flight State:: The flight software tracks the flight - through a sequence of states: - - * Boost. The motor has lit and the rocket is - accelerating upwards. - - * Fast. The motor has burned out and the - rocket is decelerating, but it is going - faster than 200m/s. - - * Coast. The rocket is still moving upwards - and decelerating, but the speed is less - than 200m/s. - - * Drogue. The rocket has reached apogee and - is heading back down, but is above the - configured Main altitude. - - * Main. The rocket is still descending, and - is below the Main altitude - - * Landed. The rocket is no longer moving. - - You can select a state to limit when the pyro - channel may activate; note that the check is - based on when the rocket transitions *into* - the state, and so checking for “greater than - Boost” means that the rocket is currently in - boost or some later state. - - When a motor burns out, the rocket enters - either Fast or Coast state (depending on how - fast it is moving). If the computer detects - upwards acceleration again, it will move back - to Boost state. + include::pyro-channels.raw[] + diff --git a/doc/telemini-v2.0.inc b/doc/telemini-v2.0.inc index 63e6db5d..0a6a7b2d 100644 --- a/doc/telemini-v2.0.inc +++ b/doc/telemini-v2.0.inc @@ -54,6 +54,28 @@ |Switch connection to positive battery terminal |==== + === Connecting A Battery To TeleMini v2.0 + + There are two possible battery connections on TeleMini + v2.0. You can use either method; both feed through + the power switch terminals. + + One battery connection is the standard Altus Metrum + white JST plug. This mates with single-cell Lithium + Polymer batteries sold by Altus Metrum. + + The other is a pair of screw terminals marked 'Battery + +' and 'Battery -'. Connect a battery from 4 to 12 + volts to these terminals, being careful to match polarity. + + === Charging Lithium Batteries + + Because TeleMini v2.0 allows for batteries other than + the standard Altus Metrum Lithium Polymer cells, it + cannot incorporate a battery charger + circuit. Therefore, when using a Litium Polymer cell, + you'll need an external charger. These are available + from Altus Metrum, or from Spark Fun. === Using a Separate Pyro Battery with TeleMini v2.0 @@ -78,12 +100,12 @@ === Using an Active Switch with TeleMini v2.0 - As explained above, an external active switch requires three - connections, one to the positive battery terminal, one to - the flight computer positive input and one to ground. Use - the negative external battery connection, top terminal 4 for - ground. - - The positive battery terminal is available on bottom - terminal 4, the positive flight computer input is on the - bottom terminal 3. + As explained above, an external active switch requires three + connections, one to the positive battery terminal, one to + the flight computer positive input and one to ground. Use + the negative external battery connection, top terminal 4 for + ground. + + The positive battery terminal is available on bottom + terminal 4, the positive flight computer input is on the + bottom terminal 3. diff --git a/doc/usage.inc b/doc/usage.inc index b4a93271..cc694dda 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -23,6 +23,7 @@ attached, which they call a link:https://www.sparkfun.com/products/9914[JST Jumper 2 Wire Assembly] + [WARNING] Many RC vendors also sell lithium polymer batteries with this same connector. All that we have found use the opposite polarity, and if you use them that way, you will damage or @@ -84,7 +85,11 @@ EasyMini and TeleMini v2 are designed to use either a lithium polymer battery or any other battery producing between 4 and 12 volts, such as a rectangular 9V - battery. TeleMega, EasyMega and TeleMetrum are not designed for this, - and must only be powered by a lithium polymer battery. Find - instructions on how to use other batteries in the EasyMini - and TeleMini sections below. + battery. + + [WARNING] + TeleMega, EasyMega and TeleMetrum are only designed to + use a single-cell Lithium Polymer battery and cannot + be used with any other kind. Connecting a different + kind of battery to any of these will destroy the + board. -- cgit v1.2.3 From 4c1206a47431c7d873228fdd7328e1b9ac93a390 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 13 Nov 2015 19:45:02 -0800 Subject: Break out common pieces from TeleGPS and AltusMetrum This creates shared files for portions of the TeleGPS and AltusMetrum manual to avoid duplicating text between the two. Signed-off-by: Keith Packard --- doc/Makefile | 19 +- doc/altosui.inc | 346 +-------------------------------- doc/altusmetrum.txt | 2 + doc/aprs-operation.inc | 85 ++++++++ doc/config-device.inc | 240 +++++++++++++++++++++++ doc/config-ui.inc | 105 ++++++++++ doc/installation.inc | 15 +- doc/load-maps.inc | 60 ++++++ doc/micropeak.txt | 4 +- doc/release-notes-0.9.inc | 4 +- doc/system-operation.inc | 404 ++++----------------------------------- doc/telegps-application.inc | 224 +--------------------- doc/telegps-dedication.inc | 19 ++ doc/telegps-quick-start.inc | 13 +- doc/telegps-system-operation.inc | 126 +----------- doc/telegps.txt | 4 +- doc/usage.inc | 142 ++++++++++++-- 17 files changed, 728 insertions(+), 1084 deletions(-) create mode 100644 doc/aprs-operation.inc create mode 100644 doc/config-device.inc create mode 100644 doc/config-ui.inc create mode 100644 doc/load-maps.inc create mode 100644 doc/telegps-dedication.inc (limited to 'doc/usage.inc') diff --git a/doc/Makefile b/doc/Makefile index 89a302ff..f8fdb5e8 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -90,6 +90,13 @@ IMAGES=\ TXT_FILES=altusmetrum.txt +COMMON_INC_FILES=\ + config-device.inc \ + config-ui.inc \ + load-maps.inc \ + aprs-operation.inc \ + handling.inc + INC_FILES=\ dedication.inc \ intro.inc \ @@ -109,23 +116,23 @@ INC_FILES=\ system-operation.inc \ pyro-channels.inc \ flight-data-recording.inc \ - handling.inc \ specs.inc \ + $(COMMON_INC_FILES) \ release-notes.inc \ $(RELNOTES_INC) RAW_FILES=$(TXT_FILES:.txt=.raw) $(INC_FILES:.inc=.raw) TELEGPS_INC_FILES=\ - dedication.inc \ + telegps-dedication.inc \ telegps-quick-start.inc \ telegps-using.inc \ telegps-system-operation.inc \ telegps-application.inc \ - handling.inc \ telegps-specs.inc \ telegps-updating-firmware.inc \ - telegps-release-notes.inc + telegps-release-notes.inc \ + $(COMMON_INC_FILES) TELEGPS_TXT_FILES=\ telegps.txt @@ -214,10 +221,10 @@ DOC=$(HTML) $(HTML_REVHISTORY) $(PDF) $(IMAGES) $(STYLESHEET) sed -e 's/^[ ]*//' -e 's/^\\//' $*.inc > $@ .raw.pdf: - a2x --verbose -a docinfo -f pdf --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file $(FOP_STYLE) --fop --fop-opts="-c $(FOP_XCONF)" $*.raw + a2x --verbose -a icons -a docinfo -f pdf --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file $(FOP_STYLE) --fop --fop-opts="-c $(FOP_XCONF)" $*.raw .raw.html: - a2x --verbose -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file $(HTML_STYLE) --stylesheet=$(STYLESHEET) $*.raw + a2x --verbose -a icons -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file $(HTML_STYLE) --stylesheet=$(STYLESHEET) $*.raw .tmpl.xsl: xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/template/titlepage.xsl $*.tmpl diff --git a/doc/altosui.inc b/doc/altosui.inc index a7bf4449..df5a3cee 100644 --- a/doc/altosui.inc +++ b/doc/altosui.inc @@ -285,8 +285,7 @@ traced on a dark gray background instead. You can pre-load images for your favorite launch sites - before you leave home; check out the 'Preload Maps' - section below. + before you leave home; check out <<_load_maps>>. ==== Igniter @@ -478,202 +477,8 @@ 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 over - pressurize the apogee deployment bay and cause a - structural failure of the air-frame. The Apogee Delay - parameter tells the flight computer to fire the apogee - charge a certain number of seconds after apogee has - been detected. - - ==== Apogee Lockout - - Apogee lockout is the number of seconds after boost - where the flight computer will not fire the apogee - charge, even if the rocket appears to be at - apogee. This is often called 'Mach Delay', as it is - intended to prevent a flight computer from - unintentionally firing apogee charges due to the - pressure spike that occurrs across a mach - transition. Altus Metrum flight computers include a - Kalman filter which is not fooled by this sharp - pressure increase, and so this setting should be left - at the default value of zero to disable it. + include::config-device.raw[] - ==== Frequency - - This configures which of the frequencies to use for - both telemetry and packet command mode. Note that if - you set this value via packet command mode, the - TeleDongle frequency will also be automatically - reconfigured to match so that communication will - continue afterwards. - - ==== RF Calibration - - The radios in every Altus Metrum device are calibrated - at the factory to ensure that they transmit and - receive on the specified frequency. If you need to - you can adjust the calibration by changing this value. - Do not do this without understanding what the value - means, read the appendix on calibration and/or the - source code for more information. To change a - TeleDongle's calibration, you must reprogram the unit - completely. - - ==== Telemetry/RDF/APRS Enable - - Enables the radio for transmission during - flight. When disabled, the radio will not - transmit anything during flight at all. - - ==== Telemetry baud rate - - This sets the modulation bit rate for data - transmission for both telemetry and packet - link mode. Lower bit rates will increase range - while reducing the amount of data that can be - sent and increasing battery consumption. All - telemetry is done using a rate 1/2 constraint - 4 convolution code, so the actual data - transmission rate is 1/2 of the modulation bit - rate specified here. - - ==== APRS Interval - - How often to transmit GPS information via APRS - (in seconds). When set to zero, APRS - transmission is disabled. This option is - available on TeleMetrum v2 and TeleMega - boards. TeleMetrum v1 boards cannot transmit - APRS packets. Note that a single APRS packet - takes nearly a full second to transmit, so - enabling this option will prevent sending any - other telemetry during that time. - - ==== APRS SSID - - Which SSID to report in APRS packets. By - default, this is set to the last digit of the - serial number, but can be configured to any - value from 0 to 9. - - ==== Callsign - - This sets the call sign included in each - telemetry packet. Set this as needed to - conform to your local radio regulations. - - ==== Maximum Flight Log Size - - This sets the space (in kilobytes) allocated - for each flight log. The available space will - be divided into chunks of this size. A smaller - value will allow more flights to be stored, a - larger value will record data from longer - flights. - - ==== Ignitor Firing Mode - - This configuration parameter allows the two standard ignitor - channels (Apogee and Main) to be used in different - configurations. - - Dual Deploy:: - This is the usual mode of operation; the - 'apogee' channel is fired at apogee and the - 'main' channel at the height above ground - specified by the 'Main Deploy Altitude' during - descent. - - Redundant Apogee:: - This fires both channels at apogee, the - 'apogee' channel first followed after a two - second delay by the 'main' channel. - - Redundant Main:: - This fires both channels at the height above - ground specified by the Main Deploy Altitude - setting during descent. The 'apogee' channel - is fired first, followed after a two second - delay by the 'main' channel. - - ==== Pad Orientation - - Because they include accelerometers, - TeleMetrum, TeleMega and EasyMega are - sensitive to the orientation of the board. By - default, they expect the antenna end to point - forward. This parameter allows that default to - be changed, permitting the board to be mounted - with the antenna pointing aft instead. - - Antenna Up:: - In this mode, the antenna end of the flight - computer must point forward, in line with the - expected flight path. - - Antenna Down:: - In this mode, the antenna end of the flight - computer must point aft, in line with the - expected flight path. - - ==== Beeper Frequency - - The beeper on all Altus Metrum flight - computers works best at 4000Hz, however if you - have more than one flight computer in a single - airframe, having all of them sound at the same - frequency can be confusing. This parameter - lets you adjust the base beeper frequency - value. - - ==== Configure Pyro Channels - - .Additional Pyro Channel Configuration - image::configure-pyro.png[width="5.5in"] - - This opens a separate window to configure the - additional pyro channels available on TeleMega - and EasyMega. One column is presented for - each channel. Each row represents a single - parameter, if enabled the parameter must meet - the specified test for the pyro channel to be - fired. - - Select conditions and set the related value; - the pyro channel will be activated when *all* - of the conditions are met. Each pyro channel - has a separate set of configuration values, so - you can use different values for the same - condition with different channels. - - At the bottom of the window, the 'Pyro Firing - Time' configuration sets the length of time - (in seconds) which each of these pyro channels - will fire for. - - Once you have selected the appropriate - configuration for all of the necessary pyro - channels, you can save the pyro configuration - along with the rest of the flight computer - configuration by pressing the 'Save' button in - the main Configure Flight Computer window. - - include::pyro-channels.raw[] === Configure AltosUI @@ -683,91 +488,7 @@ This button presents a dialog so that you can configure the AltosUI global settings. - ==== Voice Settings - - AltosUI provides voice announcements 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 system 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 transmitted in each command - packet sent from TeleDongle and received from - an altimeter. It is not used in telemetry - mode, as the callsign configured in the - altimeter board is included in all telemetry - packets. Configure this with the AltosUI - operators call sign as needed to comply with - your local radio regulations. - - Note that to successfully command a flight - computer over the radio (to configure the - altimeter, monitor idle, or fire pyro - charges), the callsign configured here must - exactly match the callsign configured in the - flight computer. This matching is case - sensitive. - - ==== Imperial Units - - This switches between metric units (meters) - and imperial units (feet and miles). This - affects the display of values use during - flight monitoring, configuration, data - graphing and all of the voice - announcements. It does not change the units - used when exporting to CSV files, those are - always produced in metric units. - - ==== Font Size - - Selects the set of fonts used in the flight - monitor window. Choose between the small, - medium and large sets. - - ==== Serial Debug - - This causes all communication with a connected - device to be dumped to the console from which - AltosUI was started. If you've started it from - an icon or menu entry, the output will simply - be discarded. This mode can be useful to debug - various serial communication issues. - - ==== Manage Frequencies - - This brings up a dialog where you can - configure the set of frequencies shown in the - various frequency menus. You can add as many - as you like, or even reconfigure the default - set. Changing this list does not affect the - frequency settings of any devices, it only - changes the set of frequencies shown in the - menus. + include::config-ui.raw[] === Configure Groundstation @@ -890,66 +611,7 @@ with the standard telemetry format used in v1.0 and later firmware. - === Load Maps - - .Load Maps Window - image::load-maps.png[width="5.2in"] - - Before heading out to a new launch site, you can use - this to load satellite images in case you don't have - internet connectivity at the site. - - There's a drop-down menu of launch sites we know - about; if your favorites aren't there, please let us - know the lat/lon and name of the site. The contents of - this list are actually downloaded from our server at - run-time, so as new sites are sent in, they'll get - automatically added to this list. If the launch site - isn't in the list, you can manually enter the lat/lon - values - - There are four different kinds of maps you can view; - you can select which to download by selecting as many - as you like from the available types: - - Hybrid:: - A combination of satellite imagery and road data. This - is the default view. - - Satellite:: - Just the satellite imagery without any annotation. - - Roadmap:: - Roads, political boundaries and a few geographic - features. - - Terrain:: - Contour intervals and shading that show hills and - valleys. - - You can specify the range of zoom levels to download; - smaller numbers show more area with less - resolution. The default level, 0, shows about - 3m/pixel. One zoom level change doubles or halves that - number. Larger zoom levels show more detail, smaller - zoom levels less. - - The Map Radius value sets how large an area around the - center point to download. Select a value large enough - to cover any plausible flight from that site. Be aware - that loading a large area with a high maximum zoom - level can attempt to download a lot of data. Loading - hybrid maps with a 10km radius at a minimum zoom of -2 - and a maximum zoom of 2 consumes about 120MB of - space. Terrain and road maps consume about 1/10 as - much space as satellite or hybrid maps. - - Clicking the 'Load Map' button will fetch images from - Google Maps; note that Google limits how many images - you can fetch at once, so if you load more than one - launch site, you may get some gray areas in the map - which indicate that Google is tired of sending data to - you. Try again later. + include::load-maps.raw[] === Monitor Idle diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index a2f78dda..f8d284ec 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -1,6 +1,8 @@ = The Altus Metrum System :doctype: book :numbered: +:altusmetrum: 1 +:application: AltosUI include::dedication.raw[] diff --git a/doc/aprs-operation.inc b/doc/aprs-operation.inc new file mode 100644 index 00000000..e514e110 --- /dev/null +++ b/doc/aprs-operation.inc @@ -0,0 +1,85 @@ + === APRS + + {aprsdevices} can send APRS if desired, and the + interval between APRS packets can be configured. As each APRS + packet takes a full second to transmit, we recommend an + interval of at least 5 seconds to avoid consuming too much + battery power or radio channel bandwidth. You can configure + the APRS interval using {application}; that process is described in + <<{configure_section}>> in the {application} chapter. + + AltOS supports both compressed and uncompressed APRS + position report data formats. The compressed format + provides for higher position precision and shorter + packets than the uncompressed APRS format. We've found + some older APRS receivers that do not handle the + compressed format. The Kenwood TH-72A requires the use + of uncompressed format to display altitude information + correctly. The Yaesu FT1D requires the use of + compressed format to display altitude information. + + APRS packets include an SSID (Secondary Station Identifier) + field that allows one operator to have multiple + transmitters. AltOS allows you to set this to a single digit + from 0 to 9, allowing you to fly multiple transmitters at the + same time while keeping the identify of each one separate in + the receiver. By default, the SSID is set to the last digit of + the device serial number. + + The APRS packet format includes a comment field that can have + arbitrary text in it. AltOS uses this to send status + information about the flight computer. It sends four fields as + shown in the following table. + + .Altus Metrum APRS Comments + [options="header",cols="1,1,3"] + |==== + |Field |Example |Description + + |1 + |L + |GPS Status U for unlocked, L for locked + + |2 + |6 + |Number of Satellites in View + + |3 + |B4.0 + |Altimeter Battery Voltage + + |4 + |A3.7 + |Apogee Igniter Voltage + + |5 + |M3.7 + |Main Igniter Voltage + + |6 + |1286 + |Device Serial Number + |==== + + Here's an example of an APRS comment showing GPS lock with 6 + satellites in view, a primary battery at 4.0V, and + apogee and main igniters both at 3.7V from device 1286. + + .... + L6 B4.0 A3.7 M3.7 1286 + .... + + Make sure your primary battery is above 3.8V, any + connected igniters are above 3.5V and GPS is locked + with at least 5 or 6 satellites in view before + flying. If GPS is switching between L and U regularly, + then it doesn't have a good lock and you should wait + until it becomes stable. + + If the GPS receiver loses lock, the APRS data + transmitted will contain the last position for which + GPS lock was available. You can tell that this has + happened by noticing that the GPS status character + switches from 'L' to 'U'. Before GPS has locked, APRS + will transmit zero for latitude, longitude and + altitude. diff --git a/doc/config-device.inc b/doc/config-device.inc new file mode 100644 index 00000000..fb09416c --- /dev/null +++ b/doc/config-device.inc @@ -0,0 +1,240 @@ +ifdef::altusmetrum[] + + ==== 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 over + pressurize the apogee deployment bay and cause a + structural failure of the air-frame. The Apogee Delay + parameter tells the flight computer to fire the apogee + charge a certain number of seconds after apogee has + been detected. + + ==== Apogee Lockout + + Apogee lockout is the number of seconds after boost + where the flight computer will not fire the apogee + charge, even if the rocket appears to be at + apogee. This is often called 'Mach Delay', as it is + intended to prevent a flight computer from + unintentionally firing apogee charges due to the + pressure spike that occurrs across a mach + transition. Altus Metrum flight computers include a + Kalman filter which is not fooled by this sharp + pressure increase, and so this setting should be left + at the default value of zero to disable it. + +endif::altusmetrum[] + +==== Frequency + + This configures which of the frequencies to use for + both telemetry and packet command mode. Note that if + you set this value via packet command mode, the + TeleDongle frequency will also be automatically + reconfigured to match so that communication will + continue afterwards. + +==== RF Calibration + + The radios in every Altus Metrum device are calibrated + at the factory to ensure that they transmit and + receive on the specified frequency. If you need to + you can adjust the calibration by changing this value. + Do not do this without understanding what the value + means, read the appendix on calibration and/or the + source code for more information. To change a + TeleDongle's calibration, you must reprogram the unit + completely. + +==== Telemetry/RDF/APRS Enable + + Enables the radio for transmission during + flight. When disabled, the radio will not + transmit anything during flight at all. + +==== Telemetry baud rate + + This sets the modulation bit rate for data + transmission for both telemetry and packet + link mode. Lower bit rates will increase range + while reducing the amount of data that can be + sent and increasing battery consumption. All + telemetry is done using a rate 1/2 constraint + 4 convolution code, so the actual data + transmission rate is 1/2 of the modulation bit + rate specified here. + +==== APRS Interval + + How often to transmit GPS information via APRS + (in seconds). When set to zero, APRS + transmission is disabled. + ifdef::altusmetrum[] + This option is + available on TeleMetrum v2 and TeleMega + boards. TeleMetrum v1 boards cannot transmit + APRS packets. + endif::altusmetrum[] + Note that a single APRS packet + takes nearly a full second to transmit, so + enabling this option will prevent sending any + other telemetry during that time. + +==== APRS SSID + + Which SSID to report in APRS packets. By + default, this is set to the last digit of the + serial number, but can be configured to any + value from 0 to 9. + +==== APRS Format + + Whether to send APRS data in Compressed or + Uncompressed format. Compressed format is + smaller and more precise. Uncompressed + format is older, but may work better with your + device. The Kenwood TH-D72 only displays + altitude information with Uncompressed + format, while the Yaesu FT1D only displays + altitude with Compressed format. Test before + you fly to see which to use. + +==== Callsign + + This sets the call sign included in each + telemetry packet. Set this as needed to + conform to your local radio regulations. + +ifdef::altusmetrum[] + + ==== Maximum Flight Log Size + + This sets the space (in kilobytes) allocated + for each flight log. The available space will + be divided into chunks of this size. A smaller + value will allow more flights to be stored, a + larger value will record data from longer + flights. + + ==== Ignitor Firing Mode + + This configuration parameter allows the two standard ignitor + channels (Apogee and Main) to be used in different + configurations. + + Dual Deploy:: + This is the usual mode of operation; the + 'apogee' channel is fired at apogee and the + 'main' channel at the height above ground + specified by the 'Main Deploy Altitude' during + descent. + + Redundant Apogee:: + This fires both channels at apogee, the + 'apogee' channel first followed after a two + second delay by the 'main' channel. + + Redundant Main:: + This fires both channels at the height above + ground specified by the Main Deploy Altitude + setting during descent. The 'apogee' channel + is fired first, followed after a two second + delay by the 'main' channel. + + ==== Pad Orientation + + Because they include accelerometers, + TeleMetrum, TeleMega and EasyMega are + sensitive to the orientation of the board. By + default, they expect the antenna end to point + forward. This parameter allows that default to + be changed, permitting the board to be mounted + with the antenna pointing aft instead. + + Antenna Up:: + In this mode, the antenna end of the flight + computer must point forward, in line with the + expected flight path. + + Antenna Down:: + In this mode, the antenna end of the flight + computer must point aft, in line with the + expected flight path. + + ==== Beeper Frequency + + The beeper on all Altus Metrum flight + computers works best at 4000Hz, however if you + have more than one flight computer in a single + airframe, having all of them sound at the same + frequency can be confusing. This parameter + lets you adjust the base beeper frequency + value. + +endif::altusmetrum[] + +==== Logging Trigger Motion + + This sets the amount of motion that TeleGPS + needs to see before logging the new + position. Motions smaller than this are + skipped, which saves storage space. + +==== Position Reporting Interval + + The interval between TeleGPS position reports, + both over the air and in the log. Increase + this to reduce the frequency of radio + transmissions and the length of time available + in the log. + + +ifdef::altusmetrum[] + + ==== Configure Pyro Channels + + .Additional Pyro Channel Configuration + image::configure-pyro.png[width="5.5in"] + + This opens a separate window to configure the + additional pyro channels available on TeleMega + and EasyMega. One column is presented for + each channel. Each row represents a single + parameter, if enabled the parameter must meet + the specified test for the pyro channel to be + fired. + + Select conditions and set the related value; + the pyro channel will be activated when *all* + of the conditions are met. Each pyro channel + has a separate set of configuration values, so + you can use different values for the same + condition with different channels. + + At the bottom of the window, the 'Pyro Firing + Time' configuration sets the length of time + (in seconds) which each of these pyro channels + will fire for. + + Once you have selected the appropriate + configuration for all of the necessary pyro + channels, you can save the pyro configuration + along with the rest of the flight computer + configuration by pressing the 'Save' button in + the main Configure Flight Computer window. + + include::pyro-channels.raw[] + +endif::altusmetrum[] diff --git a/doc/config-ui.inc b/doc/config-ui.inc new file mode 100644 index 00000000..c7e7f1ac --- /dev/null +++ b/doc/config-ui.inc @@ -0,0 +1,105 @@ +==== Voice Settings + + {application} provides voice announcements 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 system is working and the volume settings + are reasonable + +==== Log Directory + + {application} 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 {application} reads and writes data + files. + +==== Callsign + + This value is transmitted in each command + packet sent from TeleDongle and received from + an altimeter. It is not used in telemetry + mode, as the callsign configured in the + altimeter board is included in all telemetry + packets. Configure this with the {application} + operators call sign as needed to comply with + your local radio regulations. + + Note that to successfully command a flight + computer over the radio (to configure the + altimeter, monitor idle, or fire pyro + charges), the callsign configured here must + exactly match the callsign configured in the + flight computer. This matching is case + sensitive. + +==== Imperial Units + + This switches between metric units (meters) + and imperial units (feet and miles). This + affects the display of values use during + flight monitoring, configuration, data + graphing and all of the voice + announcements. It does not change the units + used when exporting to CSV files, those are + always produced in metric units. + +==== Serial Debug + + This causes all communication with a connected + device to be dumped to the console from which + {application} was started. If you've started it from + an icon or menu entry, the output will simply + be discarded. This mode can be useful to debug + various serial communication issues. + +==== Font size + + Selects the set of fonts used in the flight + monitor window. Choose between the small, + medium and large sets. + +==== Look & feel + + Switches between the available Java user + interface appearances. The default selection + is supposed to match the native window system + appearance for the target platform. + +==== Menu position + + Selects the initial position for the main + {application} window that includes all of the + command buttons. + +==== Map Cache Size + + Sets the number of map 'tiles' kept in memory + while the application is running. More tiles + consume more memory, but will make panning + around the map faster. + +==== Manage Frequencies + + This brings up a dialog where you can + configure the set of frequencies shown in the + various frequency menus. You can add as many + as you like, or even reconfigure the default + set. Changing this list does not affect the + frequency settings of any devices, it only + changes the set of frequencies shown in the + menus. diff --git a/doc/installation.inc b/doc/installation.inc index 44433298..32d81984 100644 --- a/doc/installation.inc +++ b/doc/installation.inc @@ -22,13 +22,14 @@ Check polarity and voltage before connecting any battery not purchased from Altus Metrum or Spark Fun. - By default, we use the unregulated output of the 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 no more than 15 volts. + By default, we use the unregulated output of the 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 + <<_using_a_separate_pyro_battery>> for instructions on how to wire + that up. The altimeters are designed to work with an external + pyro battery of no more than 15 volts. Ejection charges are wired directly to the screw terminal block at the aft end of the altimeter. You'll need a very small straight diff --git a/doc/load-maps.inc b/doc/load-maps.inc new file mode 100644 index 00000000..e7717d89 --- /dev/null +++ b/doc/load-maps.inc @@ -0,0 +1,60 @@ +=== Load Maps + + .Load Maps Window + image::load-maps.png[width="5.2in"] + + Before heading out to a new launch site, you can use + this to load satellite images in case you don't have + internet connectivity at the site. + + There's a drop-down menu of launch sites we know + about; if your favorites aren't there, please let us + know the lat/lon and name of the site. The contents of + this list are actually downloaded from our server at + run-time, so as new sites are sent in, they'll get + automatically added to this list. If the launch site + isn't in the list, you can manually enter the lat/lon + values + + There are four different kinds of maps you can view; + you can select which to download by selecting as many + as you like from the available types: + + Hybrid:: + A combination of satellite imagery and road data. This + is the default view. + + Satellite:: + Just the satellite imagery without any annotation. + + Roadmap:: + Roads, political boundaries and a few geographic + features. + + Terrain:: + Contour intervals and shading that show hills and + valleys. + + You can specify the range of zoom levels to download; + smaller numbers show more area with less + resolution. The default level, 0, shows about + 3m/pixel. One zoom level change doubles or halves that + number. Larger zoom levels show more detail, smaller + zoom levels less. + + The Map Radius value sets how large an area around the + center point to download. Select a value large enough + to cover any plausible flight from that site. Be aware + that loading a large area with a high maximum zoom + level can attempt to download a lot of data. Loading + hybrid maps with a 10km radius at a minimum zoom of -2 + and a maximum zoom of 2 consumes about 120MB of + space. Terrain and road maps consume about 1/10 as + much space as satellite or hybrid maps. + + Clicking the 'Load Map' button will fetch images from + Google Maps; note that Google limits how many images + you can fetch at once, so if you load more than one + launch site, you may get some gray areas in the map + which indicate that Google is tired of sending data to + you. Try again later. diff --git a/doc/micropeak.txt b/doc/micropeak.txt index 085be0ed..a3d644d2 100644 --- a/doc/micropeak.txt +++ b/doc/micropeak.txt @@ -149,8 +149,8 @@ * Once the data are saved, a graph will be displayed with height, speed and acceleration values computed - from the recorded barometric pressure data. See the - next section for more details on that. + from the recorded barometric pressure data. See + <<_analyzing_micropeak_data> for more details on that. === Analyzing MicroPeak Data diff --git a/doc/release-notes-0.9.inc b/doc/release-notes-0.9.inc index 66810e5d..0ee7ea51 100644 --- a/doc/release-notes-0.9.inc +++ b/doc/release-notes-0.9.inc @@ -18,8 +18,8 @@ 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 + * 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. diff --git a/doc/system-operation.inc b/doc/system-operation.inc index d7c56eaa..dd8d7d02 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -28,72 +28,6 @@ completes initialization and self test, and decides which mode to enter next. - Here's a short summary of all of the modes and the beeping (or - flashing, in the case of TeleMini v1) that accompanies each - mode. In the description of the beeping pattern, “dit” means a - short beep while "dah" means a long beep (three times as - long). “Brap” means a long dissonant tone. - - .AltOS Modes - [options="border",cols="1,1,2,2"] - |==== - |Mode Name - |Abbreviation - |Beeps - |Description - - |Startup - |S - |battery voltage in decivolts - |Calibrating sensors, detecting orientation. - - |Idle - |I - |dit dit - |Ready to accept commands over USB or radio link. - - |Pad - |P - |dit dah dah dit - |Waiting for launch. Not listening for commands. - - |Boost - |B - |dah dit dit dit - |Accelerating upwards. - - |Fast - |F - |dit dit dah dit - |Decelerating, but moving faster than 200m/s. - - |Coast - |C - |dah dit dah dit - |Decelerating, moving slower than 200m/s - - |Drogue - |D - |dah dit dit - |Descending after apogee. Above main height. - - |Main - |M - |dah dah - |Descending. Below main height. - - |Landed - |L - |dit dah dit dit - |Stable altitude for at least ten seconds. - - - |Sensor error - |X - |dah dit dit dah - |Error detected during sensor calibration. - |==== - In flight or “pad” mode, the altimeter engages the flight state machine, goes into transmit-only mode to send telemetry, and waits for launch to be detected. Flight mode is indicated @@ -317,308 +251,52 @@ === Radio Link - TeleMetrum, TeleMini and TeleMega all incorporate an RF transceiver, but - it's not a full duplex system... each end can only be transmitting or - receiving at any given moment. So we had to decide how to manage the + TeleMetrum, TeleMini and TeleMega all incorporate an + RF transceiver, but it's not a full duplex system; + each end can only be transmitting or receiving at any + given moment. So we had to decide how to manage the link. - By design, the altimeter firmware listens for the radio link when - it's in “idle mode”, which - allows us to use the radio link to configure the rocket, do things like - ejection tests, and extract data after a flight without having to - crack open the air-frame. However, when the board is in “flight - mode”, the altimeter only - transmits and doesn't listen at all. That's because we want to put - ultimate priority on event detection and getting telemetry out of - the rocket through - the radio in case the rocket crashes and we aren't able to extract - data later... - - We don't generally use a 'normal packet radio' mode like APRS - because they're just too inefficient. The GFSK modulation we - use is FSK with the base-band pulses passed through a Gaussian - filter before they go into the modulator to limit the - transmitted bandwidth. When combined with forward error - correction and interleaving, this allows us to have a very - robust 19.2 kilobit data link with only 10-40 milliwatts of - transmit power, a whip antenna in the rocket, and a hand-held - Yagi on the ground. We've had flights to above 21k feet AGL - with great reception, and calculations suggest we should be - good to well over 40k feet AGL with a 5-element yagi on the - ground with our 10mW units and over 100k feet AGL with the - 40mW devices. We hope to fly boards to higher altitudes over - time, and would of course appreciate customer feedback on - performance in higher altitude flights! - - === APRS - - TeleMetrum v2.0 and TeleMega can send APRS if desired, and the - interval between APRS packets can be configured. As each APRS - packet takes a full second to transmit, we recommend an - interval of at least 5 seconds to avoid consuming too much - battery power or radio channel bandwidth. You can configure - the APRS interval using AltosUI; that process is described in - the Configure Altimeter section of the AltosUI chapter. - - AltOS uses the APRS compressed position report data format, - which provides for higher position precision and shorter - packets than the original APRS format. It also includes - altitude data, which is invaluable when tracking rockets. We - haven't found a receiver which doesn't handle compressed - positions, but it's just possible that you have one, so if you - have an older device that can receive the raw packets but - isn't displaying position information, it's possible that this - is the cause. - - APRS packets include an SSID (Secondary Station Identifier) - field that allows one operator to have multiple - transmitters. AltOS allows you to set this to a single digit - from 0 to 9, allowing you to fly multiple transmitters at the - same time while keeping the identify of each one separate in - the receiver. By default, the SSID is set to the last digit of - the device serial number. - - The APRS packet format includes a comment field that can have - arbitrary text in it. AltOS uses this to send status - information about the flight computer. It sends four fields as - shown in the following table. - - .Altus Metrum APRS Comments - [options="header",cols="1,1,3"] - |==== - |Field |Example |Description - - |1 - |L - |GPS Status U for unlocked, L for locked - - |2 - |6 - |Number of Satellites in View - - |3 - |B4.0 - |Altimeter Battery Voltage - - |4 - |A3.7 - |Apogee Igniter Voltage - - |5 - |M3.7 - |Main Igniter Voltage - - |6 - |1286 - |Device Serial Number - |==== - - Here's an example of an APRS comment showing GPS lock with 6 - satellites in view, a primary battery at 4.0V, and - apogee and main igniters both at 3.7V from device 1286. - - .... - L6 B4.0 A3.7 M3.7 1286 - .... - - Make sure your primary battery is above 3.8V, any - connected igniters are above 3.5V and GPS is locked - with at least 5 or 6 satellites in view before - flying. If GPS is switching between L and U regularly, - then it doesn't have a good lock and you should wait - until it becomes stable. - - If the GPS receiver loses lock, the APRS data - transmitted will contain the last position for which - GPS lock was available. You can tell that this has - happened by noticing that the GPS status character - switches from 'L' to 'U'. Before GPS has locked, APRS - will transmit zero for latitude, longitude and - altitude. + By design, the altimeter firmware listens for the + radio link when it's in “idle mode”, which allows us + to use the radio link to configure the rocket, do + things like ejection tests, and extract data after a + flight without having to crack open the air-frame. + However, when the board is in “flight mode”, the + altimeter only transmits and doesn't listen at all. + That's because we want to put ultimate priority on + event detection and getting telemetry out of the + rocket through the radio in case the rocket crashes + and we aren't able to extract data later. + + We don't generally use a 'normal packet radio' mode + like APRS because they're just too inefficient. The + GFSK modulation we use is FSK with the base-band + pulses passed through a Gaussian filter before they go + into the modulator to limit the transmitted bandwidth. + When combined with forward error correction and + interleaving, this allows us to have a very robust + 19.2 kilobit data link with only 10-40 milliwatts of + transmit power, a whip antenna in the rocket, and a + hand-held Yagi on the ground. We've had flights to + above 21k feet AGL with great reception, and + calculations suggest we should be good to well over + 40k feet AGL with a 5-element yagi on the ground with + our 10mW units and over 100k feet AGL with the 40mW + devices. We hope to fly boards to higher altitudes + over time, and would of course appreciate customer + feedback on performance in higher altitude flights! + + :aprsdevices: TeleMetrum v2.0 and TeleMega + :configure_section: _configure_altimeter + include::aprs-operation.raw[] === Configurable Parameters Configuring an Altus Metrum altimeter for flight is very simple. Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman filter means - there is no need to set a “mach delay”. The few - configurable parameters can all be set using AltosUI - over USB or or radio link via TeleDongle. Read the - Configure Altimeter section in the AltosUI chapter - below for more information. - - ==== Radio Frequency - - Altus Metrum boards support radio frequencies - in the 70cm band. By default, the - configuration interface provides a list of 10 - “standard” frequencies in 100kHz channels - starting at 434.550MHz. However, the firmware - supports use of any 50kHz multiple within the - 70cm band. At any given launch, we highly - recommend coordinating when and by whom each - frequency will be used to avoid interference. - And of course, both altimeter and TeleDongle - must be configured to the same frequency to - successfully communicate with each other. - - ==== Callsign - - This sets the callsign used for telemetry, - APRS and the packet link. For telemetry and - APRS, this is used to identify the device. For - the packet link, the callsign must match that - configured in AltosUI or the link will not - work. This is to prevent accidental - configuration of another Altus Metrum flight - computer operating on the same frequency - nearby. - - ==== Telemetry/RDF/APRS Enable - - You can completely disable the radio while in - flight, if necessary. This doesn't disable the - packet link in idle mode. - - ==== Telemetry baud rate - - This sets the modulation bit rate for data - transmission for both telemetry and packet - link mode. Lower bit rates will increase range - while reducing the amount of data that can be - sent and increasing battery consumption. All - telemetry is done using a rate 1/2 constraint - 4 convolution code, so the actual data - transmission rate is 1/2 of the modulation bit - rate specified here. - - ==== APRS Interval - - This selects how often APRS packets are - transmitted. Set this to zero to disable APRS - without also disabling the regular telemetry - and RDF transmissions. As APRS takes a full - second to transmit a single position report, - we recommend sending packets no more than once - every 5 seconds. - - ==== APRS SSID - - This selects the SSID reported in APRS - packets. By default, it is set to the last - digit of the serial number, but you can change - this to any value from 0 to 9. - - ==== Apogee Delay - - Apogee delay is the number of seconds after - the altimeter detects flight apogee that the - drogue charge should be fired. In most cases, - this should be left at the default of 0. - However, if you are flying redundant - electronics such as for an L3 certification, - you may wish to set one of your altimeters to - a positive delay so that both primary and - backup pyrotechnic charges do not fire - simultaneously. - - The Altus Metrum apogee detection algorithm - fires exactly at apogee. If you are also - flying an altimeter like the PerfectFlite - MAWD, which only supports selecting 0 or 1 - seconds of apogee delay, you may wish to set - the MAWD to 0 seconds delay and set the - TeleMetrum to fire your backup 2 or 3 seconds - later to avoid any chance of both charges - firing simultaneously. We've flown several - air-frames this way quite happily, including - Keith's successful L3 cert. - - ==== Apogee Lockout - - Apogee lockout is the number of seconds after - boost where the flight computer will not fire - the apogee charge, even if the rocket appears - to be at apogee. This is often called 'Mach - Delay', as it is intended to prevent a flight - computer from unintentionally firing apogee - charges due to the pressure spike that occurrs - across a mach transition. Altus Metrum flight - computers include a Kalman filter which is not - fooled by this sharp pressure increase, and so - this setting should be left at the default - value of zero to disable it. - - ==== Main Deployment Altitude - - By default, the altimeter will fire the main - deployment charge at an elevation of 250 - meters (about 820 feet) above ground. We - think this is a good elevation for most - air-frames, but feel free to change this to - suit. In particular, if you are flying two - altimeters, you may wish to set the deployment - elevation for the backup altimeter to be - something lower than the primary so that both - pyrotechnic charges don't fire simultaneously. - - ==== Maximum Flight Log - - Changing this value will set the maximum - amount of flight log storage that an - individual flight will use. The available - storage is divided into as many flights of the - specified size as can fit in the available - space. You can download and erase individual - flight logs. If you fill up the available - storage, future flights will not get logged - until you erase some of the stored ones. - - Even though our flight computers (except TeleMini v1.0) can store - multiple flights, we strongly recommend downloading and saving - flight data after each flight. - - ==== Ignite Mode - - Instead of firing one charge at apogee and - another charge at a fixed height above the - ground, you can configure the altimeter to - fire both at apogee or both during - descent. This was added to support an airframe - Bdale designed that had two altimeters, one in - the fin can and one in the nose. - - Providing the ability to use both igniters for - apogee or main allows some level of redundancy - without needing two flight computers. In - Redundant Apogee or Redundant Main mode, the - two charges will be fired two seconds apart. - - ==== Pad Orientation - - TeleMetrum, TeleMega and EasyMega measure - acceleration along the axis of the - board. Which way the board is oriented affects - the sign of the acceleration value. Instead of - trying to guess which way the board is mounted - in the air frame, the altimeter must be - explicitly configured for either Antenna Up or - Antenna Down. The default, Antenna Up, expects - the end of the board connected to the 70cm - antenna to be nearest the nose of the rocket, - with the end containing the screw terminals - nearest the tail. - - ==== Configurable Pyro Channels - - In addition to the usual Apogee and Main pyro - channels, TeleMega and EasyMega have four - additional channels that can be configured to - activate when various flight conditions are - satisfied. You can select as many conditions - as necessary; all of them must be met in order - to activate the channel. The conditions - available are: - - include::pyro-channels.raw[] - + there is no need to set a “mach delay”. All of the + configurable parameters can be set using AltosUI + over USB or or radio link via TeleDongle. Read + <<_configure_altimeter>> for more information. diff --git a/doc/telegps-application.inc b/doc/telegps-application.inc index c5ecc11f..41dda968 100644 --- a/doc/telegps-application.inc +++ b/doc/telegps-application.inc @@ -91,7 +91,7 @@ You can pre-load images for your favorite launch sites before you leave home; check out - the 'Preload Maps' section below. + <<_load_maps>>. ==== Location @@ -233,155 +233,14 @@ within that application. With this, you can use Google Earth to see the whole path in 3D. - === Load Maps - - .Load Maps Window - image::load-maps.png[width="5.2in"] - - Before using TeleGPS, you can use Load Maps to load - map data in case you don't have access to the internet - while receiving telemetry. - - There's a drop-down menu of rocket launch sites we - know about; if your favorites aren't there, please let - us know the lat/lon and name of the site. The contents - of this list are actually downloaded from our server - at run-time, so as new sites are sent in, they'll get - automatically added to this list. If the launch site - isn't in the list, you can manually enter the lat/lon - values - - There are four different kinds of maps you can view; - you can select which to download by selecting as many - as you like from the available types: - - Hybrid:: - A combination of satellite imagery and road data. This - is the default view. - - Satellite:: - Just the satellite imagery without any annotation. - - Roadmap:: - Roads, political boundaries and a few geographic - features. - - Terrain:: - Contour intervals and shading that show hills and - valleys. - - You can specify the range of zoom levels to download; - smaller numbers show more area with less - resolution. The default level, 0, shows about - 3m/pixel. One zoom level change doubles or halves that - number. Larger zoom levels show more detail, smaller - zoom levels less. - - The Map Radius value sets how large an area around the - center point to download. Select a value large enough - to cover any plausible flight from that site. Be aware - that loading a large area with a high maximum zoom - level can attempt to download a lot of data. Loading - hybrid maps with a 10km radius at a minimum zoom of -2 - and a maximum zoom of 2 consumes about 120MB of - space. Terrain and road maps consume about 1/10 as - much space as satellite or hybrid maps. - - Clicking the 'Load Map' button will fetch images from - Google Maps; note that Google limits how many images - you can fetch at once, so if you load more than one - launch site, you may get some gray areas in the map - which indicate that Google is tired of sending data to - you. Try again later. + include::load-maps.raw[] === Preferences .TeleGPS Preferences Window image::telegps-preferences.png[width="2.4in"] - AltosUI provides voice announcements 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 system 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 transmitted in each command - packet sent from TeleDongle and received from - an altimeter. It is not used in telemetry - mode, as the callsign configured in the - altimeter board is included in all telemetry - packets. Configure this with the AltosUI - operators call sign as needed to comply with - your local radio regulations. - - Note that to successfully command a flight - computer over the radio (to configure the - altimeter, monitor idle, or fire pyro - charges), the callsign configured here must - exactly match the callsign configured in the - flight computer. This matching is case - sensitive. - - ==== Imperial Units - - This switches between metric units (meters) - and imperial units (feet and miles). This - affects the display of values use during - flight monitoring, configuration, data - graphing and all of the voice - announcements. It does not change the units - used when exporting to CSV files, those are - always produced in metric units. - - ==== Font Size - - Selects the set of fonts used in the flight - monitor window. Choose between the small, - medium and large sets. - - ==== Serial Debug - - This causes all communication with a connected - device to be dumped to the console from which - AltosUI was started. If you've started it from - an icon or menu entry, the output will simply - be discarded. This mode can be useful to debug - various serial communication issues. - - ==== Manage Frequencies - - This brings up a dialog where you can - configure the set of frequencies shown in the - various frequency menus. You can add as many - as you like, or even reconfigure the default - set. Changing this list does not affect the - frequency settings of any devices, it only - changes the set of frequencies shown in the - menus. + include::config-ui.raw[] === Close @@ -485,82 +344,7 @@ The rest of the dialog contains the parameters to be configured. - ==== Frequency - - This configures which of the frequencies to use for - both telemetry and packet command mode. Note that if - you set this value via packet command mode, the - TeleDongle frequency will also be automatically - reconfigured to match so that communication will - continue afterwards. - - ==== RF Calibration - - The radios in every Altus Metrum device are calibrated - at the factory to ensure that they transmit and - receive on the specified frequency. If you need to - you can adjust the calibration by changing this value. - Do not do this without understanding what the value - means, read the appendix on calibration and/or the - source code for more information. To change a - TeleDongle's calibration, you must reprogram the unit - completely. - - ==== Telemetry/RDF/APRS Enable - - Enables the radio for transmission during - flight. When disabled, the radio will not - transmit anything during flight at all. - - ==== Telemetry baud rate - - This sets the modulation bit rate for data - transmission for both telemetry and packet - link mode. Lower bit rates will increase range - while reducing the amount of data that can be - sent and increasing battery consumption. All - telemetry is done using a rate 1/2 constraint - 4 convolution code, so the actual data - transmission rate is 1/2 of the modulation bit - rate specified here. - - ==== APRS Interval - - How often to transmit GPS information via APRS - (in seconds). When set to zero, APRS - transmission is disabled. This option is - available on TeleMetrum v2 and TeleMega - boards. TeleMetrum v1 boards cannot transmit - APRS packets. Note that a single APRS packet - takes nearly a full second to transmit, so - enabling this option will prevent sending any - other telemetry during that time. - - ==== APRS SSID - - Which SSID to report in APRS packets. By - default, this is set to the last digit of the - serial number, but can be configured to any - value from 0 to 9. - - ==== Callsign - - This sets the call sign included in each - telemetry packet. Set this as needed to - conform to your local radio regulations. - - ==== Logging Trigger Motion - - If TeleGPS moves less than this distance over - a long period of time, it will not log that - location, saving storage space. - - ==== Position Reporting Interval - - This sets how often TeleGPS reports position - information via telemetry and to the on-board - log. Reducing this value will save power and - logging memory consumption. + include::config-device.raw[] === Flash Device diff --git a/doc/telegps-dedication.inc b/doc/telegps-dedication.inc new file mode 100644 index 00000000..719c309c --- /dev/null +++ b/doc/telegps-dedication.inc @@ -0,0 +1,19 @@ +[dedication] +== Acknowledgments + + Thanks to Anthony (AJ) Towns for major contributions including + the TeleGPS graphing and site map code and associated 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. + + [verse] + Bdale Garbee, KB0G + NAR #87103, TRA #12201 + + [verse] + Keith Packard, KD7SQG + NAR #88757, TRA #12200 diff --git a/doc/telegps-quick-start.inc b/doc/telegps-quick-start.inc index e8db8ac3..6492743d 100644 --- a/doc/telegps-quick-start.inc +++ b/doc/telegps-quick-start.inc @@ -3,22 +3,21 @@ TeleGPS is designed to be easy to use. Requiring no external components, flying takes just a few steps. - First, download and install the software from + 1. First, download and install the software from http://altusmetrum.org/AltOS. This will make sure that you have the right device drivers installed. - Next, plug in the battery and USB cable and connect TeleGPS to + 2. Next, plug in the battery and USB cable and connect TeleGPS to your computer. This will charge the battery and allow you to configure the device. - Start the TeleGPS application and set the callsign and frequency - on your TeleGPS device; refer to the Configure TeleGPS section - in the TeleGPS Application chapter for instructions. + 3. Start the TeleGPS application and set the callsign and frequency + on your TeleGPS device; refer to <<_configure_device>> for instructions. - Unplug TeleGPS when the battery charger light goes green. This + 4. Unplug TeleGPS when the battery charger light goes green. This will enable the radio and logging portions of the TeleGPS firmware. - Connect TeleDongle to your computer and start TeleGPS or start + 5. Connect TeleDongle to your computer and start TeleGPS or start AltosDroid on your android device and connect to TeleBT. Set the frequency to match the TeleGPS and you should be receiving telemetry. diff --git a/doc/telegps-system-operation.inc b/doc/telegps-system-operation.inc index e8790db8..40ab467c 100644 --- a/doc/telegps-system-operation.inc +++ b/doc/telegps-system-operation.inc @@ -19,131 +19,13 @@ ground with our 10mW units and over 100k feet AGL with the 40mW devices. - === APRS - - TeleGPS can send APRS if desired, and the interval - between APRS packets can be configured. As each APRS - packet takes a full second to transmit, we recommend - an interval of at least 5 seconds to avoid consuming - too much battery power or radio channel bandwidth. You - can configure the APRS interval; that - process is described in the Configure TeleGPS - section of the TeleGPS Application chapter. - - AltOS uses the APRS compressed position report data - format, which provides for higher position precision - and shorter packets than the original APRS format. It - also includes altitude data, which is invaluable when - tracking rockets. We haven't found a receiver which - doesn't handle compressed positions, but it's just - possible that you have one, so if you have an older - device that can receive the raw packets but isn't - displaying position information, it's possible that - this is the cause. - - The APRS packet format includes a comment field that - can have arbitrary text in it. AltOS uses this to send - status information about the flight computer. It sends - four fields as shown in the following table. - - .TeleGPS APRS Comments - [options="header",cols="1,1,3"] - |==== - |Field |Example |Description - - |1 - |L - |GPS Status U for unlocked, L for locked - - |2 - |6 - |Number of Satellites in View - - |3 - |B4.0 - |Altimeter Battery Voltage - - |4 - |1286 - |Device Serial Number - |==== - - Here's an example of an APRS comment showing GPS lock with 6 - satellites in view and a battery at 4.0V from device 1286. - - .... - L6 B4.0 1286 - .... - - Make sure your battery is above 3.8V GPS is locked - with at least 5 or 6 satellites in view before - flying. If GPS is switching between L and U regularly, - then it doesn't have a good lock and you should wait - until it becomes stable. - - If the GPS receiver loses lock, the APRS data - transmitted will contain the last position for which - GPS lock was available. You can tell that this has - happened by noticing that the GPS status character - switches from 'L' to 'U'. Before GPS has locked, APRS - will transmit zero for latitude, longitude and - altitude. + :aprsdevices: TeleGPS + :configure_section: _configure_device + include::aprs-operation.raw[] === Configurable Parameters Configuring TeleGPS is very simple; the few configurable parameters can all be set using the TeleGPS application over USB. Read - the Configure TeleGPS section in the TeleGPS Software chapter below - for more information. - - ==== Radio Frequency - - Altus Metrum boards support radio frequencies in the 70cm - band. By default, the configuration interface provides a - list of 10 “standard” frequencies in 100kHz channels starting at - 434.550MHz. However, the firmware supports use of - any 50kHz multiple within the 70cm band. At any given - launch, we highly recommend coordinating when and by whom each - frequency will be used to avoid interference. And of course, both - TeleGPS and the receiver must be configured to the same - frequency to successfully communicate with each other. - - ==== Callsign - - This sets the callsign used for telemetry and APRS to - identify the device. - - ==== Telemetry/RDF/APRS Enable - - You can completely disable the radio, if necessary, leaving - TeleGPS only logging data to internal memory. - - ==== APRS Interval - - This selects how often APRS packets are transmitted. Set - this to zero to disable APRS without also disabling the - regular telemetry and RDF transmissions. As APRS takes a - full second to transmit a single position report, we - recommend sending packets no more than once every 5 seconds. - - ==== Maximum Flight Log - - Changing this value will set the maximum amount of flight - log storage that an individual flight will use. The - available storage is divided into as many flights of the - specified size as can fit in the available space. You can - download and erase individual flight logs. If you fill up - the available storage, future flights will not get logged - until you erase some of the stored ones. - - ==== Logging Trigger Motion - - If TeleGPS moves less than this distance over a long period - of time, it will not log that location, saving storage space. - - ==== Position Reporting Interval - - This sets how often TeleGPS reports position information via - telemetry and to the on-board log. Reducing this value will - save power and logging memory consumption. + the Configure TeleGPS section in the TeleGPS Software chapter diff --git a/doc/telegps.txt b/doc/telegps.txt index 059036ec..6726b340 100644 --- a/doc/telegps.txt +++ b/doc/telegps.txt @@ -1,8 +1,10 @@ = TeleGPS Owner's Manual :doctype: book :numbered: +:telegps: 1 +:application: TeleGPS - include::dedication.raw[] + include::telegps-dedication.raw[] include::telegps-quick-start.raw[] diff --git a/doc/usage.inc b/doc/usage.inc index cc694dda..b2ab0c27 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -50,6 +50,122 @@ firing when in the Off position. The switch is in-line with the positive battery terminal. + === Understanding Beeps + + Altus Metrum flight computers include a beeper to + provide information about the state of the system. + TeleMini doesn't have room for a beeper, so instead it + uses an LED, which works the same, except for every + beep is replaced with the flash of the LED. + + Here's a short summary of all of the modes and the beeping (or + flashing, in the case of TeleMini v1) that accompanies each + mode. In the description of the beeping pattern, “dit” means a + short beep while "dah" means a long beep (three times as + long). “Brap” means a long dissonant tone. + + .AltOS Modes + [options="border",cols="1,1,2,2"] + |==== + |Mode Name + |Abbreviation + |Beeps + |Description + + |Startup + |S + |battery voltage in decivolts + |Calibrating sensors, detecting orientation. + + |Idle + |I + |dit dit + |Ready to accept commands over USB or radio link. + + |Pad + |P + |dit dah dah dit + |Waiting for launch. Not listening for commands. + + |Boost + |B + |dah dit dit dit + |Accelerating upwards. + + |Fast + |F + |dit dit dah dit + |Decelerating, but moving faster than 200m/s. + + |Coast + |C + |dah dit dah dit + |Decelerating, moving slower than 200m/s + + |Drogue + |D + |dah dit dit + |Descending after apogee. Above main height. + + |Main + |M + |dah dah + |Descending. Below main height. + + |Landed + |L + |dit dah dit dit + |Stable altitude for at least ten seconds. + + + |Sensor error + |X + |dah dit dit dah + |Error detected during sensor calibration. + |==== + + === Turning On the Power + + Connect a battery and power switch and turn the switch + to "on". The flight computer will signal power on by + reporting the battery voltage and then perform an internal self + test and sensor calibration. + + Once the self test and calibration are complete, there + are two modes that an Altus Metrum flight computer can + operate in: + + Flight/Pad:: + The flight computer is waiting to detect + launch and then fly the rocket. In this mode, the USB + link is disabled, and the radio goes into + transmit-only mode. The only way to get out of this + mode is to power the flight computer down. + + Idle:: + The flight computer is ready to communicate over USB + and in packet mode over the radio. You can configure + the flight computer, download data or display + the current state. + + For flight computers with accelerometers (TeleMetrum, + EasyMega and TeleMega), the mode is selected by the + orientation of the board during the self test + interval. If the board is pointing upwards as if ready + to fly, it will enter Flight/Pad mode. Otherwise, it will + enter Idle mode. + + For EasyMini, if the USB cable is connected to a + computer, it will enter Idle mode. Otherwise, it will + enter Flight/Pad mode. + + For TeleMini v1.0, if a packet link is waiting to + connect when the device is powered on, it will enter + Idle mode, otherwise it will enter Flight/Pad mode. + + You can see in <<_understanding_beeps>> + how to tell which mode the flight computer is in. + === Using an External Active Switch Circuit You can use an active switch circuit, such as the @@ -63,13 +179,14 @@ === Using a Separate Pyro Battery - As mentioned above in the section on hooking up pyro - charges, one lead for each of the pyro charges is connected - through the power switch directly to the positive battery - terminal. The other lead is connected to the pyro circuit, - which connects it to the negative battery terminal when the - pyro circuit is fired. The pyro circuit on all of the flight - computers is designed to handle up to 16V. + As mentioned above in <<_hooking_up_pyro_charges>>, one + lead for each of the pyro charges is connected through + the power switch directly to the positive battery + terminal. The other lead is connected to the pyro + circuit, which connects it to the negative battery + terminal when the pyro circuit is fired. The pyro + circuit on all of the flight computers is designed to + handle up to 16V. To use a separate pyro battery, connect the negative pyro battery terminal to the flight computer ground terminal, @@ -78,7 +195,8 @@ computer. When the pyro channel fires, it will complete the circuit between the negative pyro terminal and the ground terminal, firing the igniter. Specific instructions on how - to hook this up will be found in each section below. + to hook this up for each flight computer will be found + in the section below for that flight computer. === Using a Different Kind of Battery @@ -89,7 +207,7 @@ [WARNING] TeleMega, EasyMega and TeleMetrum are only designed to - use a single-cell Lithium Polymer battery and cannot - be used with any other kind. Connecting a different - kind of battery to any of these will destroy the - board. + operate off a single-cell Lithium Polymer battery and + cannot be used with any other kind. Connecting a + different kind of battery to any of these will destroy + the board. -- cgit v1.2.3 From 6260ee1419ba5c122939b28e3e8fc6f8ecf48928 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 13 Nov 2015 20:58:58 -0800 Subject: doc: Move pad beeps table to usage chapter This places all of the sound information in one place. Signed-off-by: Keith Packard --- doc/system-operation.inc | 35 ++-------------------- doc/usage.inc | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 33 deletions(-) (limited to 'doc/usage.inc') diff --git a/doc/system-operation.inc b/doc/system-operation.inc index dd8d7d02..4503f525 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -59,39 +59,8 @@ memory, the flight computer will emit a warbling tone (much slower than the “no continuity tone”) - Here's a summary of all of the “pad” and “idle” mode indications. - - .Pad/Idle Indications - [options="header",cols="1,1,3"] - |==== - |Name |Beeps |Description - - |Neither - |brap - |No continuity detected on either apogee or main igniters. - - |Apogee - |dit - |Continuity detected only on apogee igniter. - - |Main - |dit dit - |Continuity detected only on main igniter. - - - |Both - |dit dit dit - |Continuity detected on both igniters. - - - |Storage Full - |warble - |On-board data logging storage is full. This will - not prevent the flight computer from safely - controlling the flight or transmitting telemetry - signals, but no record of the flight will be - stored in on-board flash. - |==== + See <<_understanding_beeps>> for a summary of all of + the audio signals used. Once landed, the flight computer will signal that by emitting the “Landed” sound described above, after which it will beep diff --git a/doc/usage.inc b/doc/usage.inc index b2ab0c27..caccc168 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -124,6 +124,84 @@ |Error detected during sensor calibration. |==== + Here's a summary of all of the Pad and Idle mode + indications. In Idle mode, you'll hear one of these + just once after the two short dits indicating idle + mode. In Pad mode, after the dit dah dah dit + indicating Pad mode, you'll hear these once every five + seconds. + + .Pad/Idle Indications + [options="header",cols="1,1,3"] + |==== + |Name |Beeps |Description + + |Neither + |brap + |No continuity detected on either apogee or main igniters. + + |Apogee + |dit + |Continuity detected only on apogee igniter. + + |Main + |dit dit + |Continuity detected only on main igniter. + + + |Both + |dit dit dit + |Continuity detected on both igniters. + + + |Storage Full + |warble + |On-board data logging storage is full. This will + not prevent the flight computer from safely + controlling the flight or transmitting telemetry + signals, but no record of the flight will be + stored in on-board flash. + |==== + + For devices with a radio transmitter, in addition to + the digital and APRS telemetry signals, you can also + receive audio tones with a standard amateur + 70cm FM receiver. While on the pad, you will hear + igniter status once every five seconds. + + .Pad Radio Indications + [options="header",cols="1,1,3"] + |==== + |Name |Beeps |Description + + |Neither + |½ second tone + |No continuity detected on either apogee or main igniters. + + |Apogee + |dit + |Continuity detected only on apogee igniter. + + |Main + |dit dit + |Continuity detected only on main igniter. + + + |Both + |dit dit dit + |Continuity detected on both igniters. + + |==== + + During ascent, the tones will be muted to allow the + telemetry data to consume the full radio bandwidth. + + During descent and after landing, a ½ second tone will + be transmitted every five seconds. This can be used to + find the rocket using RDF techniques when the signal + is too weak to receive GPS information via telemetry + or APRS. + === Turning On the Power Connect a battery and power switch and turn the switch -- cgit v1.2.3 From 992c0eab6275cec7d5035b99952537fd7ece2ed4 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 13 Nov 2015 22:55:35 -0800 Subject: doc: Split out EasyMini into a separate manual EasyMini uses a tiny fraction of the overall system software; splitting the manual out makes it a lot smaller. Signed-off-by: Keith Packard --- doc/Makefile | 19 ++++- doc/altosui.inc | 86 ++++++++++++++----- doc/altusmetrum.txt | 10 ++- doc/config-device.inc | 187 +++++++++++++++++++++-------------------- doc/config-ui.inc | 10 ++- doc/easymini-device.inc | 116 +++++++++++++++++++++++++ doc/easymini-docinfo.xml | 48 +++++++++++ doc/easymini-release-notes.inc | 7 ++ doc/easymini.inc | 116 ------------------------- doc/easymini.txt | 34 ++++++++ doc/flight-data-recording.inc | 48 +++++++++-- doc/getting-started.inc | 25 ++++-- doc/installation.inc | 26 +++++- doc/specs.inc | 22 +++++ doc/system-operation.inc | 75 ++++++++++++----- doc/telegps.txt | 2 + doc/updating-firmware.inc | 37 ++++++-- doc/usage.inc | 41 ++++++--- doc/using-am-products.inc | 51 ++++++++--- 19 files changed, 660 insertions(+), 300 deletions(-) create mode 100644 doc/easymini-device.inc create mode 100644 doc/easymini-docinfo.xml create mode 100644 doc/easymini-release-notes.inc delete mode 100644 doc/easymini.inc create mode 100644 doc/easymini.txt (limited to 'doc/usage.inc') diff --git a/doc/Makefile b/doc/Makefile index f8fdb5e8..7a4e0fa3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -105,7 +105,7 @@ INC_FILES=\ telemetrum.inc \ telemini-v1.0.inc \ telemini-v2.0.inc \ - easymini.inc \ + easymini-device.inc \ telemega.inc \ easymega.inc \ installation.inc \ @@ -146,6 +146,14 @@ MICROPEAK_INC_FILES= MICROPEAK_RAW_FILES=$(MICROPEAK_TXT_FILES:.txt=.raw) $(MICROPEAK_INC_FILES:.inc=.raw) +EASYMINI_TXT_FILES=\ + easymini.txt + +EASYMINI_INC_FILES=$(INC_FILES) easymini-release-notes.inc + + +EASYMINI_RAW_FILES=$(EASYMINI_TXT_FILES:.txt=.raw) $(EASYMINI_INC_FILES:.inc=.raw) + OUTLINE_TXT_FILES=\ easymega-outline.txt \ easymini-outline.txt \ @@ -175,14 +183,15 @@ ONEFILE_TXT_FILES=\ ONEFILE_RAW_FILES=$(ONEFILE_TXT_FILES:.txt=.raw) ONEFILE_PDF_FILES=$(ONEFILE_TXT_FILES:.txt=.pdf) -HTML=altusmetrum.html micropeak.html telegps.html $(RELNOTES_HTML) $(ONEFILE_HTML_FILES) +HTML=altusmetrum.html micropeak.html telegps.html easymini.html $(RELNOTES_HTML) $(ONEFILE_HTML_FILES) HTML_REVHISTORY=\ altusmetrum-revhistory.html \ micropeak-revhistory.html \ - telegps-revhistory.html + telegps-revhistory.html \ + easymini-revhistory.html -PDF=altusmetrum.pdf micropeak.pdf telegps.pdf $(RELNOTES_PDF) $(ONEFILE_PDF_FILES) \ +PDF=altusmetrum.pdf micropeak.pdf telegps.pdf easymini.pdf $(RELNOTES_PDF) $(ONEFILE_PDF_FILES) \ $(OUTLINE_PDF_FILES) FOP_STYLE=am-fo.xsl @@ -245,6 +254,8 @@ telegps.html telegps.pdf: telegps-docinfo.xml $(TELEGPS_RAW_FILES) $(IMAGES) micropeak.pdf micropeak.html: micropeak-docinfo.xml $(MICROPEAK_RAW_FILES) $(IMAGES) +easymini.pdf easymini.html: easymini-docinfo.xml $(EASYMINI_RAW_FILES) $(IMAGES) + install: all publish: $(DOC) $(FONTS) diff --git a/doc/altosui.inc b/doc/altosui.inc index 3c26b441..76a24d91 100644 --- a/doc/altosui.inc +++ b/doc/altosui.inc @@ -11,6 +11,7 @@ chapter is split into sections, each of which documents one of the tasks provided from the top-level toolbar. + ifdef::radio[] === Monitor Flight //// Receive, Record and Display Telemetry Data @@ -298,26 +299,34 @@ voltage measured here will be close to the pyro battery voltage. A value greater than 3.2V is required for a 'GO' status. + endif::radio[] + === Save Flight Data The altimeter records flight data to its internal - flash memory. TeleMetrum data is recorded at a much + flash memory. + ifdef::radio[] + Data logged on board 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 + flight. + endif::radio[] + 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 flight computers and TeleDongle devices. If you select a flight computer, the flight - data will be downloaded from that device directly. If - you select a TeleDongle device, flight data will be + data will be downloaded from that device directly. + ifdef::radio[] + If you select a TeleDongle device, flight data will be downloaded from a flight computer over radio link via the specified TeleDongle. See <<_controlling_an_altimeter_over_the_radio_link>> for more information. + endif::radio[] After the device has been selected, a dialog showing the flight data saved in the device will be shown @@ -342,8 +351,12 @@ flash memory. Once a flight record is selected, the flight monitor interface - is displayed and the flight is re-enacted in real time. Check + is displayed and the flight is re-enacted in real + time. + ifdef::radio[] + Check <<_monitor_flight>> to learn how this window operates. + endif::radio[] === Graph Data @@ -392,6 +405,7 @@ Shows overall data computed from the flight. + ifdef::gps[] ==== Map .Flight Map @@ -401,6 +415,7 @@ with the path of the flight. The red concentric circles mark the launch pad, the black concentric circles mark the landing location. + endif::gps[] === Export Data @@ -412,8 +427,11 @@ data, while .telem files contain receiver signal strength information. 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. + file. + ifdef::gps[] + It has a selector to choose between CSV and KML + file formats. + endif::gps[] ==== Comma Separated Value Format @@ -432,20 +450,29 @@ standard units, with the barometric data reported in both pressure, altitude and height above pad units. - ==== Keyhole Markup Language (for Google Earth) + ifdef::gps[] + ==== Keyhole Markup Language (for Google Earth) - This is the format used by Google Earth to provide an - overlay within that application. With this, you can - use Google Earth to see the whole flight path in 3D. + This is the format used by Google Earth to provide an + overlay within that application. With this, you can + use Google Earth to see the whole flight path + in 3D. + endif::gps[] === Configure Altimeter .Altimeter Configuration image::configure-altimeter.png[width="3.6in"] + ifdef::radio[] Select this button and then select either an altimeter or TeleDongle Device from the list provided. Selecting a TeleDongle - device will use the radio link to configure a remote altimeter. + device will use the radio link to configure a remote + altimeter. + endif::radio[] + ifndef::radio[] + Select this button and then select an altimeter. + endif::radio[] The first few lines of the dialog provide information about the connected device, including the product name, @@ -490,6 +517,7 @@ include::config-ui.raw[] + ifdef::radio[] === Configure Groundstation .Configure Groundstation Dialog @@ -557,16 +585,27 @@ This lets you match the telemetry and packet link rate from the transmitter. If they don't match, the device won't receive any data. + endif::radio[] === Flash Image This reprograms Altus Metrum devices with new - firmware. TeleMetrum v1.x, TeleDongle v0.2, TeleMini - and TeleBT are all reprogrammed by using another - similar unit as a programming dongle (pair - programming). TeleMega, EasyMega, TeleMetrum v2, - EasyMini and TeleDongle v3 are all programmed directly - over their USB ports (self programming). Please read + firmware. + ifdef::telemetrum,telemini[] + TeleMetrum v1.x, TeleDongle v0.2, TeleMini + and TeleBT are all reprogrammed by using another + similar unit as a programming dongle (pair + programming). + endif::telemetrum,telemini[] + ifdef::telemega,easymega,telemetrum[] + TeleMega, EasyMega, TeleMetrum v2, + EasyMini and TeleDongle v3 are all + endif::telemega,easymega,telemetrum[] + ifndef::telemega,easymega,telemetrum[] + EasyMini is + endif::telemega,easymega,telemetrum[] + programmed directly + over USB (self programming). Please read the directions for flashing devices in <<_updating_device_firmware>>. @@ -577,10 +616,13 @@ This activates the igniter circuits in the flight computer to help test recovery systems - deployment. Because this command can operate over the + deployment. + ifdef::radio[] + 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 air-frame. + endif::radio[] Selecting the 'Fire Igniter' button brings up the usual device selection dialog. Pick the desired @@ -598,6 +640,7 @@ point you start over again at selecting the desired igniter. + ifdef::radio[] === Scan Channels .Scan Channels Window @@ -610,9 +653,13 @@ be tried; by default, it only listens at 38400 baud with the standard telemetry format used in v1.0 and later firmware. + endif::radio[] + ifdef::gps[] include::load-maps.raw[] + endif::gps[] + ifdef::radio[] === Monitor Idle .Monitor Idle Window @@ -632,3 +679,4 @@ communicate with the flight computer; they must both match the configuration in the flight computer exactly. + endif::radio[] diff --git a/doc/altusmetrum.txt b/doc/altusmetrum.txt index f8d284ec..598de8e6 100644 --- a/doc/altusmetrum.txt +++ b/doc/altusmetrum.txt @@ -2,6 +2,14 @@ :doctype: book :numbered: :altusmetrum: 1 +:radio: 1 +:gps: 1 +:telemetrum: 1 +:telemini: 1 +:easymini: 1 +:telemega: 1 +:easymega: 1 +:telegps: 1 :application: AltosUI include::dedication.raw[] @@ -18,7 +26,7 @@ include::telemini-v2.0.raw[] - include::easymini.raw[] + include::easymini-device.raw[] include::telemega.raw[] diff --git a/doc/config-device.inc b/doc/config-device.inc index fb09416c..bf1edb97 100644 --- a/doc/config-device.inc +++ b/doc/config-device.inc @@ -37,85 +37,87 @@ ifdef::altusmetrum[] endif::altusmetrum[] -==== Frequency - - This configures which of the frequencies to use for - both telemetry and packet command mode. Note that if - you set this value via packet command mode, the - TeleDongle frequency will also be automatically - reconfigured to match so that communication will - continue afterwards. - -==== RF Calibration - - The radios in every Altus Metrum device are calibrated - at the factory to ensure that they transmit and - receive on the specified frequency. If you need to - you can adjust the calibration by changing this value. - Do not do this without understanding what the value - means, read the appendix on calibration and/or the - source code for more information. To change a - TeleDongle's calibration, you must reprogram the unit - completely. - -==== Telemetry/RDF/APRS Enable - - Enables the radio for transmission during - flight. When disabled, the radio will not - transmit anything during flight at all. - -==== Telemetry baud rate - - This sets the modulation bit rate for data - transmission for both telemetry and packet - link mode. Lower bit rates will increase range - while reducing the amount of data that can be - sent and increasing battery consumption. All - telemetry is done using a rate 1/2 constraint - 4 convolution code, so the actual data - transmission rate is 1/2 of the modulation bit - rate specified here. - -==== APRS Interval - - How often to transmit GPS information via APRS - (in seconds). When set to zero, APRS - transmission is disabled. - ifdef::altusmetrum[] - This option is - available on TeleMetrum v2 and TeleMega - boards. TeleMetrum v1 boards cannot transmit - APRS packets. - endif::altusmetrum[] - Note that a single APRS packet - takes nearly a full second to transmit, so - enabling this option will prevent sending any - other telemetry during that time. - -==== APRS SSID - - Which SSID to report in APRS packets. By - default, this is set to the last digit of the - serial number, but can be configured to any - value from 0 to 9. - -==== APRS Format - - Whether to send APRS data in Compressed or - Uncompressed format. Compressed format is - smaller and more precise. Uncompressed - format is older, but may work better with your - device. The Kenwood TH-D72 only displays - altitude information with Uncompressed - format, while the Yaesu FT1D only displays - altitude with Compressed format. Test before - you fly to see which to use. - -==== Callsign - - This sets the call sign included in each - telemetry packet. Set this as needed to - conform to your local radio regulations. +ifdef::radio[] + ==== Frequency + + This configures which of the frequencies to use for + both telemetry and packet command mode. Note that if + you set this value via packet command mode, the + TeleDongle frequency will also be automatically + reconfigured to match so that communication will + continue afterwards. + + ==== RF Calibration + + The radios in every Altus Metrum device are calibrated + at the factory to ensure that they transmit and + receive on the specified frequency. If you need to + you can adjust the calibration by changing this value. + Do not do this without understanding what the value + means, read the appendix on calibration and/or the + source code for more information. To change a + TeleDongle's calibration, you must reprogram the unit + completely. + + ==== Telemetry/RDF/APRS Enable + + Enables the radio for transmission during + flight. When disabled, the radio will not + transmit anything during flight at all. + + ==== Telemetry baud rate + + This sets the modulation bit rate for data + transmission for both telemetry and packet + link mode. Lower bit rates will increase range + while reducing the amount of data that can be + sent and increasing battery consumption. All + telemetry is done using a rate 1/2 constraint + 4 convolution code, so the actual data + transmission rate is 1/2 of the modulation bit + rate specified here. + + ==== APRS Interval + + How often to transmit GPS information via APRS + (in seconds). When set to zero, APRS + transmission is disabled. + ifdef::altusmetrum[] + This option is + available on TeleMetrum v2 and TeleMega + boards. TeleMetrum v1 boards cannot transmit + APRS packets. + endif::altusmetrum[] + Note that a single APRS packet + takes nearly a full second to transmit, so + enabling this option will prevent sending any + other telemetry during that time. + + ==== APRS SSID + + Which SSID to report in APRS packets. By + default, this is set to the last digit of the + serial number, but can be configured to any + value from 0 to 9. + + ==== APRS Format + + Whether to send APRS data in Compressed or + Uncompressed format. Compressed format is + smaller and more precise. Uncompressed + format is older, but may work better with your + device. The Kenwood TH-D72 only displays + altitude information with Uncompressed + format, while the Yaesu FT1D only displays + altitude with Compressed format. Test before + you fly to see which to use. + + ==== Callsign + + This sets the call sign included in each + telemetry packet. Set this as needed to + conform to your local radio regulations. +endif::radio[] ifdef::altusmetrum[] @@ -153,6 +155,7 @@ ifdef::altusmetrum[] is fired first, followed after a two second delay by the 'main' channel. + ifdef::telemetrum,telemega,easymega[] ==== Pad Orientation Because they include accelerometers, @@ -172,6 +175,7 @@ ifdef::altusmetrum[] In this mode, the antenna end of the flight computer must point aft, in line with the expected flight path. + endif::telemetrum,telemega,easymega[] ==== Beeper Frequency @@ -185,21 +189,22 @@ ifdef::altusmetrum[] endif::altusmetrum[] -==== Logging Trigger Motion +ifdef::telegps[] + ==== Logging Trigger Motion - This sets the amount of motion that TeleGPS - needs to see before logging the new - position. Motions smaller than this are - skipped, which saves storage space. + This sets the amount of motion that TeleGPS + needs to see before logging the new + position. Motions smaller than this are + skipped, which saves storage space. -==== Position Reporting Interval - - The interval between TeleGPS position reports, - both over the air and in the log. Increase - this to reduce the frequency of radio - transmissions and the length of time available - in the log. + ==== Position Reporting Interval + The interval between TeleGPS position reports, + both over the air and in the log. Increase + this to reduce the frequency of radio + transmissions and the length of time available + in the log. +endif::telegps[] ifdef::altusmetrum[] diff --git a/doc/config-ui.inc b/doc/config-ui.inc index c7e7f1ac..fdcfb9dc 100644 --- a/doc/config-ui.inc +++ b/doc/config-ui.inc @@ -1,3 +1,4 @@ +ifdef::radio[] ==== Voice Settings {application} provides voice announcements during @@ -13,11 +14,12 @@ Plays a short message allowing you to verify that the audio system is working and the volume settings are reasonable +endif::radio[] ==== Log Directory {application} logs all telemetry data and saves all - TeleMetrum flash data to this directory. This + flash data to this directory. This directory is also used as the staring point when selecting data files for display or export. @@ -28,6 +30,7 @@ change where {application} reads and writes data files. +ifdef::radio[] ==== Callsign This value is transmitted in each command @@ -46,6 +49,7 @@ exactly match the callsign configured in the flight computer. This matching is case sensitive. +endif::radio[] ==== Imperial Units @@ -86,13 +90,16 @@ {application} window that includes all of the command buttons. +ifdef::gps[] ==== Map Cache Size Sets the number of map 'tiles' kept in memory while the application is running. More tiles consume more memory, but will make panning around the map faster. +endif::gps[] +ifdef::radio[] ==== Manage Frequencies This brings up a dialog where you can @@ -103,3 +110,4 @@ frequency settings of any devices, it only changes the set of frequencies shown in the menus. +endif::radio[] diff --git a/doc/easymini-device.inc b/doc/easymini-device.inc new file mode 100644 index 00000000..fb2b6098 --- /dev/null +++ b/doc/easymini-device.inc @@ -0,0 +1,116 @@ +== EasyMini + + .EasyMini Board + image::easymini-top.jpg[width="5.5in"] + + EasyMini is built on a 0.8 inch by 1½ inch circuit board. It's + designed to fit in a 24mm coupler tube. + + You usually don't need to configure EasyMini at all; it's set + up to do dual-deployment with an event at apogee to separate + the airframe and deploy a drogue and another event at 250m + (820ft) to deploy the main. Install EasyMini in your airframe, + hook up a battery, igniters and a power switch and you're + ready to fly. + + === EasyMini Screw Terminals + + EasyMini has two sets of four screw terminals near one end of the + board. Using the picture + above, the top four have connections for the main pyro + circuit and an external battery and the bottom four have + connections for the apogee pyro circuit and the power + switch. Counting from the left, the connections are as follows: + + .EasyMini Screw Terminals + [options="header",grid="all",cols="2,3,10"] + |==== + |Terminal #|Terminal Name|Description + |Top 1 + |Main - + |Main pyro channel connection to pyro circuit + + |Top 2 + |Main + + |Main pyro channel common connection to battery + + + |Top 3 + |Battery + + |Positive external battery terminal + + |Top 4 + |Battery - + |Negative external battery terminal + + |Bottom 1 + |Apogee - + |Apogee pyro channel connection to pyro circuit + + |Bottom 2 + |Apogee + + |Apogee pyro channel common connection to battery + + + |Bottom 3 + |Switch Output + |Switch connection to flight computer + + |Bottom 4 + |Switch Input + |Switch connection to positive battery terminal + |==== + + === Connecting A Battery To EasyMini + + There are two possible battery connections on + EasyMini. You can use either method; both feed + through the power switch terminals. + + One battery connection is the standard Altus Metrum + white JST plug. This mates with single-cell Lithium + Polymer batteries sold by Altus Metrum. + + The other is a pair of screw terminals marked 'Battery + +' and 'Battery -'. Connect a battery from 4 to 12 + volts to these terminals, being careful to match polarity. + + === Charging Lithium Batteries + + Because EasyMini allows for batteries other than the + standard Altus Metrum Lithium Polymer cells, it cannot + incorporate a battery charger circuit. Therefore, when + using a Litium Polymer cell, you'll need an external + charger. These are available from Altus Metrum, or + from Spark Fun. + + === Using a Separate Pyro Battery with EasyMini + + As described above, using an external pyro battery involves + connecting the negative battery terminal to the flight + computer ground, connecting the positive battery terminal to + one of the igniter leads and connecting the other igniter + lead to the per-channel pyro circuit connection. + + To connect the negative pyro battery terminal to EasyMini + ground, connect it to the negative external battery + connection, top terminal 4. + + Connecting the positive battery terminal to the pyro + charges must be done separate from EasyMini, by soldering + them together or using some other connector. + + The other lead from each pyro charge is then inserted into + the appropriate per-pyro channel screw terminal (top + terminal 1 for the Main charge, bottom terminal 1 for the + Apogee charge). + + === Using an Active Switch with EasyMini + + As explained above, an external active switch requires three + connections, one to the positive battery terminal, one to + the flight computer positive input and one to ground. Use + the negative external battery connection, top terminal 4 for + ground. + + The positive battery terminal is available on bottom + terminal 4, the positive flight computer input is on the + bottom terminal 3. diff --git a/doc/easymini-docinfo.xml b/doc/easymini-docinfo.xml new file mode 100644 index 00000000..f3c7ba19 --- /dev/null +++ b/doc/easymini-docinfo.xml @@ -0,0 +1,48 @@ +A Dual-Deploy Rocketry Flight Computer + + Bdale + Garbee + bdale@gag.com + + + Keith + Packard + keithp@keithp.com + + + 2015 + Bdale Garbee and Keith Packard + + + + + + + + + + + + + + + + + + This document is released under the terms of the + + Creative Commons ShareAlike 3.0 + + license. + + + + + + 1.6.2 + 13 November 2015 + + First release of separate EasyMini doc + + + diff --git a/doc/easymini-release-notes.inc b/doc/easymini-release-notes.inc new file mode 100644 index 00000000..e448b394 --- /dev/null +++ b/doc/easymini-release-notes.inc @@ -0,0 +1,7 @@ +[appendix] +== Release Notes + + :leveloffset: 2 + include::release-notes-1.6.1.raw[] + + :leveloffset: 0 diff --git a/doc/easymini.inc b/doc/easymini.inc deleted file mode 100644 index fb2b6098..00000000 --- a/doc/easymini.inc +++ /dev/null @@ -1,116 +0,0 @@ -== EasyMini - - .EasyMini Board - image::easymini-top.jpg[width="5.5in"] - - EasyMini is built on a 0.8 inch by 1½ inch circuit board. It's - designed to fit in a 24mm coupler tube. - - You usually don't need to configure EasyMini at all; it's set - up to do dual-deployment with an event at apogee to separate - the airframe and deploy a drogue and another event at 250m - (820ft) to deploy the main. Install EasyMini in your airframe, - hook up a battery, igniters and a power switch and you're - ready to fly. - - === EasyMini Screw Terminals - - EasyMini has two sets of four screw terminals near one end of the - board. Using the picture - above, the top four have connections for the main pyro - circuit and an external battery and the bottom four have - connections for the apogee pyro circuit and the power - switch. Counting from the left, the connections are as follows: - - .EasyMini Screw Terminals - [options="header",grid="all",cols="2,3,10"] - |==== - |Terminal #|Terminal Name|Description - |Top 1 - |Main - - |Main pyro channel connection to pyro circuit - - |Top 2 - |Main + - |Main pyro channel common connection to battery + - - |Top 3 - |Battery + - |Positive external battery terminal - - |Top 4 - |Battery - - |Negative external battery terminal - - |Bottom 1 - |Apogee - - |Apogee pyro channel connection to pyro circuit - - |Bottom 2 - |Apogee + - |Apogee pyro channel common connection to battery + - - |Bottom 3 - |Switch Output - |Switch connection to flight computer - - |Bottom 4 - |Switch Input - |Switch connection to positive battery terminal - |==== - - === Connecting A Battery To EasyMini - - There are two possible battery connections on - EasyMini. You can use either method; both feed - through the power switch terminals. - - One battery connection is the standard Altus Metrum - white JST plug. This mates with single-cell Lithium - Polymer batteries sold by Altus Metrum. - - The other is a pair of screw terminals marked 'Battery - +' and 'Battery -'. Connect a battery from 4 to 12 - volts to these terminals, being careful to match polarity. - - === Charging Lithium Batteries - - Because EasyMini allows for batteries other than the - standard Altus Metrum Lithium Polymer cells, it cannot - incorporate a battery charger circuit. Therefore, when - using a Litium Polymer cell, you'll need an external - charger. These are available from Altus Metrum, or - from Spark Fun. - - === Using a Separate Pyro Battery with EasyMini - - As described above, using an external pyro battery involves - connecting the negative battery terminal to the flight - computer ground, connecting the positive battery terminal to - one of the igniter leads and connecting the other igniter - lead to the per-channel pyro circuit connection. - - To connect the negative pyro battery terminal to EasyMini - ground, connect it to the negative external battery - connection, top terminal 4. - - Connecting the positive battery terminal to the pyro - charges must be done separate from EasyMini, by soldering - them together or using some other connector. - - The other lead from each pyro charge is then inserted into - the appropriate per-pyro channel screw terminal (top - terminal 1 for the Main charge, bottom terminal 1 for the - Apogee charge). - - === Using an Active Switch with EasyMini - - As explained above, an external active switch requires three - connections, one to the positive battery terminal, one to - the flight computer positive input and one to ground. Use - the negative external battery connection, top terminal 4 for - ground. - - The positive battery terminal is available on bottom - terminal 4, the positive flight computer input is on the - bottom terminal 3. diff --git a/doc/easymini.txt b/doc/easymini.txt new file mode 100644 index 00000000..ddb18376 --- /dev/null +++ b/doc/easymini.txt @@ -0,0 +1,34 @@ += EasyMini +:doctype: book +:numbered: +:altusmetrum: 1 +:easymini: 1 +:application: AltosUI + + include::dedication.raw[] + + include::intro.raw[] + + include::getting-started.raw[] + + include::usage.raw[] + + include::easymini-device.raw[] + + include::installation.raw[] + + include::using-am-products.raw[] + + include::altosui.raw[] + + include::system-operation.raw[] + + include::handling.raw[] + + include::updating-firmware.raw[] + + include::flight-data-recording.raw[] + + include::specs.raw[] + + include::easymini-release-notes.raw[] diff --git a/doc/flight-data-recording.inc b/doc/flight-data-recording.inc index ed56b82e..d0ffa7f1 100644 --- a/doc/flight-data-recording.inc +++ b/doc/flight-data-recording.inc @@ -2,9 +2,15 @@ == Flight Data Recording Each flight computer logs data at 100 samples per second - during ascent and 10 samples per second during descent, except - for TeleMini v1.0, which records ascent at 10 samples per - second and descent at 1 sample per second. Data are logged to + during ascent and 10 samples per second during + ifdef::telemini[] + descent, except for TeleMini v1.0, which records ascent at 10 samples + per second and descent at 1 sample per second. + endif::telemini[] + ifndef::telemini[] + descent. + endif::telemini[] + Data are logged to an on-board flash memory part, which can be partitioned into several equal-sized blocks, one for each flight. @@ -12,14 +18,24 @@ [options="header",cols="1,1,1,1"] |==== |Device |Bytes per Sample |Total Storage |Minutes at Full Rate + ifdef::telemetrum[] |TeleMetrum v1.0 |8 |1MB |20 |TeleMetrum v1.1 v1.2 |8 |2MB |40 |TeleMetrum v2.0 |16 |8MB |80 + endif::telemetrum[] + ifdef::telemini[] |TeleMini v1.0 |2 |5kB |4 |TeleMini v2.0 |16 |1MB |10 + endif::telemini[] + ifdef::easymini[] |EasyMini |16 |1MB |10 + endif::easymini[] + ifdef::telemega[] |TeleMega |32 |8MB |40 + endif::telemega[] + ifdef::easymega[] |EasyMega |32 |8MB |40 + endif::easymega[] |==== The on-board flash is partitioned into separate flight logs, @@ -28,26 +44,42 @@ stored. Decrease the size and you can store more flights. Configuration data is also stored in the flash memory on - TeleMetrum v1.x, TeleMini and EasyMini. This consumes 64kB + ifdef::telemetrum[TeleMetrum v1.x,] + ifdef::telemini[TeleMini and] + ifdef::easymini[EasyMini.] + This consumes 64kB of flash space. This configuration space is not available - for storing flight log data. TeleMetrum v2.0, TeleMega and EasyMega + for storing flight log data. + + ifdef::telemetrum,telemega,easymega[] + TeleMetrum v2.0, TeleMega and EasyMega store configuration data in a bit of eeprom available within the processor chip, leaving that space available in flash for more flight data. + endif::telemetrum,telemega,easymega[] To compute the amount of space needed for a single flight, you can multiply the expected ascent time (in seconds) by 100 times bytes-per-sample, multiply the expected descent time (in seconds) by 10 times the bytes per sample and add the two together. That will slightly under-estimate the storage (in - bytes) needed for the flight. For instance, a TeleMetrum v2.0 flight spending + bytes) needed for the flight. + ifdef::telemetrum[] + For instance, a TeleMetrum v2.0 flight spending 20 seconds in ascent and 150 seconds in descent will take about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You could store dozens of these flights in the on-board flash. + endif::telemetrum[] The default size allows for several flights on each flight - computer, except for TeleMini v1.0, which only holds data for a - single flight. You can adjust the size. + ifdef::telemini[] + computer, except for TeleMini v1.0, which + only holds data for a single flight. + endif::telemini[] + ifndef::telemini[] + computer. + endif::telemini[] + You can adjust the size. Altus Metrum flight computers will not overwrite existing flight data, so be sure to download flight data and erase it diff --git a/doc/getting-started.inc b/doc/getting-started.inc index 8401f4d0..9c0df26d 100644 --- a/doc/getting-started.inc +++ b/doc/getting-started.inc @@ -5,24 +5,30 @@ === Batteries + ifdef::telemetrum,telemega,easymega[] For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the corresponding socket of the device and then using the USB cable to plug the flight computer into your computer's USB socket. The on-board circuitry will charge the battery whenever it is plugged in, because the on-off switch does NOT control the charging circuitry. - The Lithium Polymer TeleMini and EasyMini battery can be charged by - disconnecting it from the board and plugging it into a - standalone battery charger such as the LipoCharger product - included in TeleMini Starter Kits, and connecting that via a USB - cable to a laptop or other USB power source. + endif::telemetrum,telemega,easymega[] + The Lithium Polymer + ifdef::telemini[TeleMini and] + EasyMini battery can be charged by disconnecting it + from the board and plugging it into a standalone + battery charger such as link:http://altusmetrum.org/LipoCharger[LipoCharger], and + connecting that via a USB cable to a laptop or other + USB power source. - You can also choose to use another battery with TeleMini v2.0 - and EasyMini, anything supplying between 4 and 12 volts should + You can also choose to use another battery with + ifdef::telemini[TeleMini v2.0 and] + EasyMini, anything supplying between 4 and 12 volts should work fine (like a standard 9V battery), but if you are planning to fire pyro charges, ground testing is required to verify that the battery supplies enough current to fire your chosen e-matches. + ifdef::telemetrum,telemega,easymega[] [NOTE] ==== On TeleMetrum v1 boards, when the GPS chip is initially @@ -45,7 +51,9 @@ battery is damaged or missing, both LEDs will be lit, which appears yellow. ==== + endif::telemetrum,telemega,easymega[] + ifdef::radio[] === Ground Station Hardware There are two ground stations available, the TeleDongle USB to @@ -58,6 +66,7 @@ computer. If you are using an older version of Linux and are having problems, try moving to a fresher kernel (2.6.33 or newer). + endif::radio[] === Linux/Mac/Windows Ground Station Software @@ -71,6 +80,7 @@ available. The latest version may always be downloaded from http://altusmetrum.org/AltOS + ifdef::radio[] === Android Ground Station Software TeleBT can also connect to an Android device over @@ -83,3 +93,4 @@ without network access, you'll want to download offline map data before wandering away from the network. + endif::radio[] diff --git a/doc/installation.inc b/doc/installation.inc index 32d81984..d390551e 100644 --- a/doc/installation.inc +++ b/doc/installation.inc @@ -5,11 +5,14 @@ power on/off, and two pairs of wires connecting e-matches for the apogee and main ejection charges. All Altus Metrum products are designed for use with single-cell batteries with 3.7 volts - nominal. TeleMini v2.0 and EasyMini may also be used with other + nominal. + ifdef::telemini[TeleMini v2.0 and] + EasyMini may also be used with other batteries as long as they supply between 4 and 12 volts. - The battery connectors are a standard 2-pin JST connector and - match batteries sold by Spark Fun. These batteries are + The battery connectors are a standard 2-pin JST connector; you + can purchase suitable batteries from the any vendor selling + Altus Metrum products. These batteries are single-cell Lithium Polymer batteries that nominally provide 3.7 volts. Other vendors sell similar batteries for RC aircraft using mating connectors, however the polarity for those is @@ -20,7 +23,15 @@ [WARNING] Check polarity and voltage before connecting any battery not - purchased from Altus Metrum or Spark Fun. + purchased from Altus Metrum. + + [WARNING] + Spark Fun sells batteries that have a matching connector with + the correct polarity. However, these batteries include an + integrated current limiting circuit. That circuit will cause + the battery to shut down when firing the igniter circuit. Do + not use these batteries unless you remove the current limiting + circuit. By default, we use the unregulated output of the battery directly to fire ejection charges. This works marvelously @@ -35,12 +46,18 @@ at the aft end of the altimeter. You'll need a very small straight blade screwdriver for these screws, such as you might find in a jeweler's screwdriver set. + ifndef::telemini[] + The screw terminal block is also used for the power switch leads. + endif::telemini[] + ifdef::telemini[] Except for TeleMini v1.0, the flight computers also use the screw terminal block for the power switch leads. On TeleMini v1.0, the power switch leads are soldered directly to the board and can be connected directly to a switch. + endif::telemini[] + ifdef::radio[] For most air-frames, the integrated antennas are more than adequate. However, if you are installing in a carbon-fiber or metal electronics bay which is opaque to RF signals, you may need to @@ -49,3 +66,4 @@ and, on TeleMetrum v1, you can unplug the integrated GPS antenna and select an appropriate off-board GPS antenna with cable terminating in a U.FL connector. + endif::radio[] diff --git a/doc/specs.inc b/doc/specs.inc index 6af3bd76..72664625 100644 --- a/doc/specs.inc +++ b/doc/specs.inc @@ -9,6 +9,7 @@ |================================ |Device | Barometer | Z-axis accel | GPS | 3D sensors | Storage | RF Output | Battery + ifdef::telemetrum[] |TeleMetrum v1.0 |MP3H6115 10km (33k') |MMA2202 50g @@ -44,7 +45,9 @@ |8MB |40mW |3.7V + endif::telemetrum[] + ifdef::telemini[] |TeleMini v1.0 |MP3H6115 10km (33k') |- @@ -62,7 +65,9 @@ |1MB |10mW |3.7-12V + endif::telemini[] + ifdef::easymini[] |EasyMini v1.0 |MS5607 30km (100k') |- @@ -71,7 +76,9 @@ |1MB |- |3.7-12V + endif::easymini[] + ifdef::telemega[] |TeleMega v1.0 |MS5607 30km (100k') |MMA6555 102g @@ -80,7 +87,9 @@ |8MB |40mW |3.7V + endif::telemega[] + ifdef::easymega[] |EasyMega v1.0 |MS5607 30km (100k') |MMA6555 102g @@ -89,6 +98,8 @@ |8MB |- |3.7V + endif::easymega[] + |============================== <<<< @@ -97,13 +108,16 @@ |============================== |Device|Connectors|Screw Terminals|Width|Length|Tube Size + ifdef::telemetrum[] |TeleMetrum |Antenna Debug Companion USB Battery |Apogee pyro Main pyro Switch |1 inch (2.54cm) |2 ¾ inch (6.99cm) |29mm coupler + endif::telemetrum[] + ifdef::telemini[] |TeleMini v1.0 |Antenna Debug Battery |Apogee pyro Main pyro @@ -117,25 +131,33 @@ |0.8 inch (2.03cm) |1½ inch (3.81cm) |24mm coupler + endif::telemini[] + ifdef::easymini[] |EasyMini |Debug USB Battery |Apogee pyro Main pyro Battery |0.8 inch (2.03cm) |1½ inch (3.81cm) |24mm coupler + endif::easymini[] + ifdef::telemega[] |TeleMega |Antenna Debug Companion USB Battery |Apogee pyro Main pyro Pyro A-D Switch Pyro battery |1¼ inch (3.18cm) |3¼ inch (8.26cm) |38mm coupler + endif::telemega[] + ifdef::easymega[] |EasyMega |Debug Companion USB Battery |Apogee pyro Main pyro Pyro A-D Switch Pyro battery |1¼ inch (3.18cm) |2¼ inch (5.62cm) |38mm coupler + endif::easymega[] + |==================================== diff --git a/doc/system-operation.inc b/doc/system-operation.inc index 4503f525..313415ca 100644 --- a/doc/system-operation.inc +++ b/doc/system-operation.inc @@ -5,7 +5,10 @@ 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 start up time. For + the firmware operates in is determined at start up + time. + ifdef::telemetrum,telemega,easymega[] + For TeleMetrum, TeleMega and EasyMega, which have accelerometers, the mode is controlled by the orientation of the rocket (well, actually the board, of course...) at the time @@ -13,12 +16,20 @@ the flight computer 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. Since TeleMini v2.0 and EasyMini don't have an + idle mode. + endif::telemetrum,telemega,easymega[] + Since + ifdef::telemini[TeleMini v2.0 and EasyMini don't] + ifndef::telemini[EasyMini doesn't] + have an accelerometer we can use to determine orientation, “idle” mode is selected if the board is connected via USB to a computer, - otherwise the board enters “flight” mode. TeleMini v1.0 + otherwise the board enters “flight” mode. + ifdef::telemini[] + TeleMini v1.0 selects “idle” mode if it receives a command packet within the first five seconds of operation. + endif::telemini[] At power on, the altimeter will beep out the battery voltage to the nearest tenth of a volt. Each digit is represented by @@ -45,13 +56,16 @@ If idle mode is entered, you will hear an audible “di-dit” or see two short flashes (“I” for idle), and the flight state machine is disengaged, thus no ejection charges will fire. + ifdef::radio[] The altimeters also listen for the radio link when in idle mode for requests sent via TeleDongle. Commands can be issued in idle mode over either USB or the radio link - equivalently. TeleMini v1.0 only has the radio 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. + equivalently. + ifdef::telemini[TeleMini v1.0 only has the radio link.] + endif::radio[] + 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. In “Idle” and “Pad” modes, once the mode indication beeps/flashes and continuity indication has been sent, if @@ -70,6 +84,7 @@ beep. The flight computer will continue to report landed mode and beep out the maximum height until turned off. + ifdef::telemetrum,telemega,easymega[] One “neat trick” of particular value when TeleMetrum, TeleMega or EasyMega are used with very large air-frames, is that you can power the board up while the @@ -80,7 +95,9 @@ 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! + endif::telemetrum,telemega,easymega[] + ifdef::telemini[] TeleMini v1.0 is configured solely via the radio link. Of course, that means you need to know the TeleMini radio configuration values or you won't be able to communicate with it. For situations @@ -99,8 +116,11 @@ piece of small gauge wire, connect the outer two holes together, then power TeleMini up. Once the red LED is lit, disconnect the wire and the board should signal that it's in - 'idle' mode after the initial five second startup period. + 'idle' mode after the initial five second startup + period. + endif::telemini[] + ifdef::gps[] === GPS TeleMetrum and TeleMega include a complete GPS receiver. A @@ -120,7 +140,9 @@ is turned back on, the GPS system should lock very quickly, typically long before igniter installation and return to the flight line are complete. + endif::gps[] + ifdef::radio[] === Controlling An Altimeter Over The Radio Link One of the unique features of the Altus Metrum system is the @@ -199,25 +221,38 @@ lights on the devices. The red LED will flash each time a packet is transmitted, while the green LED will light up on TeleDongle when it is waiting to receive a packet from the altimeter. + endif::radio[] === Ground Testing An important aspect of preparing a rocket using electronic deployment - for flight is ground testing the recovery system. Thanks + for flight is ground testing the recovery system. + ifdef::radio[] + Thanks to the bi-directional radio link central to the Altus Metrum system, this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket with less work than you may be accustomed to with other systems. It can even be fun! + endif::radio[] Just prep the rocket for flight, then power up the altimeter - in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or - selecting the Configure Altimeter tab for TeleMini). This will cause - the firmware to go into “idle” mode, in which the normal flight - state machine is disabled and charges will not fire without - manual command. You can now command the altimeter to fire the apogee - or main charges from a safe distance using your computer and - TeleDongle and the Fire Igniter tab to complete ejection testing. - + in “idle” + ifdef::telemetrum,telemega,telemini[] + mode (placing air-frame horizontal for TeleMetrum or TeleMega, or + selecting the Configure Altimeter tab for TeleMini). + This will cause + the firmware to go into “idle” mode, in which the normal flight + state machine is disabled and charges will not fire without + manual command. + endif::telemetrum,telemega,telemini[] + ifndef::telemetrum,telemega,telemini[] + mode. + endif::telemetrum,telemega,telemini[] + You can now command the altimeter to fire the apogee + or main charges from a safe distance using your + computer and the Fire Igniter tab to complete ejection testing. + + ifdef::radio[] === Radio Link TeleMetrum, TeleMini and TeleMega all incorporate an @@ -255,10 +290,13 @@ devices. We hope to fly boards to higher altitudes over time, and would of course appreciate customer feedback on performance in higher altitude flights! + endif::radio[] + ifdef::gps+radio[] :aprsdevices: TeleMetrum v2.0 and TeleMega :configure_section: _configure_altimeter include::aprs-operation.raw[] + endif::gps+radio[] === Configurable Parameters @@ -266,6 +304,5 @@ very simple. Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman filter means there is no need to set a “mach delay”. All of the - configurable parameters can be set using AltosUI - over USB or or radio link via TeleDongle. Read + configurable parameters can be set using AltosUI. Read <<_configure_altimeter>> for more information. diff --git a/doc/telegps.txt b/doc/telegps.txt index 6726b340..47eafe37 100644 --- a/doc/telegps.txt +++ b/doc/telegps.txt @@ -2,6 +2,8 @@ :doctype: book :numbered: :telegps: 1 +:radio: 1 +:gps: 1 :application: TeleGPS include::telegps-dedication.raw[] diff --git a/doc/updating-firmware.inc b/doc/updating-firmware.inc index d22fdb18..11ea1283 100644 --- a/doc/updating-firmware.inc +++ b/doc/updating-firmware.inc @@ -1,12 +1,21 @@ [appendix] == Updating Device Firmware + ifdef::telemega[] TeleMega, TeleMetrum v2, EasyMega, EasyMini and TeleDongle v3 - are all programmed directly over their USB connectors (self - programming). TeleMetrum v1, TeleMini and TeleDongle v0.2 are + are all + endif::telemega[] + ifndef::telemega[] + EasyMini is + endif::telemega[] + programmed directly over their USB connectors (self + programming). + ifdef::telemega[] + TeleMetrum v1, TeleMini and TeleDongle v0.2 are all programmed by using another device as a programmer (pair programming). It's important to recognize which kind of devices you have before trying to reprogram them. + endif::telemega[] You may wish to begin by ensuring you have current firmware images. These are distributed as part of the AltOS software @@ -17,11 +26,15 @@ download the most recent version from http://www.altusmetrum.org/AltOS/ + ifdef::telemega[] === Updating TeleMega, TeleMetrum v2, EasyMega, EasyMini or TeleDongle v3 Firmware + endif::telemega[] + ifndef::telemega[] + === Updating EasyMini Firmware + endif::telemega[] - Self-programmable devices (TeleMega, TeleMetrum v2, - EasyMega and EasyMini) are reprogrammed by connecting - them to your computer over USB + Self-programmable devices are reprogrammed by + connecting them to your computer over USB. . Attach a battery if necessary and power switch to the target device. Power up the device. @@ -36,7 +49,7 @@ . Select the image you want to flash to the device, which should have a name in the form -v-.ihx, - such as TeleMega-v1.0-1.3.0.ihx. + such as EasyMini-v1.0-1.6.0.ihx. . Make sure the configuration parameters are reasonable looking. If the serial number and/or RF @@ -62,6 +75,7 @@ connectors will force the boot loader to start, even if the regular operating system has been corrupted in some way. + ifdef::telemega[] TeleMega:: Connect pin 6 and pin 1 of the companion @@ -72,7 +86,9 @@ battery. Pin 7 carries 3.3V and the board will crash if that is connected to pin 1, but shouldn't damage the board. + endif::telemega[] + ifdef::easymega[] EasyMega:: Connect pin 6 and pin 1 of the companion @@ -83,7 +99,9 @@ battery. Pin 7 carries 3.3V and the board will crash if that is connected to pin 1, but shouldn't damage the board. + endif::easymega[] + ifdef::telemetrum[] TeleMetrum v2:: Connect pin 6 and pin 1 of the companion @@ -94,7 +112,9 @@ battery. Pin 7 carries 3.3V and the board will crash if that is connected to pin 1, but shouldn't damage the board. + endif::telemetrum[] + ifdef::easymini[] EasyMini:: Connect pin 6 and pin 1 of the debug connector, which @@ -102,13 +122,16 @@ identified by the square pad around it, and then the pins could sequentially across the board, making Pin 6 the one on the other end of the row. + endif::easymini[] + ifdef::telemetrum[] TeleDongle v3:: Connect pin 32 on the CPU to ground. Pin 32 is closest to the USB wires on the row of pins towards the center of the board. Ground is available on the capacitor next to it, on the end towards the USB wires. + endif::telemetrum[] Once you've located the right pins: @@ -129,6 +152,7 @@ the board has been powered up, you can remove the piece of wire. + ifdef::telemetrum,telemini[] === Pair Programming The big concept to understand is that you have to use @@ -341,3 +365,4 @@ TeleMetrum to help ensure that the cabling to companion boards used in a rocket don't ever come loose accidentally in flight. + endif::telemetrum,telemini[] diff --git a/doc/usage.inc b/doc/usage.inc index caccc168..3f59a50f 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -54,15 +54,19 @@ Altus Metrum flight computers include a beeper to provide information about the state of the system. + ifdef::telemini[] TeleMini doesn't have room for a beeper, so instead it uses an LED, which works the same, except for every beep is replaced with the flash of the LED. + endif::telemini[] - Here's a short summary of all of the modes and the beeping (or - flashing, in the case of TeleMini v1) that accompanies each - mode. In the description of the beeping pattern, “dit” means a - short beep while "dah" means a long beep (three times as - long). “Brap” means a long dissonant tone. + Here's a short summary of all of the modes and the + beeping + ifdef::telemini[(or flashing, in the case of TeleMini v1)] + that accompanies each mode. In the description of the + beeping pattern, “dit” means a short beep while "dah" + means a long beep (three times as long). “Brap” means + a long dissonant tone. .AltOS Modes [options="border",cols="1,1,2,2"] @@ -80,7 +84,8 @@ |Idle |I |dit dit - |Ready to accept commands over USB or radio link. + |Ready to accept commands over USB + ifdef::radio[or radio link.] |Pad |P @@ -163,6 +168,7 @@ stored in on-board flash. |==== + ifdef::radio[] For devices with a radio transmitter, in addition to the digital and APRS telemetry signals, you can also receive audio tones with a standard amateur @@ -201,6 +207,7 @@ find the rocket using RDF techniques when the signal is too weak to receive GPS information via telemetry or APRS. + endif::radio[] === Turning On the Power @@ -216,30 +223,39 @@ Flight/Pad:: The flight computer is waiting to detect launch and then fly the rocket. In this mode, the USB - link is disabled, and the radio goes into - transmit-only mode. The only way to get out of this + link is + ifdef::radio[disabled, and the radio goes into transmit-only mode.] + ifndef::radio[disabled.] + The only way to get out of this mode is to power the flight computer down. Idle:: The flight computer is ready to communicate over USB - and in packet mode over the radio. You can configure + ifdef::radio[and in packet mode over the radio.] + You can configure the flight computer, download data or display the current state. + ifdef::telemetrum,easymega,telemega[] For flight computers with accelerometers (TeleMetrum, EasyMega and TeleMega), the mode is selected by the orientation of the board during the self test interval. If the board is pointing upwards as if ready to fly, it will enter Flight/Pad mode. Otherwise, it will enter Idle mode. + endif::telemetrum,easymega,telemega[] + ifdef::easymini[] For EasyMini, if the USB cable is connected to a computer, it will enter Idle mode. Otherwise, it will enter Flight/Pad mode. + endif::easymini[] + ifdef::telemini[] For TeleMini v1.0, if a packet link is waiting to connect when the device is powered on, it will enter Idle mode, otherwise it will enter Flight/Pad mode. + endif::telemini[] You can see in <<_understanding_beeps>> how to tell which mode the flight computer is in. @@ -278,14 +294,19 @@ === Using a Different Kind of Battery - EasyMini and TeleMini v2 are designed to use either a + EasyMini + ifdef::telemini[and TeleMini v2 are] + ifndef::telemini[is] + designed to use either a lithium polymer battery or any other battery producing between 4 and 12 volts, such as a rectangular 9V battery. + ifdef::telemega,easymega,telemetrum[] [WARNING] TeleMega, EasyMega and TeleMetrum are only designed to operate off a single-cell Lithium Polymer battery and cannot be used with any other kind. Connecting a different kind of battery to any of these will destroy the board. + endif::telemega,easymega,telemetrum[] diff --git a/doc/using-am-products.inc b/doc/using-am-products.inc index 8d7d005a..8bca563d 100644 --- a/doc/using-am-products.inc +++ b/doc/using-am-products.inc @@ -1,23 +1,32 @@ == Using Altus Metrum Products + ifdef::radio[] === Being Legal - First off, in the US, you need an - link:http://www.altusmetrum.org/Radio/[amateur radio license] - or other authorization to legally operate the radio - transmitters that are part of our products. + First off, in the US, you need an + link:http://www.altusmetrum.org/Radio/[amateur radio license] + or other authorization to legally operate the radio + transmitters that are part of our products. + endif::radio[] === In the Rocket In the rocket itself, you just need a flight computer and a single-cell, 3.7 volt nominal Li-Po rechargeable - battery. An 850mAh battery weighs less than a 9V + battery. + ifdef::telemetrum,telemega,easymega[] + An 850mAh battery weighs less than a 9V alkaline battery, and will run a TeleMetrum, TeleMega - or EasyMega for hours. A 110mAh battery weighs less + or EasyMega for hours. + endif::telemetrum,telemega,easymega[] + A 110mAh battery weighs less than a triple A battery and is a good choice for use - with TeleMini or EasyMini. + with + ifdef::telemini[TeleMini or] + EasyMini. + ifdef::radio[] By default, we ship TeleMini, TeleMetrum and TeleMega flight computers with a simple wire antenna. If your electronics bay or the air-frame it resides within is @@ -28,9 +37,11 @@ antenna is fixed on all current products, so you really want to install the flight computer in a bay made of RF-transparent materials if at all possible. + endif::radio[] === On the Ground + ifdef::radio[] To receive the data stream from the rocket, you need an antenna and short feed-line connected to one of our link:http://www.altusmetrum.org/TeleDongle/[TeleDongle] @@ -42,28 +53,35 @@ TeleDongle looks like a simple serial port, your computer does not require special device drivers... just plug it in. + endif::radio[] 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. + ifdef::radio[] Alternatively, a TeleBT attached with an SMA to BNC adapter at the feed point of a hand-held yagi used in conjunction with an Android device running AltosDroid makes an outstanding ground station. + endif::radio[] - After the flight, you can use the radio link to + After the flight, + ifdef::radio[] + you can use the radio link to extract the more detailed data logged in either - TeleMetrum or TeleMini devices, 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 + TeleMetrum or TeleMini devices, or + endif::radio[] + you can use a + USB cable to plug into the flight computer board directly. + A USB cable is also how you charge the Li-Po battery, so you'll want one of those - anyway... the same cable used by lots of digital + anyway. The same cable used by lots of digital cameras and other modern electronic stuff will work fine. + ifdef::gps[] If your rocket lands out of sight, you may enjoy having a hand-held GPS receiver, so that you can put in a way-point for the last reported rocket position @@ -72,7 +90,9 @@ look around starting from there. AltosDroid on an Android device with GPS receiver works great for this, too! + endif::gps[] + ifdef::radio[] 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 @@ -102,6 +122,7 @@ with a suitable 70cm HT. TeleDongle and an SMA to BNC adapter fit perfectly between the driven element and reflector of Arrow antennas. + endif::radio[] === Data Analysis @@ -115,7 +136,7 @@ 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 TeleMetrum data file usable with Google + even export a flight log in a format usable with Google Maps and Google Earth for visualizing the flight path in two or three dimensions! @@ -125,6 +146,7 @@ === Future Plans + ifdef::telemetrum,telemega,easymega[] We have designed and prototyped several “companion boards” that can attach to the companion connector on TeleMetrum, TeleMega and EasyMega flight computers to @@ -135,6 +157,7 @@ control of events in your rockets beyond the capabilities of our existing productions, please let us know! + endif::telemetrum,telemega,easymega[] Because all of our work is open, both the hardware designs and the software, if you have some great idea -- cgit v1.2.3 From 6cbf93995d90fc4790eb77bcaa233742857fe052 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 10 Jan 2016 17:01:57 -0800 Subject: doc: fix typo in using external active switch circuit section the -> then (bdale) Signed-off-by: Keith Packard --- doc/usage.inc | 2 +- pdclib | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc/usage.inc') diff --git a/doc/usage.inc b/doc/usage.inc index 3f59a50f..8349f86c 100644 --- a/doc/usage.inc +++ b/doc/usage.inc @@ -267,7 +267,7 @@ flight computer. These require three connections, one to the battery, one to the positive power input on the flight computer and one to ground. Find instructions on how to - hook these up for each flight computer below. The follow + hook these up for each flight computer below. Then follow the instructions that come with your active switch to connect it up. diff --git a/pdclib b/pdclib index 8b1c9061..bd33f664 160000 --- a/pdclib +++ b/pdclib @@ -1 +1 @@ -Subproject commit 8b1c9061fa3a8f1b30ee13b373afe5cc1ad9d382 +Subproject commit bd33f6640cf5882f8630766a9acdd1bc420a9dda -- cgit v1.2.3