--- /dev/null
+#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
+ /* Definition of Touch Sensor ON Event */\r
+ EVENT TouchSensorOnEvent{\r
+ MASK = AUTO;\r
+ };\r
+\r
+ /* Definition of Touch Sensor OFF Event */\r
+ EVENT TouchSensorOffEvent{\r
+ MASK = AUTO;\r
+ };\r
+\r
+ /* Definition of EventDispatcher */\r
+ TASK EventDispatcher\r
+ {\r
+ AUTOSTART = FALSE;\r
+ PRIORITY = 3;\r
+ ACTIVATION = 1;\r
+ SCHEDULE = FULL;\r
+ STACKSIZE = 512; /* Stack size */ \r
+ };\r
+\r
+ /* Definition of EventHandler */\r
+ TASK EventHandler\r
+ {\r
+ AUTOSTART = TRUE\r
+ {\r
+ APPMODE = appmode1;\r
+ };\r
+ PRIORITY = 2;\r
+ ACTIVATION = 1;\r
+ SCHEDULE = FULL;\r
+ STACKSIZE = 512; /* Stack size */\r
+ EVENT = TouchSensorOnEvent;\r
+ EVENT = TouchSensorOffEvent; \r
+ };\r
+\r
+ /* Definition of IdleTask */\r
+ TASK IdleTask\r
+ {\r
+ AUTOSTART = TRUE \r
+ {\r
+ APPMODE = appmode1;\r
+ };\r
+ PRIORITY = 1;\r
+ ACTIVATION = 1;\r
+ SCHEDULE = FULL;\r
+ STACKSIZE = 512; /* Stack size */ \r
+ };\r
+\r
+ /* Definition of OSEK Alarm Counter */\r
+ COUNTER SysTimerCnt\r
+ {\r
+ MINCYCLE = 1;\r
+ MAXALLOWEDVALUE = 10000;\r
+ TICKSPERBASE = 1; /* One tick is equal to 1msec */ \r
+ };\r
+\r
+ /* Definition of EventDispatcher execution timing */\r
+ ALARM cyclic_alarm1\r
+ {\r
+ COUNTER = SysTimerCnt;\r
+ ACTION = ACTIVATETASK\r
+ {\r
+ TASK = EventDispatcher;\r
+ };\r
+ AUTOSTART = TRUE\r
+ {\r
+ ALARMTIME = 1;\r
+ CYCLETIME = 5; /* Executed every 5msec */\r
+ APPMODE = appmode1;\r
+ };\r
+ };\r
+};\r