summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* altos/altosui: Add ability to disable telemetry/rdf completelyKeith Packard2011-08-20
| | | | | | | This turns off the telemetry system so that it never transmits telemetry or RDF tones. In idle mode, it will still accept packet mode connections. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Merge common config code in ao_config.cKeith Packard2011-08-20
| | | | | | | | | | This shuffles code around in ao_config.c to share some common code segments for starting and committing config changes. This also stops printing out changes as they are made which aren't needed by the UI code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Lost change that reported flight 0 when log memory was fullKeith Packard2011-08-14
| | | | | | | | | | | commit 52ac83fedbfd380d14d4df2e79992bbdfba3552a added coded to check for a full flight log and complain with a special tone. It also reported flight 0 over telemetry, and that part of the patch got lost when moving to the new telemetry format. This patch resurrects that piece. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: use raw height while waiting for landingKeith Packard2011-08-13
| | | | | | | | This avoids any noise introduced by the kalman filter, making landing detection much more reliable. This patch also changes the interval to 10s so that the height bounds can be increased to 4m. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reset radio channel to zero when using radio settingKeith Packard2011-08-13
| | | | | | Otherwise, it's hard to set the frequency over the radio link. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Correct AO_CONFIG_MINOR from 6 to 7Keith Packard2011-08-13
| | | | | | Forgot to bump this when adding radio setting. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: wait 10s for companion to bootKeith Packard2011-08-13
| | | | | | | In case the companion is delayed while booting, retry the setup 10 times with a 1s delay between tries. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Send serial/flight to companion boardKeith Packard2011-08-13
| | | | | | Lets the companion log them for later matching with TeleMetrum log Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Send SPI message at flight state changesKeith Packard2011-08-13
| | | | | | | Get the companion board starting its data logging as soon as possible after boost starts. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Check for companion init packet validity was bustedKeith Packard2011-08-13
| | | | | | | Was using board_id == ~board_id instead of board_id == ~board_id_inverse. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: add the 'L' command to show the status of a linked companion boardKeith Packard2011-08-13
| | | | | | | This prints out whether there is a board connected, along with the various values fetched from it. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure companion task exits cleanly when doneKeith Packard2011-08-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Put SPI in slower mode when talking to companion boardKeith Packard2011-08-13
| | | | | | | | | The AVR CPU on the other side just can't go very fast. This reduces the SPI clock by a factor of 16, just under 200kHz. As the companion commands are reasonably short, this shouldn't have a huge effect on overall SPI utilization. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add SPI-based companion board supportKeith Packard2011-08-13
| | | | | | | This sends current flight state information and retrieves companion data to include in telemetry. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/altosui: Report log format in the version commandKeith Packard2011-08-13
| | | | | | | | This will make it easier to figure out what the contents of the flash should look like from altosui; the current 'guessing' mechanism will not scale to many more formats. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: re-write a bit of GPS parsing code to reduce sizeKeith Packard2011-08-13
| | | | | | | | | Use a local variable while computing hdop. Place the next incoming character in data instead of pdata. Saved a surprising amount of memory. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: shrink text space from ao_config.cKeith Packard2011-08-13
| | | | | | | | | | Eliminate redundant config initializers by setting minor to zero and letting upgrade code handle all of the new values. Stop computing (fake) frequency when showing radio channel Stop computing feet when showing main deploy height Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: remove monitor disable stubs from altimeter codeKeith Packard2011-08-11
| | | | | | | | | | | | Monitor mode in the ground-station boards must be disabled when the radio is going to be used for another purpose, or the radio parameters changed. That places monitor-mode disable calls in other parts of the system which are shared with the altimeter code. Elide the ao_set_monitor calls for builds which do not include any monitoring code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Apply igniter boot pulse-width reduction to teleminiKeith Packard2011-08-11
| | | | | | | TeleMini needs the same fix as TeleMetrum to reduce startup igniter pulses. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Pull igniter pins low as soon as possible at boot timeKeith Packard2011-08-11
| | | | | | | This reduces the pulse width on the igniter circuit caused by the default cc1111 pin configuration at powerup time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch telemini from v0.1 to v1.0Keith Packard2011-08-09
| | | | | | | | TeleMini production boards are firmware compatible with the v0.1 design, so instead of creating another product, just rename the existing one. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: minor type in comment about accel correctionKeith Packard2011-08-08
| | | | | | | Kurt Roeckx found a typo in the equations describing how the accelerometer is corrected by the 5V reference measurement. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ability to set arbitrary radio frequencyKeith Packard2011-08-08
| | | | | | | | This adds a separate config parameter to control the raw radio frequency setting, allowing the user to select an arbitrary frequency instead of being forced to choose one of the 10 pre-defined 'channels'. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove pad_orientation functions from non-accel devicesKeith Packard2011-08-08
| | | | | | Anything without an accelerometer can't detect pad orientation. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Correct flight log max on Tm to 5kKeith Packard2011-08-08
| | | | | | | Was using the wrong #define name to check for Tm/Tn devices that use internal flash for data storage. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/altosui: Add pad orientation configure optionKeith Packard2011-08-02
| | | | | | | | | | | Allow TeleMetrum to be operated with the antenna pointing downwards on the pad. This provides some additional flexibility when designing an ebay. The accelerometer calibration levels are flipped around to match, so no re-calibration should be required. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Require sequencing through 'main' state before landingKeith Packard2011-08-02
| | | | | | | | | | | | | The old version of the code would permit the flight to go straight from 'drogue' to 'landed' without passing through 'main' at all. This meant that a false landing detection would leave the main charge unfired, potentially causing the airframe to land on drogue alone. Requiring that the flight sequence pass through main ensures that the main charge will get fired at the right time, although if the airframe lands higher than that altitude, it will not go to 'landed' mode ever. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Reduce height averaging filter time constantKeith Packard2011-08-02
| | | | | | | Using the longer time constant could lead to false landing detection just after apogee, which is definitely not a good idea. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Average height values for landing detectionKeith Packard2011-08-02
| | | | | | | | | | | | Instead of using the direct output of the kalman filter and hoping that is quiet enough to detect landing, filter that with a long exponential decay filter and then check to make sure that doesn't change more than 2m in 5 seconds as a trigger for landing detection. Tested with existing telemetrum flight logs and it correctly detects landing in all cases. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ability to read new TELEM files to ao_flight_testKeith Packard2011-07-17
| | | | | | | Not that telem files are currently very useful as the kalman filter gets completly confused by the variable steps caused by missing data, but... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos, altosui: Add igniter mode (dual, apogee, main)split-telemetryKeith Packard2011-07-17
| | | | | | This provides for redundant charges for either apogee or main. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: new versions of sdcc require __ prefixes for custom keywordsKeith Packard2011-07-09
| | | | | | | Fortunately, 2.9.1 appears to accept either, so we can switch now and prepare for sdcc 3.0.0. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: product defines are always in ao_product.hKeith Packard2011-07-06
| | | | | | | | | | | When all products were built in a single directory, each one had a separate version of ao_product.h. Now that they all reside in sub-directories, each directory has its own ao_product.h This change is needed so that other modules in the system can use the product defines; otherwise, ao_product.h was not built at the right time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Ensure low-rate telem packets interleave with sensor telem packetsKeith Packard2011-07-06
| | | | | | | | | To avoid over-committing the radio link, we want to send only one low rate packet after each sensor packet. However, the initializations for this were incorrect, causing the configuration and location packets to be sent at the same time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove ao_telemetry_orig.c and ao_telemetry_tiny.cKeith Packard2011-07-06
| | | | | | All products use the common ao_telemetry.c code now Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch Tm and Tn to common telemetry codeKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch flash drivers __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_flight and ao_flight_nano __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_dbg.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_config.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: switch ao_cmd __xdata to __pdataKeith Packard2011-07-06
| | | | | | Saves code space Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch const for __code in struct ao_cmdsKeith Packard2011-07-06
| | | | | | This saves quite a bit of code space when accessing these values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_usb.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_telemetry.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_stdio.c __data to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_serial.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_sample.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_rssi.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_report.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch ao_log.c and ao_log_big.c __xdata to __pdataKeith Packard2011-07-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>