BraceletUS / Mbed 2 deprecated S05APP3

Dependencies:   ConfigFile EthernetInterface mbed-rtos mbed

Fork of S05APP3 by App S5

Revision:
9:f6f79f136101
Parent:
8:9c34eb3cb3ef
Child:
10:488877f7f56c
--- a/main.cpp	Sun Feb 12 19:38:26 2017 +0000
+++ b/main.cpp	Mon Feb 13 02:20:15 2017 +0000
@@ -1,18 +1,24 @@
-// COORDINATOR
+// ===================== COORDINATOR =====================
+// =======================================================
 #include "EthernetInterface.h"
 #include "ConfigFile.h"
 #include "mbed.h"
+#include "rtos.h"
 
 DigitalOut reset(p8);
+EthernetInterface eth;
 Serial xbee(p13, p14);   // tx, rx
 Serial pc(USBTX, USBRX); // tx, rx
+TCPSocketConnection sock;
+Thread *t1;
+Thread *t2;
 
 uint16_t portNumber = 0;
 uint16_t panId = 0;
 
 char serverAddress[32];
 char panIdChar[5];
-char portNbr[4];
+char portNbr[5];
 
 bool boolLED = false; 
 uint64_t routerAddr;
@@ -83,22 +89,25 @@
     boolLED = !boolLED;
 }
 
-void initSocket() {
-    //int repSize;
-    //while (true) {
-
-        //sprintf (buffer, (const char *)xbee.getc());
-        //sock.send_all(buffer, sizeof(buffer)-1);
+void initSocket(uint16_t data) {
+    /*int responseSize;
+    char buffer[50];
+    sprintf(buffer, "Data: %i\n", data);
     
-        //repSize = sock.receive(buffer, sizeof(buffer)-1);
-       // if (repSize <= 0) {
-       //     printf("Error");
-       //     sock.close();
-       //     break;
-     //   }
-        //buffer[repSize] = '\0';
-        //printf("Received %d chars from server:\n%s\n", repSize, buffer);
-    //}
+    if (sock.connect(serverAddress, portNumber) != 0) {
+        pc.printf("Erreur dans la connextion au socket.\n");
+    } else {
+        sock.send_all(buffer, sizeof(buffer)-1);
+        responseSize = sock.receive(buffer, sizeof(buffer)-1);
+        
+        if (responseSize <= 0) {
+            pc.printf("Error");
+            //sock.close();
+        }
+        
+        buffer[responseSize] = '\0';
+        pc.printf("Received %d chars from server:\n%s\n", responseSize, buffer);
+    }*/
 }
 
 void checkForError(uint8_t* buffer) {
@@ -139,12 +148,11 @@
     routerAddr = addr.u64_value;
 }
 
-void readFrame(){
-
+void readDateFromRouter(){
     uint8_t bufferSize = 0;
     uint8_t sizeBytes[2] = { 0 };
     uint8_t buffer[104] = { 0 };
-    uint8_t data[3] = {0};
+    uint16_t data[3] = {0};
 
     if (xbee.readable() && xbee.getc() == 0x7E) {
         for (uint8_t i = 0; i < 2;) {
@@ -164,36 +172,26 @@
         printBuffer(bufferSize, buffer);
         readRouterAddress(buffer);
         
-        pc.printf("12: %X\n", buffer[12]);
-        pc.printf("13: %X\n", buffer[13]);
-        
-        pc.printf("14: %X\n", buffer[14]);
-        pc.printf("15: %X\n", buffer[15]);
-        
-        pc.printf("16: %X\n", buffer[16]);
-        pc.printf("17: %X\n", buffer[17]);
-        
-        if(buffer[0] == 0x90 && bufferSize == 18) {
-            uint8_t j = 0;
+        if (buffer[0] == 0x90 && bufferSize == 18) {
             for(uint8_t i = 12; i < bufferSize; i += 2) {
-                data[j++] = convert8bitsTo16bits(buffer[i], buffer[i + 1]);
+                data[(i/2)-6] = (buffer[i+1] << 8 ) | (buffer[i] & 0xff);
             }
-            pc.printf("Data 1: %d\n", data[0]);
-            pc.printf("Data 2: %d\n", data[1]);
-            pc.printf("Data 3: %d\n", data[2]);
-        }
-        else if(buffer[0] == 0x90 && bufferSize == 13) {
-            data[0] = buffer[12];
+            // pc.printf("Acceleration X: %d\n", data[0]);
+            // pc.printf("Acceleration Y: %d\n", data[1]);
+            // pc.printf("Acceleration Z: %d\n", data[2]);
+            
+            initSocket(data[0]);
+            
+        } else if (buffer[0] == 0x90 && bufferSize == 13) {
+            //data[0] = buffer[12];
         }
     }
 }
 
 int main() {
     pc.printf("Starting a coordinator... \n");
-    
-    EthernetInterface eth;
-    TCPSocketConnection sock;
-    
+    pc.printf("IP: %s\n", eth.getIPAddress());
+       
     reset = 0;
     wait_ms(1);
     reset = 1;
@@ -212,21 +210,9 @@
     if (eth.connect() != 0) {
         pc.printf("Erreur de connection du RJ45\n"); 
     }
-    if (sock.connect(serverAddress, portNumber) != 0) {
-        pc.printf("Erreur de socket.\n");
-    }
-    //sock.send_all(buffer, sizeof(buffer)-1);
     
-    //initSocket();
-    
-    //Set ticker to blink LED at each 1 sec
-    //Ticker blinkLED;
-   // blinkLED.attach(&toogleLED, 1);
-        
     while(1) {
-        readFrame();
-        //wait_ms(1000);
-        //toogleLED();
+        readDateFromRouter();
     }
 }