3 * Tests related to clocks and timers
5 * Zach Shelby <zach@sensinode.com>
12 #include <stdio.h> /* For printf() */
13 /*---------------------------------------------------------------------------*/
14 PROCESS(clock_test_process
, "Clock test process");
15 AUTOSTART_PROCESSES(&clock_test_process
);
16 /*---------------------------------------------------------------------------*/
17 PROCESS_THREAD(clock_test_process
, ev
, data
)
19 static struct etimer et
;
20 static clock_time_t count
, start_count
, end_count
, diff
;
21 static unsigned long sec
;
26 printf("Clock delay test (10 x (10,000xi) cycles):\n");
29 start_count
= clock_time();
31 end_count
= clock_time();
32 diff
= end_count
-start_count
;
33 printf("Delayed %u = %u ticks = ~%u ms\n", 10000*i
, diff
, diff
*8 );
37 printf("Clock tick and etimer test (10 x 1s):\n");
40 etimer_set(&et
, CLOCK_SECOND
);
41 PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et
));
45 printf("%u ticks\n", count
);
47 leds_toggle(LEDS_RED
);
51 printf("Clock seconds test (10 x 5s):\n");
54 etimer_set(&et
, 5 * CLOCK_SECOND
);
55 PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et
));
58 sec
= clock_seconds();
59 printf("%u seconds\n", (u16_t
) sec
);
61 leds_toggle(LEDS_GREEN
);
67 /*---------------------------------------------------------------------------*/