Maček Dorijan Miljković Dominik Napon i temperatura sa istog slave-a

Dependencies:   Display1602 mbed-rtos mbed nRF24L01P

Files at this revision

API Documentation at this revision

Comitter:
DorijanMacek
Date:
Thu Jan 28 16:46:15 2016 +0000
Parent:
2:d0f85a573b89
Commit message:
Ma?ek Dorijan ; Miljkovi? Dominik; Napon i temperatura sa istog slave-a;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r d0f85a573b89 -r 07d5ce3c32e3 main.cpp
--- a/main.cpp	Wed Jan 27 20:17:31 2016 +0000
+++ b/main.cpp	Thu Jan 28 16:46:15 2016 +0000
@@ -3,7 +3,7 @@
 #include "nRF24L01P.h"
 #include "Display1602.h"
 
-Mutex stdio_mutex;
+//Mutex stdio_mutex;
 Semaphore semMSP430G(1);
 Semaphore semLCD(1);
 Semaphore semJoystick(1);
@@ -20,6 +20,7 @@
 DigitalOut myled2(LED2);
 DigitalOut myled3(LED3);
 DigitalOut myled4(LED4);
+DigitalOut res(p17);
 
 void startLCD(void);
 void startNRF(int);
@@ -43,27 +44,26 @@
     
 //MSP430g
 const int addr= 0x94;
-float temp=0.0;
-float volt=0.0;
+float temp=0.00;
+float volt=0.00;
 
 int testT=0;
 int testY=0;
 
 
-
 int main() 
 {
 
 
     
-    
+     res=1;
     startLCD();
     startNRF(transfer_size);
     wait(1);
     
     Thread t0(readJoystick, (void *)"readJoystick");
-    Thread t1(readTempFromMSP430G, (void *)"readTemp");
-    ////Thread t2(readVoltFromMSP430G, (void *)"readVoltage");
+    //Thread t1(readTempFromMSP430G, (void *)"readTemp");
+    Thread t2(readVoltFromMSP430G, (void *)"readVoltage");
     Thread t3(printTempAndVoltOnLCD, (void *)"printTemp");
     Thread t4(printJoystickOnLCD, (void *)"printJoytick");
     
@@ -172,10 +172,10 @@
         display.printf("T = %.2f ",temp);  
         display.SetXY(8,1);
         display.printf("V = %.2f ",volt);
-        pc.printf("printTempAndVoltOnLCD \n\r");
+        //pc.printf("printTempAndVoltOnLCD \n\r");
         
-            
-        Thread::wait(1000);
+          
+        Thread::wait(500);        
         semLCD.release();
     }  
 }
@@ -190,10 +190,10 @@
         display.printf("Up %.2f ",velocity);
         display.SetXY(0,1);
         display.printf("LR %.2f ",direction);
-        pc.printf("printJoystickOnLCD \n\r ");
+        //pc.printf("printJoystickOnLCD \n\r ");
         
                 
-        Thread::wait(1000);
+        Thread::wait(500);
         semLCD.release();
     }
 }
@@ -208,7 +208,7 @@
         
         velocity=upDown;
         direction =leftRight;
-        pc.printf("readJoystick \n\r ");
+        //pc.printf("readJoystick \n\r ");
         
         Thread::wait(50);
         semJoystick.release();
@@ -221,20 +221,48 @@
     while(true)
     {
         semMSP430G.wait();
+        //MSP430G.stop();
+        //Thread::wait(500);
+
+        //res=1;
         char config_t[2]; // transmitt buffer
         char value_read[2]; // read buffer
         config_t[0] = 0xC0; //config slave to int temp
-        wait(0.1);
         config_t[1] = 0x55; // config data byte1, BOut
-        wait(0.1);      
+        //MSP430G.start();
+        //Thread::wait(20);
+              
         MSP430G.write(addr, config_t, 2);
-        wait(0.1);
-                               
-        MSP430G.read(addr, value_read, 2); //read the two-byte temp data 
-        temp = (value_read[0]+value_read[1]*256)/10.0;
-        pc.printf("readTempFromMSP430G \n\r ");
-                
+        Thread::wait(20);                                    
+        //wait_us(20);
+        MSP430G.read(addr, value_read, 2); //read the two-byte temp data            
+        temp = ((value_read[0]+value_read[1]*256)/10.0);
+        pc.printf("readTempFromMSP430G %f \n\r ",temp);
+        res=0;
+        Thread::wait(5);
+        res=1;
         Thread::wait(500);
+        
+        //MSP430G.abort_transfer();
+        //wait(0.5);
+        
+        
+        //config_t[0] = 0xC1; //config slave to int temp
+        //config_t[1] = 0xff; // config data byte1, BOut
+        
+        //MSP430G.write(addr, config_t, 2);
+        //Thread::wait(20);                                    
+        //wait_us(20);
+        //MSP430G.read(addr, value_read, 2); //read the two-byte temp data
+        //volt = ((value_read[0]+value_read[1]*256)*(1.5/1024));
+        //pc.printf("readVoltFromMSP430G \n\r %f",volt);
+        
+        Thread::wait(500);
+        
+        //wait(0.5);
+                      
+        
+        
         semMSP430G.release();    
     }    
 }    
@@ -245,20 +273,36 @@
     while(true)
     {
         semMSP430G.wait(); 
+        //MSP430G.stop();
         
         char config_t[2]; // transmitt buffer
         char value_read[2]; // read buffer
         config_t[0] = 0xC1; //config slave to int temp
-        wait(0.1);
-        config_t[1] = 0xff; // config data byte1, BOut  
-        wait(0.1);
+        config_t[1] = 0xff; // config data byte1, BOut
+        //MSP430G.start();
+          
+        //Thread::wait(20);
+        
         MSP430G.write(addr, config_t, 2);
-        wait(0.2);
+        //MSP430G.stop();
+        Thread::wait(20);
+        
                        
         MSP430G.read(addr, value_read, 2); //read the two-byte temp data 
+        //Thread::wait(500);
+        
         volt = (value_read[0]+value_read[1]*256)*(1.5/1024);        
-        pc.printf("readVoltFromMSP430G \n\r ");
+        pc.printf("readVoltFromMSP430G \n\r %f",volt);
+        
+        //MSP430G.stop();
+        res=0;
+        Thread::wait(5);
+        res=1;
         Thread::wait(500);
+        
+        //MSP430G.stop();
         semMSP430G.release(); 
     }
-}  
\ No newline at end of file
+}  
+
+