Dependencies:   mbos mbed

Files at this revision

API Documentation at this revision

Comitter:
gsionek
Date:
Mon Feb 06 14:24:59 2012 +0000
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
mbos.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 06 14:24:59 2012 +0000
@@ -0,0 +1,68 @@
+#include "mbed.h"
+#include "mbos.h"
+
+
+#define TASK1_ID                1       // Id for task 1 (idle task is 0)
+#define TASK1_PRIO              40      // priority for task 1
+#define TASK1_STACK_SZ          32      // stack size for task 1 in words 
+#define TASK2_ID                2       // Id for task 2 
+#define TASK2_PRIO              30      // priority for task 2
+#define TASK2_STACK_SZ          1024      // stack size for task 2 in words 
+#define TIMER0_ID               0       // Id for timer 0
+#define TIMER0_PERIOD           1000    // Time period in milliseconds
+#define TIMER0_EVENT            1       // Event flag (1 << 0)
+#define TIMER1_ID               1
+#define TIMER1_PERIOD           200
+#define TIMER1_EVENT            2
+
+
+#define N_TASKS                 2 
+#define N_TIMERS                2 
+
+void task1(void); //led
+void task2(void); //serial
+
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+Serial pc(USBTX, USBRX);
+
+mbos os(N_TASKS,N_TIMERS);
+
+int main(void)
+{
+    os.CreateTask(TASK1_ID,TASK1_PRIO,TASK1_STACK_SZ,task1);
+    os.CreateTask(TASK2_ID,TASK2_PRIO,TASK2_STACK_SZ,task2);
+    os.CreateTimer(TIMER0_ID,TIMER0_EVENT,TASK1_ID);
+    os.CreateTimer(TIMER1_ID,TIMER1_EVENT,TASK2_ID);
+    
+    os.Start();
+}
+
+void task1(void)
+{
+    os.SetTimer(TIMER0_ID,TIMER0_PERIOD,TIMER0_PERIOD);
+    while(1){
+        os.WaitEvent(TIMER0_EVENT);
+        led1 = !led1;
+    }
+}
+
+void task2(void)
+{
+    os.SetTimer(TIMER1_ID,TIMER1_PERIOD,TIMER1_PERIOD);
+    while(1){
+        os.WaitEvent(TIMER1_EVENT);
+        led2 = !led2;
+        if(pc.readable())
+            switch(pc.getc()){
+                case '1':
+                    pc.printf("Bonjour\n\r");
+                    break;
+                case '2':
+                    pc.printf("Bonsoir\r\n");
+                    break;
+            }
+        
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Feb 06 14:24:59 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/b4b9f287a47e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbos.lib	Mon Feb 06 14:24:59 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/AndrewL/code/mbos/#cf660b28b2a4