altos/stm32f042: Increase interrupt stack to 256 bytes Running the radio on TeleMini in monitor idle mode ended up overflowing the interrupt stack of 128 bytes. Increase to 256 bytes and adjust task stack sizes so targets continue to build. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Switch all tick variables to AO_TICK_TYPE/AO_TICK_SIGNED Instead of trying to pick and choose which work as 16-bit values, change everything that doesn't affect external values (log, companion, radio) to AO_TICK_TYPE. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Remove support for !HAS_TASK_QUEUE This uses a bit more memory, but the amount can be controlled by setting the size of the sleep hash table, which makes this fit on even the smaller devices like the early EasyMini boards. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Use new ao_spi_speed inline to set SPI speeds using spec'd frequencies Instead of hand-adjusting SPI speeds for each driver and product based on processor supported rates, create an inline function that takes the maximum frequency supported by the device and maps that to a value supported by the SoC. This ensures that we don't accidentally drive devices faster than they want (as could happen with AO_SPI_SPEED_FAST), but do go as fast as possible in every configuration. Using an inline function means the value is computed at compile time. Signed-off-by: Keith Packard <keithp@keithp.com>
altos: Add generic LED driver. This driver uses the generic GPIO functions and allows per-LED port and pin configuration. It supports up to 32 LEDs. Rename SoC-specific LED drivers. Remove enabled parameter to ao_led_init Signed-off-by: Keith Packard <keithp@keithp.com>