APP3 / Zigbee_communication

Dependents:   Coordinator_node Router_node

Revision:
16:13ab66e244c3
Parent:
11:7b5b9c1ab757
Parent:
15:04e892ae9361
Child:
17:cb6b423b45cd
--- a/xbee.cpp	Tue Feb 14 21:00:47 2017 +0000
+++ b/xbee.cpp	Tue Feb 14 21:05:44 2017 +0000
@@ -1,14 +1,48 @@
 #include "xbee.h"
 
-XBee::XBee(PinName reset, PinName transfer, PinName receive, Mail<char, 250>* m) : 
+XBee::XBee(PinName reset, PinName transfer, PinName receive, Mail<char, 250>* m, Mail<char[256], 16>* w) : 
     rst(reset), comm(transfer, receive)
 {
     // Constructor
     mail = m;
+    webmail = w;
     rst = 0;
     wait(0.4);
     rst = 1;
     wait(3);    // waiting for initiation
+    buffer[0] = '\0';
+}
+
+void XBee::appendBuffer(char* c)
+{
+    int i = 0;
+    int j = 0;
+    
+    while (buffer[i] != '\0') i++;
+    
+    while (c[j]!= '\0' || i < 255)
+    {
+        buffer[i] = c[j];
+        i++;j++;   
+    }
+    buffer[i] = '\0';
+}
+
+void XBee::sendBuffer()
+{
+    char* s = (char *) webmail->alloc();
+    
+    int i = 0;
+    while (buffer[i]!= '\0' || i < 255)
+    {
+        s[i] = buffer[i];
+        i++;
+    }
+    s[i] = '\0';
+    
+    webmail->put((char(*)[256]) s);
+    
+    buffer[0] = '\0';
 }
 
 char XBee::getChar()