update code

Dependencies:   X_NUCLEO_IKS01A1 mbed-rtos mbed

Revision:
2:c5fb78148ccc
Parent:
1:4cd93767691a
Child:
3:f61ae69ed662
--- a/main.cpp	Tue May 03 10:39:27 2016 +0000
+++ b/main.cpp	Tue May 03 10:51:55 2016 +0000
@@ -350,7 +350,7 @@
     
 };
 
-void initialiseBufferData(){
+/**void initialiseBufferData(){
     //create mutex lock
     pthread_mutex_init(&mutex, NULL);
     
@@ -365,7 +365,7 @@
     
     //init buffer
     counter = 0;
-}
+}**/
 
 //producer thread
 void *producer(char newItem[], BufferEndPointer *endPointer, BufferSize *bufferSize){
@@ -396,7 +396,38 @@
 }
 
 //consumer thread
-void *consumer(void *param) {
+void *consumer(BufferStartPointer *startPointer, BufferSize *bufferSize, BufferEndPointer *endPointer) {
+   
+   while(!bufferSize->lock()){};
+   
+   int size = bufferSize -> getBufferSize();
+   
+   while(size > 0){
+       //sleep for random amount of time
+       
+       //get the buffer
+       bufferLock->lock(); 
+        
+        while(!endPointer->lock()){};
+        
+        int index = endPointer->getBufferEndPointer();
+        
+        endPointer -> unlock;
+           
+        while(!startPointer->lock()){};
+       
+        startPointer->plusOne();
+        memorySample[index] = buffer_item[startPointer->getBufferStartPointer()];
+        startPointer->unlock();
+        bufferLock->unlock();
+        
+        
+        while(!bufferSize->lock()){};
+        bufferSize ->deincreaseBufferSize();
+        size = bufferSize -> getBufferSize();       
+           
+        
+    }
    
   
 }