UDPversion
Dependencies: XBee mbed NetServicesMin
tcpip/net_routing.cpp@1:3a46d2725374, 2012-04-15 (annotated)
- Committer:
- recotana
- Date:
- Sun Apr 15 10:49:08 2012 +0000
- Revision:
- 1:3a46d2725374
- Parent:
- 0:84a3b029656e
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
recotana | 0:84a3b029656e | 1 | #include "net_routing.h" |
recotana | 0:84a3b029656e | 2 | #include "types.h" |
recotana | 0:84a3b029656e | 3 | #include "config.h" |
recotana | 0:84a3b029656e | 4 | #include "xbee_lib.h" |
recotana | 0:84a3b029656e | 5 | #include "tcp_client.h" |
recotana | 0:84a3b029656e | 6 | |
recotana | 0:84a3b029656e | 7 | |
recotana | 0:84a3b029656e | 8 | extern PrefServer pref; |
recotana | 1:3a46d2725374 | 9 | extern PrefSender spref; |
recotana | 1:3a46d2725374 | 10 | extern PrefReciever rpref; |
recotana | 1:3a46d2725374 | 11 | |
recotana | 0:84a3b029656e | 12 | extern Serial pc; |
recotana | 0:84a3b029656e | 13 | |
recotana | 0:84a3b029656e | 14 | void netRouting(Payload *_payload) |
recotana | 0:84a3b029656e | 15 | { |
recotana | 1:3a46d2725374 | 16 | |
recotana | 1:3a46d2725374 | 17 | // dumpPayload(_payload); |
recotana | 0:84a3b029656e | 18 | |
recotana | 0:84a3b029656e | 19 | |
recotana | 0:84a3b029656e | 20 | switch(_payload->frame.message.device) |
recotana | 0:84a3b029656e | 21 | { |
recotana | 0:84a3b029656e | 22 | case LED_SENDER: |
recotana | 0:84a3b029656e | 23 | { |
recotana | 1:3a46d2725374 | 24 | #ifndef _SERVER_TEST_MODE_ |
recotana | 1:3a46d2725374 | 25 | |
recotana | 1:3a46d2725374 | 26 | xbeeSend(kLedSender,_payload); |
recotana | 1:3a46d2725374 | 27 | #else |
recotana | 1:3a46d2725374 | 28 | |
recotana | 1:3a46d2725374 | 29 | switch(_payload->frame.message.command) |
recotana | 1:3a46d2725374 | 30 | { |
recotana | 1:3a46d2725374 | 31 | case PING: |
recotana | 1:3a46d2725374 | 32 | { |
recotana | 1:3a46d2725374 | 33 | dumpPrefSender(&spref); |
recotana | 1:3a46d2725374 | 34 | memcpy(_payload->frame.message.data,&spref,sizeof(PrefSender)); |
recotana | 1:3a46d2725374 | 35 | _payload->frame.message.device=LED_SENDER; |
recotana | 1:3a46d2725374 | 36 | DBGF("******* [TEST MODE] sender ping! **************\r\n"); |
recotana | 1:3a46d2725374 | 37 | } |
recotana | 1:3a46d2725374 | 38 | break; |
recotana | 1:3a46d2725374 | 39 | case SEND_SINGLE: |
recotana | 1:3a46d2725374 | 40 | { |
recotana | 1:3a46d2725374 | 41 | spref.continueusMode=0; |
recotana | 1:3a46d2725374 | 42 | spref.currentFrameNumber=_payload->frame.message.frameNumber; |
recotana | 1:3a46d2725374 | 43 | dumpPrefSender(&spref); |
recotana | 1:3a46d2725374 | 44 | |
recotana | 1:3a46d2725374 | 45 | memcpy(_payload->frame.message.data,&spref,sizeof(PrefSender)); |
recotana | 1:3a46d2725374 | 46 | _payload->frame.message.device=LED_SENDER; |
recotana | 1:3a46d2725374 | 47 | DBGF("******* [TEST MODE] sender single send! **************\r\n"); |
recotana | 1:3a46d2725374 | 48 | |
recotana | 1:3a46d2725374 | 49 | } |
recotana | 1:3a46d2725374 | 50 | break; |
recotana | 1:3a46d2725374 | 51 | case SEND_CONTINUEOUS: |
recotana | 1:3a46d2725374 | 52 | { |
recotana | 1:3a46d2725374 | 53 | spref.continueusMode=1; |
recotana | 1:3a46d2725374 | 54 | spref.currentFrameNumber=_payload->frame.message.frameNumber; |
recotana | 1:3a46d2725374 | 55 | dumpPrefSender(&spref); |
recotana | 1:3a46d2725374 | 56 | |
recotana | 1:3a46d2725374 | 57 | memcpy(_payload->frame.message.data,&spref,sizeof(PrefSender)); |
recotana | 1:3a46d2725374 | 58 | _payload->frame.message.device=LED_SENDER; |
recotana | 1:3a46d2725374 | 59 | DBGF("******* [TEST MODE] sender continues send! **************\r\n"); |
recotana | 1:3a46d2725374 | 60 | |
recotana | 1:3a46d2725374 | 61 | } |
recotana | 1:3a46d2725374 | 62 | break; |
recotana | 1:3a46d2725374 | 63 | case SEND_CONT_STOP: |
recotana | 1:3a46d2725374 | 64 | { |
recotana | 1:3a46d2725374 | 65 | spref.continueusMode=0; |
recotana | 1:3a46d2725374 | 66 | spref.currentFrameNumber=_payload->frame.message.frameNumber; |
recotana | 1:3a46d2725374 | 67 | dumpPrefSender(&spref); |
recotana | 1:3a46d2725374 | 68 | |
recotana | 1:3a46d2725374 | 69 | memcpy(_payload->frame.message.data,&spref,sizeof(PrefSender)); |
recotana | 1:3a46d2725374 | 70 | _payload->frame.message.device=LED_SENDER; |
recotana | 1:3a46d2725374 | 71 | DBGF("******* [TEST MODE] sender continues stop! **************\r\n"); |
recotana | 1:3a46d2725374 | 72 | |
recotana | 1:3a46d2725374 | 73 | } |
recotana | 1:3a46d2725374 | 74 | break; |
recotana | 1:3a46d2725374 | 75 | |
recotana | 1:3a46d2725374 | 76 | case SET_TX_GAIN: |
recotana | 1:3a46d2725374 | 77 | { |
recotana | 1:3a46d2725374 | 78 | spref.gainData.gain=_payload->frame.message.data[0]; |
recotana | 1:3a46d2725374 | 79 | spref.gainData.middleLevel=_payload->frame.message.data[1]; |
recotana | 1:3a46d2725374 | 80 | |
recotana | 1:3a46d2725374 | 81 | dumpPrefSender(&spref); |
recotana | 1:3a46d2725374 | 82 | |
recotana | 1:3a46d2725374 | 83 | memcpy(_payload->frame.message.data,&spref,sizeof(PrefSender)); |
recotana | 1:3a46d2725374 | 84 | _payload->frame.message.device=LED_SENDER; |
recotana | 1:3a46d2725374 | 85 | DBGF("******* [TEST MODE] sender tx lebel set! **************\r\n"); |
recotana | 1:3a46d2725374 | 86 | } |
recotana | 1:3a46d2725374 | 87 | break; |
recotana | 1:3a46d2725374 | 88 | case SET_LIGHT_CONTROL: |
recotana | 1:3a46d2725374 | 89 | { |
recotana | 1:3a46d2725374 | 90 | spref.lightsw=_payload->frame.message.data[0]; |
recotana | 1:3a46d2725374 | 91 | |
recotana | 1:3a46d2725374 | 92 | dumpPrefSender(&spref); |
recotana | 1:3a46d2725374 | 93 | |
recotana | 1:3a46d2725374 | 94 | memcpy(_payload->frame.message.data,&spref,sizeof(PrefSender)); |
recotana | 1:3a46d2725374 | 95 | _payload->frame.message.device=LED_SENDER; |
recotana | 1:3a46d2725374 | 96 | DBGF("******* [TEST MODE] sender light on set! **************\r\n"); |
recotana | 1:3a46d2725374 | 97 | |
recotana | 1:3a46d2725374 | 98 | } |
recotana | 1:3a46d2725374 | 99 | break; |
recotana | 1:3a46d2725374 | 100 | } |
recotana | 1:3a46d2725374 | 101 | dumpPayload(_payload); |
recotana | 1:3a46d2725374 | 102 | udpSendPayload(_payload); |
recotana | 1:3a46d2725374 | 103 | #endif |
recotana | 0:84a3b029656e | 104 | break; |
recotana | 0:84a3b029656e | 105 | } |
recotana | 0:84a3b029656e | 106 | |
recotana | 0:84a3b029656e | 107 | case LED_RECIEVER: |
recotana | 0:84a3b029656e | 108 | { |
recotana | 1:3a46d2725374 | 109 | #ifndef _SERVER_TEST_MODE_ |
recotana | 1:3a46d2725374 | 110 | |
recotana | 1:3a46d2725374 | 111 | xbeeSend(kLedReciever,_payload); |
recotana | 1:3a46d2725374 | 112 | #else |
recotana | 1:3a46d2725374 | 113 | if(_payload->frame.message.command==PING){ |
recotana | 1:3a46d2725374 | 114 | dumpPrefReciever(&rpref); |
recotana | 1:3a46d2725374 | 115 | memcpy(_payload->frame.message.data,&rpref,sizeof(PrefReciever)); |
recotana | 1:3a46d2725374 | 116 | _payload->frame.message.device=LED_RECIEVER; |
recotana | 1:3a46d2725374 | 117 | dumpPayload(_payload); |
recotana | 1:3a46d2725374 | 118 | udpSendPayload(_payload); |
recotana | 1:3a46d2725374 | 119 | DBGF("******* [TEST MODE] reciever ping! **************\r\n"); |
recotana | 1:3a46d2725374 | 120 | |
recotana | 1:3a46d2725374 | 121 | } |
recotana | 1:3a46d2725374 | 122 | |
recotana | 1:3a46d2725374 | 123 | #endif |
recotana | 0:84a3b029656e | 124 | break; |
recotana | 0:84a3b029656e | 125 | } |
recotana | 0:84a3b029656e | 126 | case SERVER: |
recotana | 0:84a3b029656e | 127 | { |
recotana | 0:84a3b029656e | 128 | if(_payload->frame.message.command==PING){ |
recotana | 1:3a46d2725374 | 129 | #ifdef _SERVER_TEST_MODE_ |
recotana | 1:3a46d2725374 | 130 | dumpPrefServer(&pref); |
recotana | 1:3a46d2725374 | 131 | #endif |
recotana | 1:3a46d2725374 | 132 | memcpy(_payload->frame.message.data,&pref,sizeof(PrefServer)); |
recotana | 0:84a3b029656e | 133 | _payload->frame.message.device=SERVER; |
recotana | 0:84a3b029656e | 134 | udpSendPayload(_payload); |
recotana | 1:3a46d2725374 | 135 | DBGF("******* server ping! **************\r\n"); |
recotana | 0:84a3b029656e | 136 | } |
recotana | 0:84a3b029656e | 137 | break; |
recotana | 0:84a3b029656e | 138 | } |
recotana | 0:84a3b029656e | 139 | |
recotana | 0:84a3b029656e | 140 | } |
recotana | 0:84a3b029656e | 141 | |
recotana | 0:84a3b029656e | 142 | |
recotana | 0:84a3b029656e | 143 | } |