summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * 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>
| * altos: Move micropeak sources aroundKeith Packard2013-09-15
| | | | | | | | | | | | | | | | This sticks the micropeak sources in appropriate directories, rather than in the micropeak product directory so that they can be shared with future micropeak-style products. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Set tick value in new TeleMetrum v2 sensor packetsKeith Packard2013-09-05
| | | | | | | | | | | | Was getting left with the old value, which wasn't very useful Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos: Not all products have pins to control flash loaderKeith Packard2013-09-02
| | | | | | | | | | | | TeleGPS has no exposed pins for this function Signed-off-by: Keith Packard <keithp@keithp.com>
| * altoslib/altosui: Further AltosState transition workKeith Packard2013-08-31
| | | | | | | | | | | | | | Parses most eeprom and telem records now; altosui updated to show from AltosState info. Signed-off-by: Keith Packard <keithp@keithp.com>
| * altos/telegps: Initialize logging systemKeith Packard2013-08-31
| | | | | | | | | | | | Otherwise, very little logging works Signed-off-by: Keith Packard <keithp@keithp.com>
| * Merge branch 'master' into new-stateKeith Packard2013-08-31
| |\
| | * altos/lpc: Add bits for building flash loadersKeith Packard2013-08-31
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos: Split EasyMini and TeleMini log formatsKeith Packard2013-08-29
| |/ | | | | | | | | | | | | Same data, but EasyMini uses a 3.0V supply while TeleMini uses 3.3V, which changes the intepretation of all of the ADC values Signed-off-by: Keith Packard <keithp@keithp.com>
| * Merge remote-tracking branch 'origin/telemini'Keith Packard2013-08-28
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com> Conflicts: src/core/ao_telemetry.c src/core/ao_telemetry.h Added both Mini and Metrum telemetry defines
| | * altos: Don't use ao_data on cc1111 projectsteleminiKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | | | | | | | cc1111 ao_adc.c supplies the needed globals at this point, and linking both into the program leads to two different versions of each at different addresses (yay SDCC linker!) Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Make ao_wakeup reentrantKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | In case we end up invoking it from two places at once. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Check for MS5607 MISO low before sleepingKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | | | | If the MISO line goes low before we manage to configure the interrupts, we'll miss it entirely unless we check the pin explicitly. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/telemini-v2.0: Add ao_exti.h depend. Init beeper and usb.Keith Packard2013-08-26
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Use %ld and %lu for MS5607 debug outputKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | The value are 'long', so use the right printf format. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/cc1111: Wake up non-ADC sensor code each timer tickKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | Make sure the MS5607 code gets told to sample every tick Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos/cc1111: Leave pin interrupts completely disabled at init timeKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | | | | Don't even turn in the PICTL bits as that seems to cause the chip to be unhappy. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Get telemini to copy current MS5607 state to ring.Keith Packard2013-08-26
| | | | | | | | | | | | | | | | | | | | | The ADC code is responsible for actually inserting the non-ADC data into the ring, so do the copy there. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * cc1111: Hacky pin interrupt support. Only useful for TeleMini v2Keith Packard2013-08-26
| | | | | | | | | | | | | | | | | | This code is designed to support the MS5607 MISO interrupt bits. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * cc1111: Rework ADC configuration a bit, fix Tm V2 ADC usageKeith Packard2013-08-26
| | | | | | | | | | | | | | | | | | | | | The Tm v2 ADC code was not actually fetching and storing the ADC conversion values. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Build more products by defaultKeith Packard2013-08-25
| | | | | | | | | | | | | | | | | | We keep creating more hardware... Signed-off-by: Keith Packard <keithp@keithp.com>
| | * altos: Changes required by cc1111 multi-spi supportKeith Packard2013-08-25
| | | | | | | | | | | | | | | | | | These drivers got missed Signed-off-by: Keith Packard <keithp@keithp.com>