summaryrefslogtreecommitdiff
path: root/src/core/ao_ignite.c
Commit message (Collapse)AuthorAge
* 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: 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>
* src: Add explicit 'pin' argument to ao_enable_outputKeith Packard2012-07-14
| | | | | | | This lets the cc1111 use the atomic bit operation instead of a mask, which is immune to interrupt issues as well as being a shorter code sequence. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Do not block igniters on the radio mutex.Keith Packard2012-07-02
| | | | | | | | Blocking igniters on the radio mutex fails when doing igniter testing over the RF link; the packet receiver task will never release the mutex and the CPU at the same time, causing the system to lock up. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: Don't try to grab radio while firing MM ignitersKeith Packard2012-06-27
| | | | | | | If you're in idle mode, you stop forever as the packet mode receiver will own the radio mutex forever. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos: ao_ignite.c is no longer cc1111 specificKeith Packard2012-06-26
Move it to core Signed-off-by: Keith Packard <keithp@keithp.com>