tes

Dependencies:   ASyncTicker EthernetInterface WebSocketClient mbed-rtos mbed MbedJSONValue xbee_lib

Committer:
ammanvedi
Date:
Mon Feb 03 12:07:53 2014 +0000
Revision:
6:c1bd3fadce09
Parent:
5:80a7d03c94f5
Child:
7:7039646b7083
v1.3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ammanvedi 5:80a7d03c94f5 1 #include "btNode.h"
ammanvedi 5:80a7d03c94f5 2 #include "mbed.h"
ammanvedi 5:80a7d03c94f5 3 #include "xbee.h"
ammanvedi 5:80a7d03c94f5 4 #include "xbeeFrame.h"
ammanvedi 5:80a7d03c94f5 5
ammanvedi 5:80a7d03c94f5 6 const char btNode::ADDRESS[8] = {0x00, 0x13, 0xA2, 0x00, 0x40, 0x9B, 0x6D, 0xB0};
ammanvedi 5:80a7d03c94f5 7
ammanvedi 5:80a7d03c94f5 8 btNode::btNode(int D_ID){
ammanvedi 5:80a7d03c94f5 9 ID = D_ID;
ammanvedi 5:80a7d03c94f5 10
ammanvedi 5:80a7d03c94f5 11 }
ammanvedi 5:80a7d03c94f5 12
ammanvedi 5:80a7d03c94f5 13 std::string btNode::SendMessage(std::string msg) {
ammanvedi 5:80a7d03c94f5 14
ammanvedi 5:80a7d03c94f5 15 xbeeFrame xbee(p9,
ammanvedi 5:80a7d03c94f5 16 p10,
ammanvedi 5:80a7d03c94f5 17 p11);
ammanvedi 5:80a7d03c94f5 18
ammanvedi 5:80a7d03c94f5 19 std::string full_msg = "";
ammanvedi 5:80a7d03c94f5 20
ammanvedi 5:80a7d03c94f5 21 char send_data[50] = "xbee string";
ammanvedi 5:80a7d03c94f5 22
ammanvedi 5:80a7d03c94f5 23 char to_send[100];
ammanvedi 5:80a7d03c94f5 24 char * p = to_send;
ammanvedi 5:80a7d03c94f5 25 char * r = send_data;
ammanvedi 5:80a7d03c94f5 26
ammanvedi 5:80a7d03c94f5 27 while (*r)
ammanvedi 5:80a7d03c94f5 28 {
ammanvedi 5:80a7d03c94f5 29 *p++ = *r++;
ammanvedi 5:80a7d03c94f5 30 }
ammanvedi 5:80a7d03c94f5 31
ammanvedi 5:80a7d03c94f5 32 *p++ = ' ';
ammanvedi 5:80a7d03c94f5 33 r = (char *)msg.c_str();
ammanvedi 5:80a7d03c94f5 34
ammanvedi 5:80a7d03c94f5 35 while (*r)
ammanvedi 5:80a7d03c94f5 36 {
ammanvedi 5:80a7d03c94f5 37 *p++ = *r++;
ammanvedi 5:80a7d03c94f5 38 }
ammanvedi 5:80a7d03c94f5 39
ammanvedi 5:80a7d03c94f5 40 *p++ = '\r';
ammanvedi 5:80a7d03c94f5 41 *p = '\0';
ammanvedi 5:80a7d03c94f5 42
ammanvedi 6:c1bd3fadce09 43 //printf("the data to send from class is %s\n\r\n\r", to_send);
ammanvedi 5:80a7d03c94f5 44
ammanvedi 5:80a7d03c94f5 45 char data_buf[50];
ammanvedi 5:80a7d03c94f5 46
ammanvedi 5:80a7d03c94f5 47 xbee.InitFrame();
ammanvedi 5:80a7d03c94f5 48 xbee.SetDestination((unsigned char *) ADDRESS);
ammanvedi 5:80a7d03c94f5 49 xbee.SetPayload(to_send);
ammanvedi 6:c1bd3fadce09 50 printf("--> Sending payload: %s\n\r\n\r", to_send);
ammanvedi 5:80a7d03c94f5 51 xbee.AssembleFrame();
ammanvedi 5:80a7d03c94f5 52 xbee.SendFrame();
ammanvedi 5:80a7d03c94f5 53
ammanvedi 5:80a7d03c94f5 54
ammanvedi 5:80a7d03c94f5 55
ammanvedi 5:80a7d03c94f5 56 for (int i = 0; i < 2; i++)
ammanvedi 5:80a7d03c94f5 57 {
ammanvedi 5:80a7d03c94f5 58 xbee.ReceiveFrame(data_buf, 500);
ammanvedi 5:80a7d03c94f5 59
ammanvedi 5:80a7d03c94f5 60 if (xbee.frameReceived)
ammanvedi 5:80a7d03c94f5 61 {
ammanvedi 5:80a7d03c94f5 62 xbee.frameReceived = 0;
ammanvedi 5:80a7d03c94f5 63
ammanvedi 5:80a7d03c94f5 64 if (xbee.GetType() == TX_STATUS)
ammanvedi 5:80a7d03c94f5 65 {
ammanvedi 5:80a7d03c94f5 66 if (xbee.GetStatus() == 0)
ammanvedi 5:80a7d03c94f5 67 {
ammanvedi 6:c1bd3fadce09 68 printf("--> Send success!\n\r");
ammanvedi 5:80a7d03c94f5 69 }
ammanvedi 5:80a7d03c94f5 70 else
ammanvedi 5:80a7d03c94f5 71 {
ammanvedi 6:c1bd3fadce09 72 printf("--> Send failed :(\n\r");
ammanvedi 6:c1bd3fadce09 73 //return "sending failed....";
ammanvedi 5:80a7d03c94f5 74 }
ammanvedi 5:80a7d03c94f5 75 }
ammanvedi 5:80a7d03c94f5 76 else if (xbee.GetType() == RX_PACKET_64)
ammanvedi 5:80a7d03c94f5 77 {
ammanvedi 6:c1bd3fadce09 78 printf("--> Received data: %s\n\r", data_buf);
ammanvedi 5:80a7d03c94f5 79 }
ammanvedi 5:80a7d03c94f5 80 }
ammanvedi 5:80a7d03c94f5 81 }
ammanvedi 5:80a7d03c94f5 82
ammanvedi 5:80a7d03c94f5 83
ammanvedi 5:80a7d03c94f5 84
ammanvedi 5:80a7d03c94f5 85 std::string response(data_buf);
ammanvedi 5:80a7d03c94f5 86 return response ;
ammanvedi 5:80a7d03c94f5 87
ammanvedi 5:80a7d03c94f5 88 }