
example for the ssWi library
Revision 7:f3ba13c6d56e, committed 2013-03-07
- Comitter:
- mariob
- Date:
- Thu Mar 07 15:44:53 2013 +0000
- Parent:
- 6:0d434f4c83bd
- Child:
- 8:ffe1815b6deb
- Commit message:
- MB
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
ssWi.lib | Show annotated file Show diff for this revision Revisions of this file |
--- 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); +// } }
--- a/ssWi.lib Wed Mar 06 23:14:11 2013 +0000 +++ b/ssWi.lib Thu Mar 07 15:44:53 2013 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mariob/code/ssWi/#fb0f6cbc0ed5 +http://mbed.org/users/mariob/code/ssWi/#b50c3b3b241c