summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos: Remove ARM .ihx files on 'make clean'Keith Packard2013-12-10
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename telemega-v0.3 to telemega-v1.0Keith Packard2013-12-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Oops. Was only filling out part of the TeleMetrum ADC recordKeith Packard2013-12-08
| | | | | | | | Because it's missing a return, we'd end up filling out one element of the ADC record per interrupt, and rotating through which one was set, hitting all of the even offsets within the struct. Yikes! Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: arm-none-eabi-binutils now puts 'main' into .text.startupKeith Packard2013-12-08
| | | | | | | | Change name of .text.ram to .ramtext, then load .text* into flash and .ramtext into ram. This ensures that 'main' and anything else in a random .text.* segment will get loaded into flash as appropriate. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: remove all versions of stm-demo executableKeith Packard2013-12-08
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Change flash loader name to just AltosFlashKeith Packard2013-12-08
| | | | | | Remove the software version string from the product name Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build .ihx files for all arm projectsKeith Packard2013-12-08
| | | | | | The .ihx version can be processed by the java loader Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow products to override default 100mA USB currentKeith Packard2013-12-08
| | | | | | This will allow products to specify their own current limit. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Nothing in altos uses AES decryption, so don't compile itKeith Packard2013-12-07
| | | | | | Saves a bit of space where AES is used, and avoids some compiler warnings. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Compute and plot tilt based on GPS trackKeith Packard2013-12-07
| | | | | | | This lets us compare the gyro-computed tilt angle against the actual flight path. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Telemega uses eeprom, include it in main fileKeith Packard2013-12-07
| | | | | | ao_telemega.c didn't include ao_eeprom.h leaving a function undefined Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add lots more GPS data to mega logKeith Packard2013-12-07
| | | | | | | There's plenty of space in the GPS log packets to hold course, speed, climb and DOP values, so just stick them in. Signed-off-by: Keith Packard <keithp@keithp.com>
* src/cc1111: Turn off RC osc after xtal is runningKeith Packard2013-12-07
| | | | | | | There's no reason to keep running the RC oscillator after we switch to the crystal, so turn it off. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: include ao_eeprom.h in ao_telemetrum.c to define ao_eeprom_initKeith Packard2013-11-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure flight erase log comes after config blogKeith Packard2013-11-12
| | | | | | | Oops. When converting from ao_storage to ao_config, I accidentally had the flight erase log overwriting the config block. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move telemega to using internal eeprom for configKeith Packard2013-11-12
| | | | | | And crank up the default per-flight storage to 1MB Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Move TeleMetrum v2.0 to using internal eeprom for configKeith Packard2013-11-12
| | | | | | This leaves the whole 8MB of flash for flight storage Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow use of internal EEPROM for config storageKeith Packard2013-11-12
| | | | | | | | | | | This stops exposing eeprom as 'storage' and instead exposes it with a separate eeprom API so that it can be used for config storage without also using it for flight log storage. The config code has been changed to allow it to either use storage for configuration data or eeprom. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't hold GPS mutex while waiting in TM v2.0 reportKeith Packard2013-11-12
| | | | | | | Holding the GPS mutex while waiting for the GPS code to dump data into the GPS variables is rather counter-productive. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build TM v2.0 firmware by defaultKeith Packard2013-11-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up .gitignore and add a few random filesKeith Packard2013-11-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Add ublox checksum generating programKeith Packard2013-11-12
|
* altos: Add orientation tracking to ao_flight_testKeith Packard2013-11-12
| | | | | | Shows calculated offset from vertical in ao_flight_test output Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't hold GPS mutex while waiting for GPS data in report codeKeith Packard2013-10-28
| | | | | | Oops. This kinda breaks anyone else waiting for GPS data Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: sample profile address range was too narrowKeith Packard2013-10-28
| | | | | | | | The range was cranked down at some point to diagnose issues within the task scheduler. Unfortunately, that change got merged, which meant that general profiling lost information outside of the lower 4kB of code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telemega v0.3 compile with new quaternion codeKeith Packard2013-10-27
| | | | | | Adds lots more math code Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make telemega v0.1 compile with new quaternion codeKeith Packard2013-10-27
| | | | | | Adds the necessary math code Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add orientation test when HAS_FLIGHT_DEBUG is setKeith Packard2013-10-27
| | | | | | | This just dumps the current orientation to stdout so you can monitor it in real time Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Update quaternion tests to check vectors_to_rotationKeith Packard2013-10-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Change ao_mpu6000_gyro arg to floatKeith Packard2013-10-27
| | | | | | This lets callers pass more precision than just the original sensor value Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fixup for 32-bit gyro averagesKeith Packard2013-10-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Correct incremental rotation computationKeith Packard2013-10-27
| | | | | | | | | | | Trying to compute the combined rotation by taking the x/y/z rotations as a vector is a good approximation, but not accurate enough for our application given the large angles we sometimes see. Instead, use a correct-but-expensive function with a pile of transcendental function calls. The STM32L seems to be fast enough at least... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Compute initial rotation from verticalKeith Packard2013-10-27
| | | | | | | | | This initializes the rotation with the angle from vertical, rather than simply recording the off-angle vector. Doing this allows us to accurately track the true orientation of the rocket, instead of just the offset from the initial non-vertical orientation. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fixup for ao_sample_orient renameKeith Packard2013-10-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add sinf to math codeKeith Packard2013-10-27
| | | | | | Needed for the quaternion gyro tracking code Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Keep 9 more bits of average pad IMU gyro dataKeith Packard2013-10-27
| | | | | | This reduces the offset error by a bit, minimizing gyro drift. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename ao_orient to ao_sample_orientKeith Packard2013-10-27
| | | | | | Keeps it clear where this name comes from. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add functions to init quaternions from vector pairs and euler anglesKeith Packard2013-10-27
| | | | | | | | Our low sampling rate means that the "cheap" hack for integrating quaternion rotations by using sin(x) ≃ x doesn't work, so instead we have to compute the partial rotation the hard way. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add some comments describing quaternion multiplicationKeith Packard2013-10-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Mark arguments to quaternion functions as constKeith Packard2013-10-27
| | | | | | Lets us pass constants without the compile whinging Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: IMU accel calibration values need to be signedKeith Packard2013-10-27
| | | | | | The MPU6000 reports signed values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Calibrate IMU accelerometers tooKeith Packard2013-10-25
| | | | | | | | Average the IMU accelerometer values pointing up and down so that we have a zero-g offset for all three axes. This can then be used to compute which direction the rocket is pointing while sitting on the pad. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add gyro-based orientation trackingKeith Packard2013-10-25
| | | | | | | This tracks the angle-from-vertical as an additional input to the pyro channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix GPS test frameworks to handle shared ao_gps_new variableKeith Packard2013-10-25
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add floating point math functions from newlibKeith Packard2013-10-25
| | | | | | These are all BSD licensed, so we can simply include them directly Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Merge GPS logging into a single functionKeith Packard2013-10-14
| | | | | | | | | | | | Create a new global, ao_gps_new, which indicates new GPS position and satellite data. Use ao_gps_new as the new sleep/wakeup address. Merge the separate gps position/satellite logging tasks into a single function which waits for new data and writes out the changed values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use #define values for ublox packet typesKeith Packard2013-10-14
| | | | | | One case was using hex values instead of the #define equivalents. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak: Increase boost detect to 30mKeith Packard2013-10-13
| | | | | | | | | | | | | This meant increasing the data buffering as well so that we could reliably capture the flight data back to the ground, even for slow flights. And, with the buffer extra large, we work backwards from the current buffer location to find the last ground location rather than working forwards from the first buffered location. This ensures that we don't capture noise before boost and instead capture a nice flight curve instead. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Fix stm-bringup demo build to use installed pdclibKeith Packard2013-10-10
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use installed pdclibKeith Packard2013-10-10
| | | | | | Switch over to the installed pdclib everywhere Signed-off-by: Keith Packard <keithp@keithp.com>