tes

Dependencies:   ASyncTicker EthernetInterface WebSocketClient mbed-rtos mbed MbedJSONValue xbee_lib

Files at this revision

API Documentation at this revision

Comitter:
ammanvedi
Date:
Mon Feb 03 12:07:53 2014 +0000
Parent:
5:80a7d03c94f5
Child:
7:7039646b7083
Commit message:
v1.3

Changed in this revision

btNode.cpp Show annotated file Show diff for this revision Revisions of this file
btNode.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/btNode.cpp	Sat Feb 01 17:30:02 2014 +0000
+++ b/btNode.cpp	Mon Feb 03 12:07:53 2014 +0000
@@ -40,14 +40,14 @@
         *p++ = '\r';
         *p   = '\0';
         
-        printf("the data to send from class  is %s\n\r\n\r", to_send);
+        //printf("the data to send from class  is %s\n\r\n\r", to_send);
         
         char data_buf[50];
 
         xbee.InitFrame();
         xbee.SetDestination((unsigned char *) ADDRESS);
         xbee.SetPayload(to_send);
-        printf("sending payload: %s\n\r\n\r", to_send);
+        printf("--> Sending payload: %s\n\r\n\r", to_send);
         xbee.AssembleFrame();
         xbee.SendFrame();
         
@@ -65,17 +65,17 @@
                 {
                     if (xbee.GetStatus() == 0)
                     {
-                        printf("Send success!\n\r");
+                        printf("--> Send success!\n\r");
                     }
                     else
                     {
-                        //printf("Send failed :(\n\r");
-                        return "sending failed....";
+                        printf("--> Send failed :(\n\r");
+                        //return "sending failed....";
                     }
                 }
                 else if (xbee.GetType() == RX_PACKET_64)
                 {
-                    printf("Received data: %s\n\r", data_buf);
+                    printf("--> Received data: %s\n\r", data_buf);
                 }
             }
         }
@@ -83,8 +83,6 @@
         
         
         std::string response(data_buf);
-        
-        
         return response ;
 
 }
\ No newline at end of file
--- a/btNode.h	Sat Feb 01 17:30:02 2014 +0000
+++ b/btNode.h	Mon Feb 03 12:07:53 2014 +0000
@@ -9,6 +9,7 @@
 public:
     btNode(int D_ID);
     std::string SendMessage(std::string msg);
+    int getID(){return ID;};
   
 private:  
     int ID;
--- a/main.cpp	Sat Feb 01 17:30:02 2014 +0000
+++ b/main.cpp	Mon Feb 03 12:07:53 2014 +0000
@@ -8,6 +8,7 @@
 #include <ctype.h>
 #include <string>
 #include "btNode.h"
+#include <map>
 #define PORT 80
 
 // status leds
@@ -19,33 +20,12 @@
 // lit - successful socket connection
 DigitalOut led_socket(LED2);
 
+map<int, btNode> BTnodes;
+
 EthernetInterface ethernet;
 Websocket         ws("ws://192.168.0.4:8080/");
 
 
-btNode b(30);
-
-/* v1 depreciated
-
-xbeeFrame xbee(p9,
-               p10,
-               p11);
-
-
-
-char dest_address[8] =
-{
-    0x00, 0x13, 0xA2, 0x00, 0x40, 0x9B, 0x6D, 0xB0
-};
-char       send_data[50]   = "xbee string";
-
-*/
-
-void pull_requests()
-{
-}
-
-
 
 void pull_updates()
 {
@@ -89,95 +69,36 @@
         MbedJSONValue updt_res;
 
         parse(updt_res, str);
-        printf("msg form svr: %s\n\r", updt_res);
+        printf("> %s from svr with data %s\n\r", updt_res["TYPE"].get<std::string>().c_str(), updt_res["DATA"].get<std::string>().c_str());
         sscanf((char *) updt_res["DATA"].get<std::string>().c_str(), "%s %[^\t]", id, new_msg);
 
-        // printf("the id : %s will update to : %s\n\r", id, new_msg);
         // send string to xbee HERE
         if (strlen(new_msg) == 0)
         {
-            printf("nothing to update, better luck next time! (svr response: %s)\n\r", id);
-
+            printf("--> Nothing to update.\n\r\n\r");
             return;
-        }
-        else
-        {
-            // data was revieved
-            printf("id :  %s  string: %s (original: %s) \n\r", id, new_msg, str);
+        }else{
+            printf("--> id :  %s  string: %s \n\r", id, new_msg);
         }
         
         std::string real_msg(new_msg);
         
-        std::string result = b.SendMessage(real_msg);
+        btNode bt = BTnodes.find(atoi(id))->second;
         
-        printf("xbee response : %s\n\r\n\r", result);
-        
+        printf("> Found device with ID : %d\n\r\n\r", bt.getID());
         
-/* V1 DEPRECIATED
-        char   to_send[100];
-        char * p = to_send;
-        char * r = send_data;
-
-        while (*r)
-        {
-            *p++ = *r++;
-        }
-
-        *p++ = ' ';
-        r    = new_msg;
-
-        while (*r)
-        {
-            *p++ = *r++;
-        }
-
-        *p++ = '\r';
-        *p   = '\0';
-
-        char data_buf[50];
-
-        xbee.InitFrame();
-        xbee.SetDestination((unsigned char *) dest_address);
-        xbee.SetPayload(to_send);
-        printf("sending payload: %s\n\r", to_send);
-        xbee.AssembleFrame();
-        xbee.SendFrame();
-
-        for (int i = 0; i < 2; i++)
-        {
-            xbee.ReceiveFrame(data_buf, 500);
-
-            if (xbee.frameReceived)
-            {
-                xbee.frameReceived = 0;
-
-                if (xbee.GetType() == TX_STATUS)
-                {
-                    if (xbee.GetStatus() == 0)
-                    {
-                        printf("Send success!\n\r");
-                    }
-                    else
-                    {
-                        printf("Send failed :(\n\r");
-                    }
-                }
-                else if (xbee.GetType() == RX_PACKET_64)
-                {
-                    printf("Received data: %s\n\r", data_buf);
-                }
-            }
-        }
-    } 
-    */
-}
+        std::string result = bt.SendMessage(real_msg);
+        
+        printf("--> xbee response : %s\n\r\n\r", result.c_str());
+        
+    }
 }
 
 int main()
 {
     
-    
-    
+    btNode b(30);
+    BTnodes.insert(pair<int, btNode>(30,b));
     
     led_ethernet = 0;
     led_socket   = 0;
@@ -219,10 +140,8 @@
             timer.start();
         }
     }
-
-    // pull_updates();
-    ws.close();
+    //ws.close();
 }
 
 
-//~ Formatted by Jindent --- http://www.jindent.com
+