UDPversion

Dependencies:   XBee mbed NetServicesMin

tcpip/net_routing.cpp

Committer:
recotana
Date:
2012-04-14
Revision:
0:84a3b029656e
Child:
1:3a46d2725374

File content as of revision 0:84a3b029656e:

#include "net_routing.h"
#include "types.h"
#include "config.h"
#include "xbee_lib.h"
#include "tcp_client.h"


extern PrefServer pref;
extern Serial pc;

void netRouting(Payload *_payload)
{
    

    #ifdef _SERVER_TEST_MODE_
        tcpSendPayload(_payload);

    #else
    
    dumpPayload(_payload);
    
    uint32_t xbeeAdr=0;
    
    switch(_payload->frame.message.device)
    {
        case LED_SENDER:
        {
            xbeeAdr = kLedSender;
            xbeeSend(xbeeAdr,_payload);
            break;
        }
        
        case LED_RECIEVER:
        {
            xbeeAdr = kLedReciever;
            xbeeSend(xbeeAdr,_payload);
            break;
        }
        case SERVER:
        {
            if(_payload->frame.message.command==PING){
                memcpy(_payload->frame.message.data,&pref,sizeof(pref));
                _payload->frame.message.device=SERVER;
                udpSendPayload(_payload);
                pc.printf("*******  ping!  **************\r\n");
            }
            break;
        }
    
    }
    

    
    #endif
    
}