Code APP3

Dependencies:   mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial

Fork of APP3_Lab by Jean-Philippe Fournier

Files at this revision

API Documentation at this revision

Comitter:
Cheroukee
Date:
Sat Sep 30 19:09:52 2017 +0000
Parent:
5:9e6a09a38785
Child:
7:b054ce191070
Commit message:
Added parser Hex value decoded to int

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
parser.cpp Show annotated file Show diff for this revision Revisions of this file
xbee.cpp Show annotated file Show diff for this revision Revisions of this file
xbee.h Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sat Sep 30 18:36:28 2017 +0000
+++ b/main.cpp	Sat Sep 30 19:09:52 2017 +0000
@@ -9,10 +9,12 @@
 
 Serial pc(USBTX, USBRX); // tx, rx
 
+char recv_buff[2048] = {0};
+
 int main() {
 
     ReadFile();
-    
+
     xbee_init();
 
     char c;
@@ -29,15 +31,24 @@
 #endif
 
     while(1) {
-        if (pc.readable())
+        /*if (pc.readable())
         {     
             c = pc.getc();
             xbee.putc(c);      
             //pc.putc(c);         
-        }
-        if (xbee.readable())
+        }*/
+
+        int recv_len = receive(recv_buff, 2048);
+
+        if (recv_len > 0)
         {
-            pc.putc(xbee.getc());            
-        }       
+            pc.printf("DATA RECEIVED : ");
+            for (int i = 0; i < recv_len; i++)
+            {
+                pc.putc(recv_buff[i]);            
+            }
+            pc.printf("\n\r");
+        }
+        
     }
 }
--- a/parser.cpp	Sat Sep 30 18:36:28 2017 +0000
+++ b/parser.cpp	Sat Sep 30 19:09:52 2017 +0000
@@ -1,6 +1,6 @@
 #include "parser.h"
 
-char PanID[10] = {0};
+unsigned int PanID;
 char URL[255] = {0};
 
 LocalFileSystem local("local");
@@ -16,9 +16,11 @@
     else
     {
         pc.printf("Config file opened. \n\r");
-        fscanf(fp,"%s",&PanID); // read PanId
-        fscanf(fp,"%s",&URL); // read URL        
-        pc.printf("PanId : %s\r\n",PanID); // Display PanId
+        if (fscanf(fp,"0x%x", &PanID) > 0)
+        {
+            pc.printf("PanId : 0x%x value : %u\r\n", PanID, PanID); // Display PanId
+        }
+        fscanf(fp,"%s",URL); // read URL        
         pc.printf("ServeurURL : %s\r\n",URL); // Display URL
         fclose(fp);
     }
--- a/xbee.cpp	Sat Sep 30 18:36:28 2017 +0000
+++ b/xbee.cpp	Sat Sep 30 19:09:52 2017 +0000
@@ -196,13 +196,8 @@
     
     while(xbee.readable() && length < max_length)
     {
-        xbee_receive_led = !xbee_receive_led;
         buffer[length++] = xbee.getc();        
-    }       
-    
-    for (int i = 17; i < length - 1; i++)
-    {
-       // pc.putc(ReceiveBuffer[i]);
-    }
+    }    
+    xbee_receive_led = !xbee_receive_led;
     return length;    
 }
--- a/xbee.h	Sat Sep 30 18:36:28 2017 +0000
+++ b/xbee.h	Sat Sep 30 19:09:52 2017 +0000
@@ -120,13 +120,16 @@
 void set_at_command(int at_command);
 // Set l'address 64 bit 
 void set_64_addr(zigbee_addr_64_t address);
+// Set l'address 16 bit 
 void set_16_addr(zigbee_addr_16_t address);
 
+// Set le radius
 void set_broadcast_radius(int position, char radius);
+// Set les options a la position indiquée
 void set_transmit_request_options(int position, char options);
-
+// Set le data du transmit request
 void set_transmit_request_data(char* data, int data_length);
-
+// Fonctions de transmission variées pour les différentes situations
 bool transmit_request_64(char* buffer, int data_length, char options, zigbee_addr_64_t destination);
 bool transmit_request_16(char* buffer, int data_length, char options, zigbee_addr_16_t destination);
 bool transmit_request(char* buffer, int data_length, char options, zigbee_addr_64_t destination64, zigbee_addr_16_t destination16);