tes
Dependencies: ASyncTicker EthernetInterface WebSocketClient mbed-rtos mbed MbedJSONValue xbee_lib
Diff: main.cpp
- 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 +