summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Move pdclib build results to pdclib-rootKeith Packard2013-12-18
| | | | | | This makes pdclib easier to manage as a submodule Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: get stm-bringup building againKeith Packard2013-12-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Remove stale stm test apps from regular buildKeith Packard2013-12-18
|
* altos/stm: Update pdclib paths for flash-loader buildsKeith Packard2013-12-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: create target pdclib directories before buildingKeith Packard2013-12-18
|
* altos: Build pdclib locally if necessaryKeith Packard2013-12-18
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lpc: Be a bit more resistant to toolchain section name changesKeith Packard2013-12-18
| | | | | | | Just add some wild cards on the ends of each section name in case the toolchain changes names in the future. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make TeleMega v0.1 work more like TeleMega v1.0Keith Packard2013-12-18
| | | | | | | | | | | I've still got one working v0.1 board which is useful for testing stuff, so make it work more like the released TeleMega: * Use E for drogue, F for main * Use on-chip eeprom for config * Fix ADC report printf to match Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use all 16 bits of setup packet len when limiting reply lenKeith Packard2013-12-17
| | | | | | | | | We were only using the low 8 bits of the setup packet reply max len, which meant that if the other side sent a weird max len (as Windows 7 does), then we'd truncate our setup reply to whatever was in the low 8 bits of that value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Broke TeleMetrum GPS reporting by holding the GPS mutex too muchKeith Packard2013-12-17
| | | | | | | We can't hold the GPS mutex while waiting for the GPS receiver to load data as it protects the GPS data with the GPS mutex. Signed-off-by: Keith Packard <keithp@keithp.com>
* 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>