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.
Revision 20:d29e04f0a066, committed 2020-07-02
- Comitter:
- amolkulk
- Date:
- Thu Jul 02 16:01:18 2020 +0000
- Parent:
- 19:29a983e47ef3
- Commit message:
- Packet Loss bug solved: Rx timeout needs to be reset in the slave node after sending pong response
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 29a983e47ef3 -r d29e04f0a066 main.cpp --- a/main.cpp Tue Jun 30 16:12:13 2020 +0000 +++ b/main.cpp Thu Jul 02 16:01:18 2020 +0000 @@ -48,6 +48,7 @@ #define RX_TIMEOUT_VALUE 3500 // in ms #define BUFFER_SIZE 32 // Define the payload size here +#define SEC_TO_MSEC (1000) #if( defined ( TARGET_KL25Z ) || defined ( TARGET_LPC11U6X ) ) DigitalOut led( LED2 ); #else @@ -175,12 +176,15 @@ while( 1 ) { - debug("Is master %d, state %d \r\n", isMaster, State); - if(tx_count >= 10){ + debug("Is master %d, app state %d, radio state %d \r\n", isMaster, State, Radio.GetStatus()); + if(tx_count >= 100 && isMaster){ debug("Sent 10 packets\r\n"); debug("Got %d replies\r\n", rx_count); - Radio.Sleep(); - break; + //Radio.Sleep(); + wait_ms(10 * SEC_TO_MSEC); + tx_count = 0; + rx_count = 0; + //break; } switch( State ) { @@ -220,6 +224,7 @@ wait_ms( 10 ); Radio.Send( Buffer, BufferSize ); tx_count++; + } else // valid reception but neither a PING or a PONG message { // Set device as master ans start again @@ -245,6 +250,8 @@ } wait_ms( 10 ); Radio.Send( Buffer, BufferSize ); + debug("sent pong messages\r\n"); + Radio.Rx( RX_TIMEOUT_VALUE ); tx_count++; } else // valid reception but not a PING as expected