Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Revision 5:387b2ebf6b91, committed 2015-11-10
- Comitter:
- mfrede
- Date:
- Tue Nov 10 23:30:11 2015 +0000
- Parent:
- 4:024e613151a5
- Child:
- 6:1fe84e29b486
- Commit message:
- Implement send and receive functions with packet
Changed in this revision
remote.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/remote.cpp Tue Nov 10 23:09:18 2015 +0000 +++ b/remote.cpp Tue Nov 10 23:30:11 2015 +0000 @@ -22,11 +22,11 @@ Serial pc(USBTX, USBRX); // Used for sending and receiving -char txBuffer[128]; -char rxBuffer[128]; +//char txBuffer[128]; +//char rxBuffer[128]; int rxLen; - -packet buffer; +packet* txBuffer; +packet* rxBuffer; //***************** Do not change these methods (please) *****************// @@ -43,12 +43,18 @@ if(len > 4) { //valid data with full header - if(data.to != NODE) + if(data->to != NODE) { //throw out the data return 0; } - pc.printf("Received data for us from node: %d\r\n",data.from); + pc.printf("Received data for us from node: %d TTL: %d\r\n",data->from,data->TTL); + + switch(data->TYPE) + { + case HELLO_TYPE: + pc.printf("HELLO\r\n"); + } //pc.printf("Received: %s length:%d\r\n", data, ((int)len)-10); } @@ -66,16 +72,11 @@ */ void rf_send(packet *data, uint8_t len) { - uint8_t *send_buf = (uint8_t *) malloc( sizeof(uint8_t) * (len+8) ); - for(uint8_t i = 0; i < len+8; i++) { - //prepend the 8-byte header - send_buf[i] = (i<8) ? header[i] : data[i-8]; - } - //pc.printf("Sent: %s\r\n", send_buf+8); + data->from = NODE; + - mrf.Send(send_buf, len+8); - free(send_buf); + mrf.Send((uint8_t *) data, (len*4)+4); } @@ -103,7 +104,7 @@ while(true) { //Try to receive some data - rxLen = rf_receive(rxBuffer, 128); + rxLen = rf_receive(rxBuffer, 2); if(rxLen > 0) { @@ -112,23 +113,23 @@ led1 = 1; begin = timer.read_ms(); end = begin + 1000; - strcpy(txBuffer, "n"); + //strcpy(txBuffer, "n"); while(current < end) { current = timer.read_ms(); - val = button.read(); - //printf("val: %f\r\n",val); - if(val < 0.1f ) { - strcpy(txBuffer, "y"); ///send "y" if press - break; - } + // val = button.read(); +// //printf("val: %f\r\n",val); +// if(val < 0.1f ) { +// strcpy(txBuffer, "y"); ///send "y" if press +// break; +// } }//end of 1 sec while loop led1 = 0; //Switch of the Led - rf_send(txBuffer, strlen(txBuffer) + 1); // send data +// rf_send(txBuffer, strlen(txBuffer) + 1); // send data pc.printf("Sent: %s\r\n", txBuffer); }//end of if loop