example for the ssWi library

Dependencies:   ssWi

Revision:
7:f3ba13c6d56e
Parent:
6:0d434f4c83bd
Child:
8:ffe1815b6deb
--- a/main.cpp	Wed Mar 06 23:14:11 2013 +0000
+++ b/main.cpp	Thu Mar 07 15:44:53 2013 +0000
@@ -61,9 +61,16 @@
     task_array[2] = new Task(100, 7, ((double)rand()/RAND_MAX)*25);
     task_array[3] = new Task(120, 4, ((double)rand()/RAND_MAX)*65);
 
+/*
     //thread
     Thread readingThread(readingFunction);
     Thread writingThread(writingFunction);
+*/
+    RtosTimer reader (readingFunction, osTimerPeriodic, NULL);
+    RtosTimer writer (writingFunction, osTimerPeriodic, NULL);
+
+    reader.start(1000);
+    writer.start(1000);
 
     printf("\n\r************* START *************\n\r");
 
@@ -74,30 +81,28 @@
 
 void readingFunction(const void* arg)
 {
-    int vals[N_TASKS];
-    for (int i=0; i<N_TASKS; i++)
-        vals[i] = -1;
-    while(1) {
-        for (int i=0; i<N_TASKS; i++) {
-            if (vals[i]!=task_array[i]->_s->read()) {
-                vals[i] = task_array[i]->_s->read();
-                printf("%ld: Read[%d] = %d\n\r", time(0), task_array[i]->_id, task_array[i]->_s->read());
-            }
+    static int vals[N_TASKS];
+//    while(1) {
+    for (int i=0; i<N_TASKS; i++) {
+        if (vals[i]!=task_array[i]->_s->read()) {
+            vals[i] = task_array[i]->_s->read();
+            printf("%ld: Read[%d] = %d\n\r", time(0), task_array[i]->_id, task_array[i]->_s->read());
         }
-        Thread::wait(READ_FUNCTION_MS);
     }
+//        Thread::wait(READ_FUNCTION_MS);
+//    }
 }
 
 void writingFunction(const void* arg)
 {
-    int x = 1;
-    while(1) {
-        for (int i=0; i<N_TASKS; i++)
-            if (x%(task_array[i]->_ratio)==0) {
-                task_array[i]->_s->write(task_array[i]->_val++);
-                printf("%ld: Write[%d] = %d\n\r", time(0), task_array[i]->_id, task_array[i]->_val);
-            }
-        x++;
-        Thread::wait(WRITE_FUNCTION_MS);
-    }
+    static int x = 1;
+//    while(1) {
+    for (int i=0; i<N_TASKS; i++)
+        if (x%(task_array[i]->_ratio)==0) {
+            task_array[i]->_s->write(task_array[i]->_val++);
+            printf("%ld: Write[%d] = %d\n\r", time(0), task_array[i]->_id, task_array[i]->_val);
+        }
+    x++;
+//       Thread::wait(WRITE_FUNCTION_MS);
+//    }
 }