<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Thread PER Measurement Example</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/29988/thread-per-measurement-example</link><description>Hello, 
 I&amp;#39;m working with the nRF52840 PDK and the SDK for Thread V0.11.0. The RTT Viewer shows that the program uses the Thread version OPENTHREAD/ga89eb88-dirty. 
 I try to do some measurements with the PER measurement example to get a feeling for</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 05 Feb 2018 09:32:18 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/29988/thread-per-measurement-example" /><item><title>RE: Thread PER Measurement Example</title><link>https://devzone.nordicsemi.com/thread/119692?ContentTypeID=1</link><pubDate>Mon, 05 Feb 2018 09:32:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:035507d2-f56d-4796-88ec-273652d521a9</guid><dc:creator>Fabian Frei</dc:creator><description>&lt;p&gt;Thanks for your answer. Your explanation seems&amp;nbsp;reasonable and I will test it&amp;nbsp; with increased period time as soon as I&amp;#39;ve got the time to do so.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thread PER Measurement Example</title><link>https://devzone.nordicsemi.com/thread/119214?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2018 11:29:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e8c298c-4689-43c0-b00c-217cbe5f9385</guid><dc:creator>Jedrzej Ciupis</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;A probable reason for such a behaviour is running the example in a busy radio environment. With a number of packets in the air, radio CSMA-CA procedure is often repeated and some packets are retransmitted too. Thread specification defines that if an ACK frame expected in response to a sent packet is not received, the packet is retransmitted. The time between retransmissions is equal to 16ms and there can be 4 such retransmissions. The PER measurement example sends a UDP packet once every fixed amount of time. If the time is not long enough to let all the possible retransmissions take place, the application allocates a buffer before a previously used buffer is freed. That might lead to a buffer shortage, which results in the error message you have provided.&lt;/p&gt;
&lt;p&gt;As a solution, I would suggest increasing the time between UDP test packets. It is defined in the main.c file of per_measure_transmitter as &lt;code&gt;TEST_PACKET_SEND_PERIOD&lt;/code&gt; and by default is equal to 10ms. You can experiment with that period, but I couldn&amp;#39;t reproduce the problem after setting it to 30ms. Setting it to 65ms should leave you on the safe side in the worst case (total time needed for the CSMA-CA procedure and retransmissions should not exceed 65ms).&lt;/p&gt;
&lt;p&gt;In concern to your last question - it is difficult to say what results could be expected of a PER measurement, because it depends on a number of factors. The desired value is 0 and perfect radio conditions should result in PER equal to 0. However, due to presence of other nodes in the network, packet collisions, distance between nodes, random noises etc. it is near to impossible to achieve PER equal to 0. To have a functional network, it should be as close as possible to 0 though.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>