summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos/stm: Expose ao_gpio_set which sets a specific GPIO pinKeith Packard2012-07-14
| | | | | | Will need versions for other architectures Signed-off-by: Keith Packard <keithp@keithp.com>
* stm: running out of memory in MM -- reduce stack to 668 bytesKeith Packard2012-07-14
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add arbitrary pyro channel supportKeith Packard2012-07-14
| | | | | | | Programmed by specifying a conjunction of flight conditions that trigger the igniter to fire. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Force STM stack to start at the top of RAMKeith Packard2012-07-14
| | | | | | | Using a fixed size means crashing if there's not enough space for that, or wasting memory if there's too much. Signed-off-by: Keith Packard <keithp@keithp.com>
* Report RSSI values in monitor idle UI (trac #44)Keith Packard2012-07-11
| | | | | | | | This adds a new 's' command to TeleDongle to report RSSI value from last received packet, and then has AltosUI request that value when closing the remote link. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix gcc compiler warnings in GPS codeKeith Packard2012-07-11
| | | | | | unused variables and mis-matches in printf format codes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Create macros to convert from/to radio RSSI representationKeith Packard2012-07-11
| | | | | | | | AO_RSSI_FROM_RADIO and AO_RADIO_FROM_RSSI. Removes a bunch of open-coded versions of the same function. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Have 'make clean' remove all programs, even old onesKeith Packard2012-07-11
| | | | | | | This makes sure that changing version numbers doesn't leave old compiled output lying around. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: remove optimization for 'help' that confuses cc1111 compilerKeith Packard2012-07-11
| | | | | | The cc1111 compiler gets this very wrong and prints piles of garbage Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Ignore megametrum built filesKeith Packard2012-07-11
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Force 434.550Mhz by connecting debug gnd and clk (trac #41)Keith Packard2012-07-10
| | | | | | | | Check for pin P2_2 low at startup and set the frequency to 434.550MHz. This value won't get written to flash, so rebooting again will restore the configured frequency. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Continuously update ground state while on pad (trac #42)Keith Packard2012-07-10
| | | | | | | | Average data for 5 seconds, wait 5 seconds and if still in pad mode, replace the existing data with the new data. This should avoid averaging in boost data while still keeping things reasonably current. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set HAS_FLIGHT_DEBUG=1 to include the flight debugging commandsKeith Packard2012-07-10
| | | | | | | This leaves USB enabled, and adds the 'F' command to dump internal flight state. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Signal continuity over radio in pad mode (trac #40)Keith Packard2012-07-10
| | | | | | | This is especially useful for telemini which has no beeper, allowing you to hear the continuity signal while at the pad over the air. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add 'void' parameter to ao_fec_decode callback parameterKeith Packard2012-07-10
| | | | | | This keeps the compiler from whinging about the lack of a prototype. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Save some memory.Keith Packard2012-07-10
| | | | | | | A few minor space savings in ao_cmd.c and ao_config.c. Don't build unused conversion functions ao_altitude_to_pres and ao_temp_to_dC Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Improve ao_flight_test a bitKeith Packard2012-07-10
| | | | | | | | Add -i flag to include flight description Have run-tests know how many failures to expect Add run_baro to plot a single flight using the baro-only mode Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: add some (unused) test code for different soft-decision sizesKeith Packard2012-07-10
| | | | | | | This lets us experiment with hard-decision and other possible soft_decision bit depths. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Eliminate compiler warnings when building ao_flight_testKeith Packard2012-07-10
| | | | | | We turn on a pile of warnings for that. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename *_mm.c back to *.cKeith Packard2012-07-10
| | | | | | Was just a temporary hack to keep cc1111 products building during MM development. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: remove stale ao_flight.c and ao_sample.cKeith Packard2012-07-10
| | | | | | The mega-metrum versions are now the official versions Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move profiling settings to MakefileKeith Packard2012-07-03
| | | | | | | Instead of splitting the changes across Makefile and ao_pins.h, put them both in Makefile to simplify enabling profiling. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Crank up the gaussian noise in the FEC testKeith Packard2012-07-03
| | | | | | | | This lets us check to make sure our receive performance isn't degrading at all, instead of just making sure we can receive perfect packets well. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Viterbi performance improvments. Down to 5.7ms for command decodeKeith Packard2012-07-03
| | | | | | | | Stealing more of Phil's good ideas, decoding a command mode packet has been reduced from 9ms to 5.7ms. Lots more comments to help future-me figure out how this code works. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Do not block igniters on the radio mutex.Keith Packard2012-07-02
| | | | | | | | Blocking igniters on the radio mutex fails when doing igniter testing over the RF link; the packet receiver task will never release the mutex and the CPU at the same time, causing the system to lock up. Signed-off-by: Keith Packard <keithp@keithp.com>
* extend cross-compiler availability logic to all target CPUs, not just ARMBdale Garbee2012-07-01
|
* conditionalize build of ARM binaries on presence of arm-none-eabi-gcc in PATHBdale Garbee2012-06-30
|
* altos: Declare cc1111 accel_ref as unsigned so the math works1.0.9.6Keith Packard2012-06-28
| | | | | | | | If accel_ref is signed, then the careful shifting and dividing dance necessary to correct for changes in the relationship between the 5V and 3.3V supplies always generates zero. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable MS5607 interrupt in the handleraltosdroidKeith Packard2012-06-28
| | | | | | | Avoids having the interrupt re-raised multiple times until the reading task finally wakes up. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Track missed HMC5883 interruptsKeith Packard2012-06-27
| | | | | | | When it fails to signal conversion complete to the CPU, keep track of that and report it with the rest of the current data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Increase default STM stack to 648 bytesKeith Packard2012-06-27
| | | | | | | 512 seems cozy given the printf implementation we're using and the extensive interrupts. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: panic if MPU6000 self test failsKeith Packard2012-06-27
| | | | | | Don't try to fly if the board isn't working right. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Disable mag sensor for megametrumKeith Packard2012-06-27
| | | | | | | It doesn't work unless USB is connected or occasionally while the debug port is enabled. It's mystic. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow megametrum to be built without using the mag sensorKeith Packard2012-06-27
| | | | | | | I'm having trouble getting it working reliably, so we'll like disable it for now. This patch makes that possible. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make profiling Viterbi decoder more usefulKeith Packard2012-06-27
| | | | | | | This blocks starting the decoder until all of the data have arrived so that the time spent in the decoder is easily computed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Unroll viterbi state loop for >30% performance boostKeith Packard2012-06-27
| | | | | | 9.3ms vs 14.7ms, a clear win. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up STM I2C clock computationsKeith Packard2012-06-27
| | | | | | Fix both clock time and rise time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up radio CRC handlingKeith Packard2012-06-27
| | | | | | | Make the FEC code just set the CRC_OK bit like the cc1111 radio does; eliminates a bunch of weird conventions across the FEC API. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: get MPU6000 I2C link working reliablyKeith Packard2012-06-27
| | | | | | | | | | This slows the i2c bus to 100kHz (yuck), sets the rise time to spec (it was way off) and adds more delays during bus setup. I've run this for hours now without trouble. Will try to adjust things back to fast mode and see if I can make that work as 100kHz isn't fast enough to reliably get data at 100 samples/sec. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: reorder stm USB state stores to avoid racesKeith Packard2012-06-27
| | | | | | | | | | | | | Must set ao_usb_in_pending before telling USB about new data or an interrupt could arrive at the wrong time to clear it. Same for ao_usb_in_flushed. Without these changes, I've seen the USB bus lock up on occasion, waiting for an IN packet to consume data, but with no IN data pending in the hardware. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: include targe SPI speed in get requestKeith Packard2012-06-27
| | | | | | | STM needs it to be provided when enabling the SPI device, so just fix AVR and cc1111 to do the same. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Wait for i2c START condition before setting interrupt bitsKeith Packard2012-06-27
| | | | | | | | This seems better than the random loop that it replaces, but I still have no idea why this is required; it doesn't coorespond to the docs at all... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: disable FEC debug on MMKeith Packard2012-06-27
| | | | | | | Seems to work; we'll leave the code around in case something bad happens later. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up cc1120 driver a bitKeith Packard2012-06-27
| | | | | | Make some variables static, remove stale debug code Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't try to grab radio while firing MM ignitersKeith Packard2012-06-27
| | | | | | | If you're in idle mode, you stop forever as the packet mode receiver will own the radio mutex forever. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: stm i2c debug code was calling flush() even when disabledKeith Packard2012-06-27
| | | | | | | | | The fancy stm i2c debugging code had calls to flush() that were invoked outside of the conditionals leading to all kinds of fun -- flush() may re-enable interrupts, yield or do all kinds of wacky stuff, none of which is appropriate from the middle of a device driver Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: mpu6000 requires a delay during startKeith Packard2012-06-27
| | | | | | | I have no idea why this is required, but the mpu6000 will not come up and run if this isn't present. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ao_ignite.c is no longer cc1111 specificKeith Packard2012-06-26
| | | | | | Move it to core Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add debugging code to check for stack overflowKeith Packard2012-06-26
| | | | | | | | Stack overflow often happens from interrupt handlers sitting on top of a task stack. Check for this during ao_wakeup as that is often called during interrupt processing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Enable full flight computer functionality in MegaMetrumKeith Packard2012-06-26
| | | | | | This turns on everything that currently works Signed-off-by: Keith Packard <keithp@keithp.com>