ec7047986921e113d702da82cec7420c1c10fb54
[aversive.git] / projects / microb2010 / tests / hostsim / 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 <stdio.h>\r
23 #include <string.h>\r
24 \r
25 #include <aversive.h>\r
26 #include <aversive/error.h>\r
27 #include <aversive/wait.h>\r
28 \r
29 #include <timer.h>\r
30 #include <scheduler.h>\r
31 #include <time.h>\r
32 \r
33 #include <pid.h>\r
34 #include <quadramp.h>\r
35 #include <control_system_manager.h>\r
36 #include <trajectory_manager.h>\r
37 #include <blocking_detection_manager.h>\r
38 #include <robot_system.h>\r
39 #include <position_manager.h>\r
40 \r
41 #include <parse.h>\r
42 #include <rdline.h>\r
43 \r
44 #include <uart.h>\r
45 //#include <timer.h>\r
46 #include <hostsim.h>\r
47 \r
48 #include "cs.h"\r
49 #include "main.h"\r
50 \r
51 struct genboard gen;\r
52 struct mainboard mainboard;\r
53 \r
54 int main(void)\r
55 {\r
56 #ifndef HOST_VERSION\r
57         uart_init();\r
58         fdevopen(uart0_dev_send, uart0_dev_recv);\r
59         sei();\r
60 #else\r
61         int i;\r
62 #endif\r
63 \r
64 #ifdef CONFIG_MODULE_TIMER\r
65         timer_init();\r
66 #endif\r
67         scheduler_init();\r
68         printf("init\n");\r
69 \r
70 #ifdef HOST_VERSION\r
71         hostsim_init();\r
72         robotsim_init();\r
73 #endif\r
74         time_init(TIME_PRIO);\r
75 \r
76 \r
77         microb_cs_init();\r
78 \r
79         gen.logs[0] = E_USER_CS;\r
80         gen.log_level = 5;\r
81 \r
82         mainboard.flags = DO_ENCODERS | DO_RS |\r
83                 DO_POS | DO_POWER | DO_BD | DO_CS;\r
84 \r
85         trajectory_d_rel(&mainboard.traj, 1000);\r
86         time_wait_ms(2000);\r
87         trajectory_goto_xy_abs(&mainboard.traj, 1500, 2000);\r
88         time_wait_ms(2000);\r
89         return 0;\r
90 }\r
91 \r
92 \r