When using task queues, the sleep queues must be initialized before
any invocation of ao_wakeup or the OS will crash. Just make sure
ao_task_init is always invoked early in the task process to get that done.
Signed-off-by: Keith Packard <keithp@keithp.com>
21 files changed:
{
ao_clock_init();
+ ao_task_init();
+
ao_serial_init();
ao_led_init(LEDS_AVAILABLE);
/* Turn on the LED until the system is stable */
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_RED);
+
+ ao_task_init();
+
ao_timer_init();
#if HAS_BEEP
ao_beep_init();
/* Turn on the LED until the system is stable */
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_RED);
+ ao_task_init();
+
ao_timer_init();
ao_cmd_init();
ao_usb_init();
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_RED);
+ ao_task_init();
+
ao_timer_init();
ao_adc_init();
ao_beep_init();
while (P1_3 == 0)
;
}
+ ao_task_init();
+
ao_timer_init();
ao_adc_init();
ao_beep_init();
;
}
+ ao_task_init();
+
ao_timer_init();
ao_adc_init();
ao_cmd_init();
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_RED);
+ ao_task_init();
+
ao_timer_init();
ao_adc_init();
ao_cmd_init();
PORTE |= (1 << 6);
DDRE |= (1 << 6);
+ ao_task_init();
+
ao_avr_stdio_init();
ao_timer_init();
ao_cmd_init();
PORTE |= (1 << 6);
DDRE |= (1 << 6);
+ ao_task_init();
+
ao_avr_stdio_init();
ao_timer_init();
ao_cmd_init();
/* Turn on the red LED until the system is stable */
ao_led_init(AO_LED_RED|AO_LED_GREEN);
ao_led_on(AO_LED_RED);
+ ao_task_init();
+
ao_timer_init();
ao_beep_init();
ao_cmd_init();
{
ao_clock_init();
+ ao_task_init();
+
ao_timer_init();
ao_beep_init();
ao_cmd_init();
{
ao_clock_init();
+ ao_task_init();
+
// ao_add_task(&blink_0_task, blink_0);
// ao_add_task(&blink_1_task, blink_1);
// ao_add_task(&wakeup_task, wakeup);
/* Turn on the LED until the system is stable */
ao_led_init(AO_LED_RED);
ao_led_on(AO_LED_RED);
+
+ ao_task_init();
+
ao_timer_init();
ao_cmd_init();
ao_usb_init();
ao_led_init(LEDS_AVAILABLE);
+ ao_task_init();
+
ao_serial_init();
ao_timer_init();
ao_cmd_init();
{
ao_clock_init();
+ ao_task_init();
+
ao_serial_init();
ao_timer_init();
ao_dma_init();
main(void)
{
ao_clock_init();
+
+ ao_task_init();
+
ao_timer_init();
// ao_dma_init();
ao_cmd_init();
while (P1_3 == 0)
;
}
+ ao_task_init();
+
ao_timer_init();
ao_adc_init();
ao_beep_init();
ao_led_init(LEDS_AVAILABLE);
+ ao_task_init();
+
ao_timer_init();
ao_adc_init();
ao_beep_init();
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_GREEN);
+ ao_task_init();
+
ao_timer_init();
ao_spi_init();
ao_mpu_init();
#endif
- ao_task_init();
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_GREEN);
+
+ ao_task_init();
+
ao_timer_init();
ao_spi_init();
/* Turn on the LED until the system is stable */
ao_led_init(LEDS_AVAILABLE);
ao_led_on(AO_LED_RED);
+ ao_task_init();
ao_timer_init();
ao_cmd_init();
ao_spi_init();