altos: Rename 'core' to 'kernel' core remains a bad name to use -- dirvish skips files (and directories, it seems) with that name. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Clean up some minor warnings from -Wall Unused variables, functions and labels, missing enums in switch. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Add pyro operations to regular ignite commands Instead of having separate commands, just mix the two sets together. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Switch drivers to ao_arch_block/release_interrupts 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 needed 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_output 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. 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 igniters 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 specific Move it to core Signed-off-by: Keith Packard <keithp@keithp.com>