BraceletUS / Mbed 2 deprecated S05APP3

Dependencies:   ConfigFile EthernetInterface mbed-rtos mbed

Fork of S05APP3 by App S5

Revision:
1:ceb3f8ba8793
Parent:
0:ec23a7ae804c
Child:
2:3fbf13ba290e
--- a/main.cpp	Thu Feb 09 04:24:55 2017 +0000
+++ b/main.cpp	Fri Feb 10 19:25:34 2017 +0000
@@ -2,14 +2,18 @@
 #include "ConfigFile.h"
 #include "mbed.h"
 
-//To set the xbee
-Serial xbee(p13, p14);
+//Serial avec le Xbee
 DigitalOut reset(p8);
+Serial uart(p13, p14);  // tx, rx
+uint8_t frameSize = 0;
+
+//Serial avec le PC
+Serial pc(USBTX, USBRX); // tx, rx
 
 //Socket Buffer
-char buffer[50];
+uint8_t buffer[104] = {0};
 char serverAddrvalue[32];
-
+TCPSocketConnection sock;
 //Read the config file
 void readConfigFile()
 {
@@ -23,39 +27,65 @@
 //Init RJ45 and use DHCP
 void initRJ45()
 {
-    EthernetInterface rj45;
-    rj45.init(); 
-    rj45.connect();
+    EthernetInterface eth;
+    eth.init(); 
+    eth.connect();
 }
 
 void initSocket()
 {
     //Init Socket
-    TCPSocketConnection sock;
-    sock.connect(serverAddrvalue, 502);
-
-    sprintf (buffer, serverAddrvalue);
+    //sock.connect(serverAddrvalue, 502);
+    sock.connect("192.168.0.103", 502);
     sock.send_all(buffer, sizeof(buffer)-1);
     
     int repSize;
-    while (true) {
-        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);
+    //while (true) {
+
+        //sprintf (buffer, (const char *)uart.getc());
+        //sock.send_all(buffer, sizeof(buffer)-1);
+    
+        //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);
+    //}
+}
+
+void checkChecksum()
+{
+    //On additionne tout les bytes sauf le API Frame et le Length et on fait FF - résultat = checksum
+    for(int i = 2; i < frameSize; i++)
+    {
+    int checkSum += buffer[i]
+    }
+    if((0xFF- checkSum) == buffer[frameSize])
+    {
+        //CheckSum ok
+    }
+    else 
+    {
+        //Error
     }
 }
 
 int main() {
+    reset = 0;
+    wait(0.4);
+    reset = 1;
     
-    readConfigFile();
+    //readConfigFile();
     initRJ45();
     initSocket();
   
-    while(1) {}
+    while(1) {
+        if(uart.readable()) {
+            pc.printf("%i", uart.getc());
+        }
+    }
 }