server/client
Dependencies: mbed NetServicesMin
main.cpp
- Committer:
- recotana
- Date:
- 2012-02-23
- Revision:
- 1:6e61ee662fd3
- Parent:
- 0:432b571e11a3
File content as of revision 1:6e61ee662fd3:
#include "mbed.h" #include "xbee_lib.h" #include "EthernetNetIf.h" #include "config.h" #include "tcp_server.h" #include "tcp_client.h" #include "xbee_rec_route.h" #include "leds.h" EthernetNetIf eth ; Ticker connectCheck; #ifdef _SERVER_TEST_MODE_ #include "data_models.h" DigitalIn recSw(p20); Timeout chatter; bool isPressed; void testModeInit(void) { recSw.mode(PullUp); } void testSendRecieveData() { Payload payload; initPayload(&payload); payload.size=sizeof(Payload); payload.id.head=0x0000; uint8_t tmpid[14]={0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x40,0x41,0x42,0x43,0x44}; for(int i=0;i<sizeof(tmpid);i++) payload.id.personalId[i]=tmpid[i]; payload.message.frameNumber=1; payload.message.device=LED_RECIEVER; payload.message.command=RECIEVE; uint8_t tmpdata[42]={ 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, 41,42}; for(int i=0;i<sizeof(tmpdata);i++) payload.message.data[i]=tmpdata[i]; payload.message.totalSize= sizeof(payload.message.totalSize) +sizeof(payload.message.frameNumber) +sizeof(payload.message.device) +sizeof(payload.message.command) +sizeof(payload.message.data); tcpSendPayload(&payload); } #endif int main() { #ifdef _SERVER_TEST_MODE_ testModeInit(); #endif xbeeInit(); EthernetNetIf eth( // -- static IP address IpAddr(kSserverIp), // IP Address IpAddr(kSubnetMask), // Subnet Mask IpAddr(kRouterIp), // Default Gateway IpAddr(kRouterIp) // DNS Server ) ; if( eth.setup() != ETH_OK ) { DBGF("Ether Setup Error\r\n"); return -1; } DBGF("Setup OK\r\n"); IpAddr ip = eth.getIp() ; DBGV("mbed IP Address is [%d.%d.%d.%d]\r\n", ip[0], ip[1], ip[2], ip[3]) ; serverInit(); clientInit(); connectCheckStart( IpAddr(kClientIp),kClientPort ); wait(2); ledEther(); ledXBee(); ledDevice(); while(1) { Net::poll(); #ifdef _SERVER_TEST_MODE_ if(!recSw){ testSendRecieveData(); wait(2); } #else xbeeRecieveRouting(); #endif } }