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
Mario Bambagini