diff options
| author | Keith Packard <keithp@keithp.com> | 2013-03-24 15:14:12 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-03-24 15:14:12 -0700 |
| commit | 03854360029591dd7f2607db21b9e863880d949b (patch) | |
| tree | ad40f58da564978ea4ae3532d0af2de21bf34ca3 /src | |
| parent | 2a66aab0b0efb63bf3619ec03abb357823e9cdde (diff) | |
altos: Call ao_task_init before initializing any drivers
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>
Diffstat (limited to 'src')
| -rw-r--r-- | src/avr-demo/ao_demo.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telebt.c | 3 | ||||
| -rw-r--r-- | src/product/ao_teledongle.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telelaunch.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telemetrum.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telemini.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telenano.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telepyro.c | 2 | ||||
| -rw-r--r-- | src/product/ao_telescience.c | 2 | ||||
| -rw-r--r-- | src/product/ao_teleterra.c | 2 | ||||
| -rw-r--r-- | src/product/ao_teleterra_0_2.c | 2 | ||||
| -rw-r--r-- | src/product/ao_test.c | 2 | ||||
| -rw-r--r-- | src/product/ao_tidongle.c | 3 | ||||
| -rw-r--r-- | src/spiradio-v0.1/ao_spiradio.c | 2 | ||||
| -rw-r--r-- | src/stm-demo/ao_demo.c | 2 | ||||
| -rw-r--r-- | src/stm-flash/ao_stm_flash.c | 3 | ||||
| -rw-r--r-- | src/teleballoon-v1.1/ao_teleballoon.c | 2 | ||||
| -rw-r--r-- | src/telefire-v0.1/ao_telefire.c | 2 | ||||
| -rw-r--r-- | src/telelco-v0.1/ao_telelco.c | 2 | ||||
| -rw-r--r-- | src/telescience-v0.2/ao_telescience.c | 4 | ||||
| -rw-r--r-- | src/teleshield-v0.1/ao_teleshield.c | 1 |
21 files changed, 45 insertions, 1 deletions
diff --git a/src/avr-demo/ao_demo.c b/src/avr-demo/ao_demo.c index 756dd0d4..e35babb3 100644 --- a/src/avr-demo/ao_demo.c +++ b/src/avr-demo/ao_demo.c @@ -34,6 +34,8 @@ main(void) { ao_clock_init(); + ao_task_init(); + ao_serial_init(); ao_led_init(LEDS_AVAILABLE); diff --git a/src/product/ao_telebt.c b/src/product/ao_telebt.c index 46c63418..b147eabc 100644 --- a/src/product/ao_telebt.c +++ b/src/product/ao_telebt.c @@ -29,6 +29,9 @@ main(void) /* 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(); diff --git a/src/product/ao_teledongle.c b/src/product/ao_teledongle.c index 25ebe73e..8bfd8b84 100644 --- a/src/product/ao_teledongle.c +++ b/src/product/ao_teledongle.c @@ -26,6 +26,8 @@ main(void) /* 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(); diff --git a/src/product/ao_telelaunch.c b/src/product/ao_telelaunch.c index b6e4bfc1..dde66090 100644 --- a/src/product/ao_telelaunch.c +++ b/src/product/ao_telelaunch.c @@ -27,6 +27,8 @@ main(void) ao_led_init(LEDS_AVAILABLE); ao_led_on(AO_LED_RED); + ao_task_init(); + ao_timer_init(); ao_adc_init(); ao_beep_init(); diff --git a/src/product/ao_telemetrum.c b/src/product/ao_telemetrum.c index ea77f5af..221498d6 100644 --- a/src/product/ao_telemetrum.c +++ b/src/product/ao_telemetrum.c @@ -42,6 +42,8 @@ main(void) while (P1_3 == 0) ; } + ao_task_init(); + ao_timer_init(); ao_adc_init(); ao_beep_init(); diff --git a/src/product/ao_telemini.c b/src/product/ao_telemini.c index 21551ee9..a0d8e18a 100644 --- a/src/product/ao_telemini.c +++ b/src/product/ao_telemini.c @@ -46,6 +46,8 @@ main(void) ; } + ao_task_init(); + ao_timer_init(); ao_adc_init(); ao_cmd_init(); diff --git a/src/product/ao_telenano.c b/src/product/ao_telenano.c index d91983d0..77750efd 100644 --- a/src/product/ao_telenano.c +++ b/src/product/ao_telenano.c @@ -28,6 +28,8 @@ main(void) ao_led_init(LEDS_AVAILABLE); ao_led_on(AO_LED_RED); + ao_task_init(); + ao_timer_init(); ao_adc_init(); ao_cmd_init(); diff --git a/src/product/ao_telepyro.c b/src/product/ao_telepyro.c index 79454fb7..6f09be64 100644 --- a/src/product/ao_telepyro.c +++ b/src/product/ao_telepyro.c @@ -25,6 +25,8 @@ main(void) PORTE |= (1 << 6); DDRE |= (1 << 6); + ao_task_init(); + ao_avr_stdio_init(); ao_timer_init(); ao_cmd_init(); diff --git a/src/product/ao_telescience.c b/src/product/ao_telescience.c index d448d318..2888c266 100644 --- a/src/product/ao_telescience.c +++ b/src/product/ao_telescience.c @@ -28,6 +28,8 @@ main(void) PORTE |= (1 << 6); DDRE |= (1 << 6); + ao_task_init(); + ao_avr_stdio_init(); ao_timer_init(); ao_cmd_init(); diff --git a/src/product/ao_teleterra.c b/src/product/ao_teleterra.c index d696b914..e739ae0b 100644 --- a/src/product/ao_teleterra.c +++ b/src/product/ao_teleterra.c @@ -26,6 +26,8 @@ main(void) /* 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(); diff --git a/src/product/ao_teleterra_0_2.c b/src/product/ao_teleterra_0_2.c index 68f02596..4f7530f7 100644 --- a/src/product/ao_teleterra_0_2.c +++ b/src/product/ao_teleterra_0_2.c @@ -23,6 +23,8 @@ main(void) { ao_clock_init(); + ao_task_init(); + ao_timer_init(); ao_beep_init(); ao_cmd_init(); diff --git a/src/product/ao_test.c b/src/product/ao_test.c index 14c2eb75..273a73b5 100644 --- a/src/product/ao_test.c +++ b/src/product/ao_test.c @@ -102,6 +102,8 @@ main(void) { 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); diff --git a/src/product/ao_tidongle.c b/src/product/ao_tidongle.c index cba0b122..b1a96bdd 100644 --- a/src/product/ao_tidongle.c +++ b/src/product/ao_tidongle.c @@ -27,6 +27,9 @@ main(void) /* 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(); diff --git a/src/spiradio-v0.1/ao_spiradio.c b/src/spiradio-v0.1/ao_spiradio.c index d3647cc7..de9ea706 100644 --- a/src/spiradio-v0.1/ao_spiradio.c +++ b/src/spiradio-v0.1/ao_spiradio.c @@ -25,6 +25,8 @@ main(void) ao_led_init(LEDS_AVAILABLE); + ao_task_init(); + ao_serial_init(); ao_timer_init(); ao_cmd_init(); diff --git a/src/stm-demo/ao_demo.c b/src/stm-demo/ao_demo.c index d4645281..ec572fdc 100644 --- a/src/stm-demo/ao_demo.c +++ b/src/stm-demo/ao_demo.c @@ -192,6 +192,8 @@ main(void) { ao_clock_init(); + ao_task_init(); + ao_serial_init(); ao_timer_init(); ao_dma_init(); diff --git a/src/stm-flash/ao_stm_flash.c b/src/stm-flash/ao_stm_flash.c index 65bc2daf..df466d85 100644 --- a/src/stm-flash/ao_stm_flash.c +++ b/src/stm-flash/ao_stm_flash.c @@ -122,6 +122,9 @@ int main(void) { ao_clock_init(); + + ao_task_init(); + ao_timer_init(); // ao_dma_init(); ao_cmd_init(); diff --git a/src/teleballoon-v1.1/ao_teleballoon.c b/src/teleballoon-v1.1/ao_teleballoon.c index c8bf7760..867e98ab 100644 --- a/src/teleballoon-v1.1/ao_teleballoon.c +++ b/src/teleballoon-v1.1/ao_teleballoon.c @@ -52,6 +52,8 @@ main(void) while (P1_3 == 0) ; } + ao_task_init(); + ao_timer_init(); ao_adc_init(); ao_beep_init(); diff --git a/src/telefire-v0.1/ao_telefire.c b/src/telefire-v0.1/ao_telefire.c index cc0f668f..afa09e20 100644 --- a/src/telefire-v0.1/ao_telefire.c +++ b/src/telefire-v0.1/ao_telefire.c @@ -27,6 +27,8 @@ main(void) ao_led_init(LEDS_AVAILABLE); + ao_task_init(); + ao_timer_init(); ao_adc_init(); ao_beep_init(); diff --git a/src/telelco-v0.1/ao_telelco.c b/src/telelco-v0.1/ao_telelco.c index 080a140b..70665ec6 100644 --- a/src/telelco-v0.1/ao_telelco.c +++ b/src/telelco-v0.1/ao_telelco.c @@ -36,6 +36,8 @@ main(void) ao_led_init(LEDS_AVAILABLE); ao_led_on(AO_LED_GREEN); + ao_task_init(); + ao_timer_init(); ao_spi_init(); diff --git a/src/telescience-v0.2/ao_telescience.c b/src/telescience-v0.2/ao_telescience.c index 2fb3186a..74eef8f4 100644 --- a/src/telescience-v0.2/ao_telescience.c +++ b/src/telescience-v0.2/ao_telescience.c @@ -29,9 +29,11 @@ main(void) 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(); diff --git a/src/teleshield-v0.1/ao_teleshield.c b/src/teleshield-v0.1/ao_teleshield.c index 4c32817a..d602f646 100644 --- a/src/teleshield-v0.1/ao_teleshield.c +++ b/src/teleshield-v0.1/ao_teleshield.c @@ -29,6 +29,7 @@ main(void) /* 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(); |
