Add A/D sampler
[fw/altos] / ao_test.c
index 85d523af87dba08115f42de6ac3caece76727dc9..0524535991e633d8348c1ac7e3e0758acac0237e 100644 (file)
--- a/ao_test.c
+++ b/ao_test.c
@@ -43,9 +43,15 @@ blink_0(void)
 void
 blink_1(void)
 {
+       static struct ao_adc adc;
+
        for (;;) {
-               P1 ^= 2;
-               delay(20);
+               ao_sleep(&ao_adc_ring);
+               ao_adc_get(&adc);
+               if (adc.accel < 15900)
+                       P1_1 = 1;
+               else
+                       P1_1 = 0;
        }
 }
 
@@ -53,7 +59,7 @@ void
 wakeup(void)
 {
        for (;;) {
-               delay(10);
+               ao_delay(10);
                ao_wakeup(&blink_chan);
        }
 }
@@ -62,9 +68,15 @@ void
 main(void)
 {
        CLKCON = 0;
+       while (!(SLEEP & SLEEP_XOSC_STB))
+               ;
+
        /* Set p1_1 and p1_0 to output */
        P1DIR = 0x03;
        
+       ao_adc_init();
+       ao_timer_init();
+
        ao_add_task(&blink_0_task, blink_0);
        ao_add_task(&blink_1_task, blink_1);
        ao_add_task(&wakeup_task, wakeup);