1 /*****************************************************************************
\r
2 * FILE: ecrobot_main.c
\r
4 * MODEL: joystick_ctrl.mdl
\r
6 * APP SUBSYSTEM: Joystick_app
\r
8 * PLATFORM: LEJOS+OSEK
\r
10 * DATE: 22-Mar-2008 00:27:20
\r
13 * Simulink: 7.0 (R2007b) 02-Aug-2007
\r
14 * Real-Time Workshop: 7.0 (R2007b) 02-Aug-2007
\r
15 * Real-Time Workshop Embedded Coder: 5.0 (R2007b) 02-Aug-2007
\r
16 *****************************************************************************/
\r
17 /*============================================================================
\r
18 * RTW-EC generated functions for Function-Call Subsystems:
\r
19 * Fcn1: executed at every 0.01[sec]
\r
20 * Fcn2: executed at every 0.05[sec]
\r
22 * RTW-EC generated model initialize function:
\r
23 * Joystick_app_initialize
\r
24 *===========================================================================*/
\r
26 #include "kernel_id.h"
\r
27 #include "ecrobot_interface.h"
\r
28 #include "Joystick_app.h"
\r
30 /*============================================================================
\r
32 *===========================================================================*/
\r
33 DeclareCounter(SysTimerCnt);
\r
34 DeclareTask(OSEK_Task_ECRobotInitialize);
\r
35 DeclareTask(OSEK_Task_Fcn1);
\r
36 DeclareTask(OSEK_Task_Fcn2);
\r
37 DeclareTask(OSEK_Task_ECRobotLCDMonitor);
\r
39 /*============================================================================
\r
40 * Function: ecrobot_device_initialize
\r
42 void ecrobot_device_initialize(void)
\r
44 const U8 bd_addr[7] = {0x00, 0x16, 0x53, 0x04, 0x7E, 0x2D, 0x00};
\r
45 /* Initialize ECRobot used devices */
\r
46 ecrobot_init_accel_sensor(NXT_PORT_S1);
\r
47 ecrobot_init_bt_master(bd_addr, "MATLAB");
\r
50 /*============================================================================
\r
51 * Function: ecrobot_device_terminate
\r
53 void ecrobot_device_terminate(void)
\r
55 /* Terminate ECRobot used devices */
\r
56 ecrobot_term_accel_sensor(NXT_PORT_S1);
\r
57 ecrobot_term_bt_connection();
\r
60 /*============================================================================
\r
61 * Function: Invoked from a category 2 ISR
\r
63 void user_1ms_isr_type2(void)
\r
67 /* Increment System Timer Count */
\r
68 ercd = SignalCounter(SysTimerCnt);
\r
75 /*============================================================================
\r
76 * OSEK Hooks: empty functions
\r
78 void StartupHook(void){}
\r
80 void ShutdownHook(StatusType ercd){}
\r
82 void PreTaskHook(void){}
\r
84 void PostTaskHook(void){}
\r
86 void ErrorHook(StatusType ercd){}
\r
88 /*============================================================================
\r
89 * Task: OSEK_Task_Initialize
\r
91 TASK(OSEK_Task_ECRobotInitialize)
\r
93 /* Call Initialize Function(s) */
\r
94 Joystick_app_initialize();
\r
98 /*============================================================================
\r
99 * Task: OSEK_Task_Fcn1
\r
101 TASK(OSEK_Task_Fcn1)
\r
103 /* Call Fcn1 every 10[msec] */
\r
109 /*============================================================================
\r
110 * Task: OSEK_Task_Fcn2
\r
112 TASK(OSEK_Task_Fcn2)
\r
114 /* Call Fcn2 every 50[msec] */
\r
120 /*============================================================================
\r
121 * Task: OSEK_Task_ECRobotLCDMonitor
\r
123 TASK(OSEK_Task_ECRobotLCDMonitor)
\r
125 /* Call this function every 500[msec] */
\r
126 ecrobot_status_monitor("Joystick_app");
\r
131 /******************************** END OF FILE ********************************/
\r