3 #include "kernel_id.h"
\r
4 #include "ecrobot_interface.h"
\r
6 /* OSEK declarations */
\r
7 DeclareCounter(SysTimerCnt);
\r
10 DeclareTask(TaskLCD);
\r
12 /* LEJOS OSEK hooks */
\r
13 void ecrobot_device_initialize()
\r
15 nxt_motor_set_speed(NXT_PORT_A, 0, 1);
\r
16 nxt_motor_set_speed(NXT_PORT_B, 0, 1);
\r
19 void ecrobot_device_terminate()
\r
21 nxt_motor_set_speed(NXT_PORT_A, 0, 1);
\r
22 nxt_motor_set_speed(NXT_PORT_B, 0, 1);
\r
25 /* LEJOS OSEK hook to be invoked from an ISR in category 2 */
\r
26 void user_1ms_isr_type2(void)
\r
30 ercd = SignalCounter(SysTimerCnt); /* Increment OSEK Alarm Counter */
\r
37 /* Task1 executed every 1msec */
\r
40 if (ecrobot_get_touch_sensor(NXT_PORT_S1))
\r
42 nxt_motor_set_speed(NXT_PORT_A, 0, 1);
\r
46 nxt_motor_set_speed(NXT_PORT_A, 50, 1);
\r
52 /* Task2 executed every 500msec */
\r
55 if (ecrobot_get_touch_sensor(NXT_PORT_S1))
\r
57 nxt_motor_set_speed(NXT_PORT_B, 0, 1);
\r
61 nxt_motor_set_speed(NXT_PORT_B, 50, 1);
\r
67 /* TaskLCD executed every 500msec */
\r
70 ecrobot_status_monitor("RMS");
\r