tes

Dependencies:   ASyncTicker EthernetInterface WebSocketClient mbed-rtos mbed MbedJSONValue xbee_lib

Revision:
6:c1bd3fadce09
Parent:
5:80a7d03c94f5
Child:
7:7039646b7083
--- 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
+