summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* 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>
* altos: Messed up the ifeq syntax a bit so ARM bits weren't getting builtKeith Packard2013-10-09
| | | | | | $(x) is not the same as ($x) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: avr-gcc appears to find the loader scripts without help nowKeith Packard2013-10-08
| | | | | | | | At some point, avr-gcc lost its ability to find the loader scripts necessary to link programs. That appears to be fixed now, at least on my machine. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Broken test for M0 compiler in src/MakefileKeith Packard2013-10-08
| | | | | | Was causing it to try to compiler M0 progs only when *no* compiler was found. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add --with parameters to configure for compiler selectionnew-stateKeith Packard2013-10-08
| | | | | | | | This allows the user to specify which compiler to use for each target CPU. Also checks to make sure the arm compiler supports -m0 and -m3 cpu type flags. The build now actually uses the specified compilers too. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: New GAS version requires flags in APSR assignmentKeith Packard2013-10-08
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Rename easymini-v0.1 to easymini-v1.0Keith Packard2013-10-07
| | | | | | The production boards are the same as the modified v0.1 boards Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc, altos/stm: ARM requires ISB after switching stack pointersKeith Packard2013-10-07
| | | | | | | This sticks a barrier in the CPU to prevent using the wrong stack register past the change. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't require an LED for ao_flightKeith Packard2013-10-07
| | | | | | EasyMini has no LEDs. Deal with it. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Set TeleMini v2.0 USB ID correctlyKeith Packard2013-09-19
| | | | | | Uses 0x0027 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telemetrum-v2.0: Use red LED during boot timeKeith Packard2013-09-15
| | | | | | | If the LED is stuck on, then the board has failed to initialize, so use red instead of green as a warning indicator. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/telemini-v2.0: Change initialization orderKeith Packard2013-09-15
| | | | | | Make sure busses are running before devices are initialized Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Stop copying cc1111 binaries to the altos/src dirKeith Packard2013-09-15
| | | | | | Just clutters up that directory. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add nanopeak-v0.1Keith Packard2013-09-15
| | | | | | The same as micropeak, just a few different pins Signed-off-by: Keith Packard <keithp@keithp.com>