server/client

Dependencies:   mbed NetServicesMin

Committer:
recotana
Date:
Thu Feb 23 02:38:05 2012 +0000
Revision:
1:6e61ee662fd3
added standalone test mode

Who changed what in which revision?

UserRevisionLine numberNew contents of line
recotana 1:6e61ee662fd3 1 #include "xbee_rec_route.h"
recotana 1:6e61ee662fd3 2 #include "config.h"
recotana 1:6e61ee662fd3 3 #include "XBee.h"
recotana 1:6e61ee662fd3 4
recotana 1:6e61ee662fd3 5 #include "types.h"
recotana 1:6e61ee662fd3 6
recotana 1:6e61ee662fd3 7 #include "xbee_lib.h"
recotana 1:6e61ee662fd3 8 #include "tcp_client.h"
recotana 1:6e61ee662fd3 9 #include "leds.h"
recotana 1:6e61ee662fd3 10
recotana 1:6e61ee662fd3 11 extern XBee xbee;
recotana 1:6e61ee662fd3 12 extern ZBRxResponse zbRx;
recotana 1:6e61ee662fd3 13
recotana 1:6e61ee662fd3 14
recotana 1:6e61ee662fd3 15 void xbeeRecieveRouting(void)
recotana 1:6e61ee662fd3 16 {
recotana 1:6e61ee662fd3 17
recotana 1:6e61ee662fd3 18 xbeeReadPacket();
recotana 1:6e61ee662fd3 19
recotana 1:6e61ee662fd3 20
recotana 1:6e61ee662fd3 21 if (isXbeeAvaiable()) {
recotana 1:6e61ee662fd3 22
recotana 1:6e61ee662fd3 23
recotana 1:6e61ee662fd3 24
recotana 1:6e61ee662fd3 25 DBGF("xbee aviable!\r\n");
recotana 1:6e61ee662fd3 26
recotana 1:6e61ee662fd3 27 if (xbee.getResponse().getApiId() == ZB_RX_RESPONSE) {
recotana 1:6e61ee662fd3 28
recotana 1:6e61ee662fd3 29 ledXBee();
recotana 1:6e61ee662fd3 30
recotana 1:6e61ee662fd3 31 xbee.getResponse().getZBRxResponse(zbRx);
recotana 1:6e61ee662fd3 32
recotana 1:6e61ee662fd3 33 Payload payload;
recotana 1:6e61ee662fd3 34
recotana 1:6e61ee662fd3 35 uint16_t length = (unsigned char)zbRx.getData()[0];
recotana 1:6e61ee662fd3 36 length =(length<<8) + (unsigned char)zbRx.getData()[1];
recotana 1:6e61ee662fd3 37
recotana 1:6e61ee662fd3 38 DBGV("length=%04X\r\n",length);
recotana 1:6e61ee662fd3 39
recotana 1:6e61ee662fd3 40 memcpy(&payload, (unsigned char *)zbRx.getData(), length);
recotana 1:6e61ee662fd3 41
recotana 1:6e61ee662fd3 42 networkToPayload(&payload);
recotana 1:6e61ee662fd3 43
recotana 1:6e61ee662fd3 44 routing(&payload);
recotana 1:6e61ee662fd3 45 /*
recotana 1:6e61ee662fd3 46 printf("xbee recieve!! size:%d\r\n",length);
recotana 1:6e61ee662fd3 47
recotana 1:6e61ee662fd3 48 printf("---------dump end\r\n");
recotana 1:6e61ee662fd3 49 */
recotana 1:6e61ee662fd3 50
recotana 1:6e61ee662fd3 51
recotana 1:6e61ee662fd3 52
recotana 1:6e61ee662fd3 53 }
recotana 1:6e61ee662fd3 54 // printf("\r\n");
recotana 1:6e61ee662fd3 55 }
recotana 1:6e61ee662fd3 56
recotana 1:6e61ee662fd3 57
recotana 1:6e61ee662fd3 58 }
recotana 1:6e61ee662fd3 59
recotana 1:6e61ee662fd3 60 void routing(Payload *_payload)
recotana 1:6e61ee662fd3 61 {
recotana 1:6e61ee662fd3 62 // dumpPayload(_payload);
recotana 1:6e61ee662fd3 63 switch(_payload->message.command)
recotana 1:6e61ee662fd3 64 {
recotana 1:6e61ee662fd3 65 case SEND:
recotana 1:6e61ee662fd3 66 {
recotana 1:6e61ee662fd3 67 _payload->message.command=ACK;
recotana 1:6e61ee662fd3 68 // xbeeSend(0x4086B0D5,_payload);
recotana 1:6e61ee662fd3 69 DBGF("******* send! *******\r\n");
recotana 1:6e61ee662fd3 70 }
recotana 1:6e61ee662fd3 71 break;
recotana 1:6e61ee662fd3 72
recotana 1:6e61ee662fd3 73 case RECIEVE:
recotana 1:6e61ee662fd3 74 {
recotana 1:6e61ee662fd3 75 DBGF("****** recieve! *******\r\n");
recotana 1:6e61ee662fd3 76 }
recotana 1:6e61ee662fd3 77 break;
recotana 1:6e61ee662fd3 78
recotana 1:6e61ee662fd3 79 case PING:
recotana 1:6e61ee662fd3 80 {
recotana 1:6e61ee662fd3 81 _payload->message.command=ACK;
recotana 1:6e61ee662fd3 82 // xbeeSend(0x4086B0D5,_payload);
recotana 1:6e61ee662fd3 83 tcpSendPayload(_payload);
recotana 1:6e61ee662fd3 84 DBGF("******* ping! **************\r\n");
recotana 1:6e61ee662fd3 85 }
recotana 1:6e61ee662fd3 86 break;
recotana 1:6e61ee662fd3 87
recotana 1:6e61ee662fd3 88 case ACK:
recotana 1:6e61ee662fd3 89 {
recotana 1:6e61ee662fd3 90 tcpSendPayload(_payload);
recotana 1:6e61ee662fd3 91 DBGF("******* ACK! **************\r\n");
recotana 1:6e61ee662fd3 92 }
recotana 1:6e61ee662fd3 93 break;
recotana 1:6e61ee662fd3 94 }
recotana 1:6e61ee662fd3 95
recotana 1:6e61ee662fd3 96 }