summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* altos: Wrap ao_container_of value in parensKeith Packard2012-10-25
| | | | | | | Keeps the cast from being separated from the value when used in expressions. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Switch drivers to ao_arch_block/release_interruptsKeith Packard2012-10-25
| | | | | | Stop using cli/sei, which are avr-specific Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/megametrum: Depend on Makefile contents for buildKeith Packard2012-10-25
| | | | | | This ensures that everything is rebuilt when the Makefile changes Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add task queues.Keith Packard2012-10-25
| | | | | | | | | This replaces the array-based scheduler with a queue-based one instead. It should have the same basic scheduling semantics, but it walks shorter lists for each operation, making it much more efficient when the system has a lot of tasks. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add stack-guard code. Uses STM MPU to trap stack overflow.Keith Packard2012-10-25
| | | | | | | | This marks the lowest portion of the stack as inaccessible to the CPU, causing the processor to fault when it reaches it. The fault then generates a panic message so that the user can know what happened. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Replace __critical usage with ao_arch_critical as neededKeith Packard2012-10-25
| | | | | | | | | | | | | sdcc offers __critical as a machine-independent way to block interrupts, but as gcc doesn't, we need to use a compiler-independent construct instead. ao_arch_critical has been around since the AVR port, but some old __critical usages remained. This fixes a bunch of random hangs when communicating with MM over USB or the radio as the various stdio loops were running without interrupts blocked between the test and the sleep. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: profiling on STM32LKeith Packard2012-10-25
| | | | | | Add sample-based profiling, using a 1kHz timer Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add ao_arch_block/release_interrupts to avr and cc1111Keith Packard2012-10-25
| | | | | | Stop using cli/sei for AVR, add replacement to __critical for cc1111 Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Force beep timer regs reload when enabling beeperKeith Packard2012-10-25
| | | | | | | Without this, there can be a long delay between asking for the beeper and having it actually start sounding. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: When slave mode first starts, accept any packetKeith Packard2012-10-25
| | | | | | | | This eliminates the packet sequence matching for the first packet, allowing outstanding send data to arrive from the master instead of ignoring packets with data until they match the seqno Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: make check-avr-mem utility executableKeith Packard2012-10-22
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Allow pyro flight state config to be setKeith Packard2012-10-22
| | | | | | Without these lines, flight state compares can't be shown or set. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Let AVR products override the stack size. Set telepyro to 104Keith Packard2012-10-22
| | | | | | Otherwise, telepyro doesn't have enough ram... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add state comparisons to pyro channel conditionsKeith Packard2012-10-22
| | | | | | | | Let pyro channels block waiting for flight state changes. This allows for pyro channels to be synchronized with the main iginiter channels. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Use MMA655X in ao_flight_test_mm. Add run-mm to plot mm dataKeith Packard2012-10-21
| | | | | | | | | Pull MMA655X data out of eeprom file when available. Switch build to using MMA655x by default. Clone run-one to plot a single mm flight Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Document mega log packet typesKeith Packard2012-10-21
| | | | | | | Just add comments to ao_log.h so it's easy to remember which labels go with each record. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Stop spewing clock out PA8 pinKeith Packard2012-10-21
| | | | | | | This was used to debug the clock bringup, but is not useful anymore, and probably a bad idea to boot. Signed-off-by: Keith Packard <keithp@keithp.com>
* Merge branch 'master' into pwmin-new1.1.9.1pwmin-newKeith Packard2012-10-18
|\
| * altos/megametrum: Switch back to using the MS5607Keith Packard2012-10-18
| | | | | | | | | | | | We're planning to ship the MS5607 Signed-off-by: Keith Packard <keithp@keithp.com>
| * Merge branch 'master' into mm-ms5611Keith Packard2012-10-18
| |\ | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos: Fix up ms5607 and mma655x commands to work againKeith Packard2012-10-08
| | | | | | | | | | | | | | | | | | These just display the most recently fetched values Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos: Go back to recording sensor data in globalsmm-ms5611Keith Packard2012-10-08
| | | | | | | | | | | | | | | | | | | | | | | | Instead of trying to get things into the ring from a variety of functions, go back to the simpler method of storing them in globals and having the ADC code just pluck out the most recent values. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos/megametrum: Try running accel and baro in parallel againKeith Packard2012-10-07
| | | | | | | | | | | | | | | | | | | | | Now that the baro sensor appears to be working, try running conversions in parallel to see if that makes the accel cal happy Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos/stm: Set SPI clock high for disabled SPI bussesKeith Packard2012-10-06
| | | | | | | | | | | | | | | | | | | | | This should avoid an accidental low->high transition when switching between multiple SPI busses. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos/stm: Clean up SPI pin configuration codeKeith Packard2012-10-06
| | | | | | | | | | | | | | | | | | | | | Make sure none of the pin configurations are being used at startup time. Split out the pin configuration into separate functions. Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos/drivers: Use data ring values for MS5607 presentationKeith Packard2012-10-06
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos/megametrum: Make MS5607 driver hold SPI bus for whole operationKeith Packard2012-10-06
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | altos/megametrum: Use mma655x for acceleration measurements nowKeith Packard2012-10-06
| | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
| * | Merge branch 'master' into mm-ms5611Keith Packard2012-10-03
| |\ \
| * | | altos/megametrum: Commit for boards with MS5611 baro sensorKeith Packard2012-10-03
| | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | altos: Build telescience-pwm product when possibleKeith Packard2012-10-16
| | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | altos: Add telescience-pwm productKeith Packard2012-10-16
| | | | | | | | | | | | | | | | | | | | | | | | Split out special PWM-sampling telescience product Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | altos: Only enable PWM on telescience_pwm productKeith Packard2012-10-16
| | | | | | | | | | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | | | telescience: correctly calculating rate values with higher resolutionRobert Garbee2012-10-16
| | | |
* | | | ICP3 workingRobert Garbee2012-10-16
| | | |
* | | | Timer 3 working with slower clock and all 16 bits.Robert Garbee2012-10-16
| | | |
* | | | first work on PWM input to TeleScience, 'p' command displays timer 1Robert Garbee2012-10-16
| | | |
* | | | telescience: steal last adc channel for icp3 most recent valueRobert Garbee2012-10-16
| |_|/ |/| | | | | | | | | | | | | | Make the ICP3 rpm counter use in ao_adc_avr.c optional Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/avr: Use ISR_BLOCK to disable interrupts during slave ISRKeith Packard2012-10-16
| | | | | | | | | | | | | | | | | | This avoids enabling and then immediatly disabling them Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: Make the RSSI led turn red when no packet is receivedKeith Packard2012-10-15
| | | | | | | | | | | | | | | | | | | | | This involved splitting out the notion of ever having received an answer and having received an answer from the last query. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: 10ms is not enough time to get a packet backKeith Packard2012-10-15
| | | | | | | | | | | | | | | | | | Not reliable, so bump to 20ms Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: Only display every 10th box number during scanKeith Packard2012-10-15
| | | | | | | | | | | | | | | | | | This reduces the scan time to about 4 seconds, which seems tolerable Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: Crank up SPI speed to cc1111Keith Packard2012-10-15
| | | | | | | | | | | | | | | | | | | | | | | | The cc1111 can handle up to 3MHz, so use 2MHz. Also, crank down the packet wait time to 10ms, which should be plenty long for the remote box to receive and return a packet. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/stm: Declare all SPI bus speedsKeith Packard2012-10-15
| | | | | | | | | | | | | | | | | | Just list them all so users can pick what they like Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: Actually set pad when it changesKeith Packard2012-10-14
| | | | | | | | | | | | | | | | | | Oops. Lost the actual assignment to the current pad Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: Handle case where no boxes are presentKeith Packard2012-10-14
| | | | | | | | | | | | | | | | | | Don't infinite loop looking for something which isn't there Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telelco: Only present valid padsKeith Packard2012-10-14
| | | | | | | | | | | | | | | | | | Limit pad display to valid pads, skipping missing ones. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/telefire: Report valid channels instead of valid pinsKeith Packard2012-10-14
| | | | | | | | | | | | | | | | | | | | | Now that pins don't match channels 1:1, make sure that the report back to the LCO names the channels instead of the pin numbers. Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos/test: Display MPU6000 values in ao_flight_test_mm outputKeith Packard2012-10-13
| | | | | | | | | | | | | | | | | | No computation yet, just making the values visible in the output Signed-off-by: Keith Packard <keithp@keithp.com>
* | | altos: Define full-scale gyro and accel values for MPU6000Keith Packard2012-10-13
| | | | | | | | | | | | | | | | | | This lets other code convert MPU6000 readings into canonical units Signed-off-by: Keith Packard <keithp@keithp.com>