summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* altos: Add distinct LED pattern before writing log dataKeith Packard2012-12-18
| | | | | | Otherwise, the whole log looks like a an extra altitude digit. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make micropeak 'serial' interface workKeith Packard2012-12-17
| | | | | | | | | | | I prototyped the mpserial interface on a breadboard and tuned the circuit to register the LED correctly. Then adjusted the serial code to send bits at the right speed and format. The logging contents are now in hexdecimal with a CCITT CRC-16 computed to verify correct reception. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Log baro readings for MicroPeakKeith Packard2012-12-14
| | | | | | | | This logs barometric data every 192ms (more or less) to the 504 remaining bytes of internal EEPROM storage in the ATtiny85. This provides 48.192 seconds of logging. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Log in-flight data for MicroPeakKeith Packard2012-12-12
| | | | | | | | This logs the low 16 bits of the pressure value to the remaining on-chip eeprom. It can be read out with a standard AVR programming dongle. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Add load-slow target for MicroPeakKeith Packard2012-12-12
| | | | | | | This sets the programming clock to 1/4 of the 250kHz clock used by the MicroPeak firmware, allowing the device to be reprogrammed. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Tim Van Milligan suggestion for µP -- delay before showing last flightKeith Packard2012-12-11
| | | | | | This gives the user time to move their finger out of the way of the LED. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Increase MicroPeak blink times a bitKeith Packard2012-12-11
| | | | | | | make the 0 longer (1 sec now), and make the time between digits longer (also 1 sec now) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Use alt_t value to hold displayed height in micropeakmicropeak-build-2012-12-09Keith Packard2012-12-09
| | | | | | | Heights are 32 bits (to get .1 meter resolution) in micropeak; make sure we have enough bits while blinking out the computed value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make sure pa to altitude conversion is done with 32 bitsKeith Packard2012-12-09
| | | | | | | We need 32 bits to hold intermediate values, even if the final altitude is reported in only 16 bits. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Store altitude in 32-bits for MicroPeakKeith Packard2012-12-09
| | | | | | Needs all 32 bits to store .1 meter resolution Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Slow down micropeak report timingKeith Packard2012-11-18
| | | | | | This makes reading the LED a lot easier. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: micropeak LED is orange now, not blueKeith Packard2012-11-18
| | | | | | Change the names around to match Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean everything, even if we don't have compilersKeith Packard2012-11-18
| | | | | | | This ensures that stale bits aren't left if PATH isn't set right when 'make clean' is called. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Make Tm recovery mode set RF cal and callsign tooKeith Packard2012-11-18
| | | | | | | This lets us connect to Tm even if someone messes up the RF calibration or callsign info Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: fix cc1120 radio test - state wasn't made staticKeith Packard2012-11-18
| | | | | | so whether the radio got turned on was random. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build megadongle when possible1.1.9.2Keith Packard2012-11-01
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/megadongle: Add megadongle productKeith Packard2012-11-01
| | | | | | Looks a lot like teledongle from a feature perspective. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove legacy telemetry from ao_monitor when not neededKeith Packard2012-11-01
| | | | | | | For products not supporting LEGACY_MONITOR, remove the (undefined) structs from the ao_monitor union. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Remove 'volatile' from ao_rssi.c globalsKeith Packard2012-11-01
| | | | | | No need for this, the variables aren't changed at interrupt time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/stm: Support LEDs on multiple portsKeith Packard2012-11-01
| | | | | | | Split out the bits in a fairly simplistic fashion so that we support no more than 16 LEDs still. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/attiny: Remove debugging code which frobs PB1Keith Packard2012-10-30
| | | | | | This was clearly stuck there to debug something; not a good idea... Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak: Run MS5607 at max resolution for micropeakKeith Packard2012-10-30
| | | | | | We've got lots of time, so get the highest resolution baro data available. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak: Clock micropeak at 250kHz to save powerKeith Packard2012-10-30
| | | | | | | | | | This reduces average current consumption from 2mA to .4mA. This makes the battery last longer, but also gets the current under something that the typical CR1025 battery can support. Would be nice to reduce current even further; cheap CR1025 batteries still seem to fade a bit at this current level. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/attiny: Don't initialize the CS pin in the general SPI setupKeith Packard2012-10-30
| | | | | | | Let the CS pin be configured by the driver, which can set the correct value before enabling the output. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak: Set boost detect to 10m. Add 30s boost delay.Keith Packard2012-10-29
| | | | | | | | | | | Wait for 30 seconds before even starting look for boost. This provides an opportunity to close up the airframe, potentially causing pressure gradients seen by the baro sensor. Also, require a 10m vertical motion before triggering boost. This should limit accidental boost detect while capturing any actual flights. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Build micropeak when avr-gcc is availableKeith Packard2012-10-29
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/micropeak: Switch to MS5607 sensor. Require 4m for boost. Elide dead codeKeith Packard2012-10-29
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/attiny: Update to new interrupt macrosKeith Packard2012-10-29
| | | | | | Add ao_arch_block/release_interrupts macros to attiny architecture Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Provide ao_task_alarm_tick to reduce per-tick costKeith Packard2012-10-26
| | | | | | | Cache the next wakeup time and check that before jumping to the task code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Leave interrupts disabled while checking for task to runKeith Packard2012-10-26
| | | | | | | Otherwise, we run the risk of an interrupt waking a task after we've decided to idle the CPU. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up stm arch macros a bit.Keith Packard2012-10-25
| | | | | | | Turn a bunch of the macros into inline functions. Clean up the reboot method to use the stm_scb structure. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Clean up cc1111 architecture macros a bit, removing cli/seiKeith Packard2012-10-25
| | | | | | Just reformatting changes, aside from the removal of cli/sei Signed-off-by: Keith Packard <keithp@keithp.com>
* 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
|\