hostsim: rework to have a more precise interrupt emulation
[aversive.git] / modules / base / scheduler / test / main.c
index cc9242c..1e2ae75 100644 (file)
@@ -52,29 +52,30 @@ void supp(void * nothing)
 \r
 int main(void)\r
 {\r
-#ifndef HOST_VERSION\r
+#ifdef HOST_VERSION\r
+       hostsim_uart_init();\r
+       hostsim_ittimer_add(scheduler_interrupt, 1 * 1000 * 1000); /* 1ms period */\r
+       hostsim_ittimer_enable(100); /* 100 us */\r
+#else\r
        uart_init();\r
        fdevopen(uart0_dev_send, uart0_dev_recv);\r
-       sei();\r
-#else\r
-       int i;\r
-#endif\r
-       printf("init\n");\r
 \r
 #ifdef CONFIG_MODULE_TIMER\r
        timer_init();\r
 #endif\r
+#endif\r
+\r
        scheduler_init();\r
        printf("init2\n");\r
        wait_ms(2000);\r
        printf("init3\n");\r
 \r
-#ifdef HOST_VERSION\r
-       hostsim_init();\r
-#endif\r
+       sei();\r
 \r
-       event_id = scheduler_add_periodical_event_priority(f1, NULL, 500000l/SCHEDULER_UNIT, 200);\r
-       scheduler_add_periodical_event_priority(f2, NULL, 500000l/SCHEDULER_UNIT, 100);\r
+       event_id = scheduler_add_periodical_event_priority(f1, NULL,\r
+               500000l/SCHEDULER_UNIT, 200);\r
+       scheduler_add_periodical_event_priority(f2, NULL,\r
+               500000l/SCHEDULER_UNIT, 100);\r
        scheduler_add_periodical_event(f3, NULL, 1000000l/SCHEDULER_UNIT);\r
 \r
        scheduler_add_single_event(supp, NULL, 5000000l/SCHEDULER_UNIT);\r
@@ -83,5 +84,3 @@ int main(void)
 \r
        return 0;\r
 }\r
-\r
-\r