diff options
author | Bdale Garbee <bdale@gag.com> | 2014-06-15 17:47:41 -0600 |
---|---|---|
committer | Bdale Garbee <bdale@gag.com> | 2014-06-15 17:47:41 -0600 |
commit | c5cfc0d6e507d093987741b6ffaf69ebb24caa4b (patch) | |
tree | a75b83343939e96592ac07178f2011d82ea6ded8 /src/stm-demo/ao_demo.c | |
parent | 1b3d07ede530fa40cb7257fb1725c969ba60e0f0 (diff) | |
parent | 9ab3a1de95b705783c31a7e16447f52c10b6b480 (diff) |
Merge branch 'branch-1.4' into debian
Diffstat (limited to 'src/stm-demo/ao_demo.c')
-rw-r--r-- | src/stm-demo/ao_demo.c | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/src/stm-demo/ao_demo.c b/src/stm-demo/ao_demo.c index 58cf651b..ffc5d2d8 100644 --- a/src/stm-demo/ao_demo.c +++ b/src/stm-demo/ao_demo.c @@ -171,12 +171,38 @@ ao_event(void) } #endif +static uint8_t ao_blinking = 0; + +static void +ao_blink(void) +{ + for (;;) { + while (!ao_blinking) + ao_sleep(&ao_blinking); + while (ao_blinking) { + ao_led_toggle(AO_LED_BLUE|AO_LED_GREEN); + ao_delay(AO_MS_TO_TICKS(500)); + } + } +} + +static struct ao_task ao_blink_task; + +static void +ao_blink_toggle(void) +{ + ao_blinking = !ao_blinking; + ao_wakeup(&ao_blinking); +} + + __code struct ao_cmds ao_demo_cmds[] = { { ao_dma_test, "D\0DMA test" }, { ao_spi_write, "W\0SPI write" }, { ao_spi_read, "R\0SPI read" }, { ao_i2c_write, "i\0I2C write" }, { ao_temp, "t\0Show temp" }, + { ao_blink_toggle, "b\0Toggle LED blinking" }, /* { ao_event, "e\0Monitor event queue" }, */ { 0, NULL } }; @@ -188,23 +214,26 @@ main(void) ao_task_init(); - ao_serial_init(); + ao_led_init(LEDS_AVAILABLE); + ao_led_on(AO_LED_GREEN); + ao_led_off(AO_LED_BLUE); ao_timer_init(); ao_dma_init(); ao_cmd_init(); // ao_lcd_stm_init(); // ao_lcd_font_init(); - ao_spi_init(); - ao_i2c_init(); - ao_exti_init(); +// ao_spi_init(); +// ao_i2c_init(); +// ao_exti_init(); // ao_quadrature_init(); // ao_button_init(); - ao_timer_set_adc_interval(100); +// ao_timer_set_adc_interval(100); - ao_adc_init(); +// ao_adc_init(); ao_usb_init(); + ao_add_task(&ao_blink_task, ao_blink, "blink"); ao_cmd_register(&ao_demo_cmds[0]); ao_start_scheduler(); |