remove ~files
[aversive.git] / modules / base / scheduler / test / main.c
1 /*  \r
2  *  Copyright Droids Corporation, Microb Technology, Eirbot (2005)\r
3  * \r
4  *  This program is free software; you can redistribute it and/or modify\r
5  *  it under the terms of the GNU General Public License as published by\r
6  *  the Free Software Foundation; either version 2 of the License, or\r
7  *  (at your option) any later version.\r
8  *\r
9  *  This program is distributed in the hope that it will be useful,\r
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
12  *  GNU General Public License for more details.\r
13  *\r
14  *  You should have received a copy of the GNU General Public License\r
15  *  along with this program; if not, write to the Free Software\r
16  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
17  *\r
18  *  Revision : $Id: main.c,v 1.9.4.5 2007-06-01 09:37:22 zer0 Exp $\r
19  *\r
20  */\r
21 \r
22 #include <scheduler.h>\r
23 #include <aversive/wait.h>\r
24 #include <stdio.h>\r
25 #include <uart.h>\r
26 \r
27 uint8_t event_id;\r
28 \r
29 void f1(void * nothing)\r
30 {\r
31         printf("%s\n", __FUNCTION__);\r
32 }\r
33 \r
34 void f2(void * nothing)\r
35 {\r
36         printf("%s\n", __FUNCTION__);\r
37 }\r
38 \r
39 void f3(void * nothing)\r
40 {\r
41         printf("%s START\n", __FUNCTION__);\r
42         wait_ms(1000);\r
43         printf("%s END\n", __FUNCTION__);\r
44 }\r
45 \r
46 void supp(void * nothing)\r
47 {\r
48   scheduler_del_event(event_id);\r
49 }\r
50 \r
51 int main(void)\r
52 {\r
53 #ifndef HOST_VERSION\r
54         uart_init();\r
55         fdevopen(uart0_dev_send, uart0_dev_recv);\r
56         sei();\r
57 #else\r
58         int i;\r
59 #endif\r
60         printf("init\n");\r
61 \r
62 #ifdef CONFIG_MODULE_TIMER\r
63         timer_init();\r
64 #endif\r
65         scheduler_init();\r
66         printf("init2\n");\r
67         wait_ms(2000);\r
68         printf("init3\n");\r
69 \r
70         event_id = scheduler_add_periodical_event_priority(f1, NULL, 500000l/SCHEDULER_UNIT, 200);\r
71         scheduler_add_periodical_event_priority(f2, NULL, 500000l/SCHEDULER_UNIT, 100);\r
72         scheduler_add_periodical_event(f3, NULL, 1000000l/SCHEDULER_UNIT);\r
73         \r
74         //  scheduler_add_single_event(supp,65);\r
75         \r
76 \r
77 #ifdef HOST_VERSION\r
78         for (i=0 ; i<50000 ; i++)\r
79                 scheduler_interrupt();\r
80 #endif\r
81         return 0;\r
82 }\r
83 \r
84 \r