OSDN Git Service

Add more samples. (License is mostly unknown. Some are GPLed.)
[nxt-jsp/etrobo-atk.git] / nxtOSEK / samples / c++ / turtlebot / avoid.oil
diff --git a/nxtOSEK/samples/c++/turtlebot/avoid.oil b/nxtOSEK/samples/c++/turtlebot/avoid.oil
new file mode 100644 (file)
index 0000000..588e614
--- /dev/null
@@ -0,0 +1,100 @@
+#include "implementation.oil"\r
+\r
+CPU ATMEL_AT91SAM7S256\r
+{\r
+  OS LEJOS_OSEK\r
+  {\r
+    STATUS = EXTENDED;\r
+    STARTUPHOOK = FALSE;\r
+    ERRORHOOK = FALSE;\r
+    SHUTDOWNHOOK = FALSE;\r
+    PRETASKHOOK = FALSE;\r
+    POSTTASKHOOK = FALSE;\r
+    USEGETSERVICEID = FALSE;\r
+    USEPARAMETERACCESS = FALSE;\r
+    USERESSCHEDULER = FALSE;\r
+  };\r
+\r
+  /* Definition of application mode */\r
+  APPMODE appmode1{}; \r
+\r
+  EVENT SensorEventMask {\r
+    MASK = AUTO;\r
+  };\r
+\r
+  EVENT SleepEventMask {\r
+    MASK = AUTO;\r
+  };\r
+\r
+  TASK LeftMotorTask\r
+  {\r
+       AUTOSTART = TRUE {\r
+       APPMODE = appmode1;\r
+  };\r
+    EVENT = SensorEventMask;\r
+    EVENT = SleepEventMask;\r
+    PRIORITY = 1; /* Smaller value means lower priority */ \r
+    ACTIVATION = 1;\r
+    SCHEDULE = FULL;\r
+    STACKSIZE = 512; /* Stack size */ \r
+  };\r
+\r
+  TASK RightMotorTask\r
+  {\r
+       AUTOSTART = TRUE {\r
+       APPMODE = appmode1;\r
+  };\r
+    EVENT = SensorEventMask;\r
+    EVENT = SleepEventMask;\r
+    PRIORITY = 1; /* Smaller value means lower priority */ \r
+    ACTIVATION = 1;\r
+    SCHEDULE = FULL;\r
+    STACKSIZE = 512; /* Stack size */ \r
+  };\r
+\r
+  TASK SonarTask\r
+  {\r
+       AUTOSTART = TRUE {\r
+       APPMODE = appmode1;\r
+  };\r
+    EVENT = SensorEventMask;\r
+    EVENT = SleepEventMask;\r
+    PRIORITY = 1; /* Smaller value means lower priority */ \r
+    ACTIVATION = 1;\r
+    SCHEDULE = FULL;\r
+    STACKSIZE = 512; /* Stack size */ \r
+  };\r
+\r
+  TASK SensorMonitorTask {\r
+    AUTOSTART = FALSE;\r
+    PRIORITY = 1;\r
+    ACTIVATION = 1;\r
+    SCHEDULE = FULL;\r
+    STACKSIZE = 512;\r
+  };\r
+\r
+  /* Definition of OSEK Alarm Counter */\r
+  COUNTER SensorMonitorCounter\r
+  {\r
+    MINCYCLE = 1;\r
+    MAXALLOWEDVALUE = 10000;\r
+    TICKSPERBASE = 1; /* One tick is equal to 1msec */ \r
+  };\r
+\r
+  /* Definition of SensorMonitorTask execution timing */\r
+  ALARM cyclic_alarm\r
+  {\r
+    COUNTER = SensorMonitorCounter;\r
+    ACTION = ACTIVATETASK\r
+    {\r
+        TASK = SensorMonitorTask;\r
+    };\r
+    AUTOSTART = TRUE\r
+    {\r
+        ALARMTIME = 1;\r
+        CYCLETIME = 10; /* Task is executed every 10msec */\r
+        APPMODE = appmode1;\r
+    };\r
+  };\r
+};\r
+\r