<?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>Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/52973/error-rate-more-important-in-long-range-125k-than-in-normal-mode-1m</link><description>We made the test with your demo SDK on the board : 
 PCA10056 1.0.0 2018.46 PCA10056 1.1.0 2019.26 
 We modify the code to gate the trace ( see the attach file) 
 And the result are that in 1 Mbits (NO long range) this quite perfect , in Long range 125Kbit</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 29 Oct 2019 11:57:44 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/52973/error-rate-more-important-in-long-range-125k-than-in-normal-mode-1m" /><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/217306?ContentTypeID=1</link><pubDate>Tue, 29 Oct 2019 11:57:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a011286-8b4f-403b-a864-5e662790f816</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi David,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;as stated in the mail, you&amp;#39;ll find the radio_test example with the Errata 191 and 172 workarounds added in the radio_test_orpheo.zip below:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-421db5875bc94f738964589b2ac5a002/radio_5F00_test_5F00_orpheo.zip"&gt;devzone.nordicsemi.com/.../radio_5F00_test_5F00_orpheo.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I did some tests with both 15 and 256 byte payloads on 125kbit mode and the results look very promising. Note that adding the workaround for errata 172 on the nRF52840&amp;nbsp;trades&amp;nbsp;away sensitivity for improved selectivity and rejection.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Results from one of the tests:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Payload 256&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Data rate: RADIO_MODE_MODE_Ble_LR125Kbit&lt;/span&gt;&lt;br /&gt;&lt;span&gt;TX power: RADIO_TXPOWER_TXPOWER_Neg8dBm&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Transmission pattern: TRANSMIT_PATTERN_11110000&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Start Channel:&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Duty cycle:&amp;nbsp; &amp;nbsp; 50&amp;nbsp;percent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;counter_TX:&amp;nbsp;12717&lt;/span&gt;&lt;br /&gt;&lt;span&gt;counter_CRC_OK:&amp;nbsp;12717&lt;/span&gt;&lt;br /&gt;&lt;span&gt;counter_CRC_ERROR: 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;12717/12717=&amp;nbsp;&lt;/span&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/216206?ContentTypeID=1</link><pubDate>Tue, 22 Oct 2019 14:14:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:de666eed-72ac-4502-a4df-04abde7ee312</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi David,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;the feedback I got from R&amp;amp;D was the following:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;em&gt;CRC error count is low so its mainly lost EVENT_ADDRESS, which indicates sync on the packet was not achieved successfully.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The 125Kbit synch is optimized to keep BLE links up and running in as heavy noise and interferer environment as possible,&lt;/em&gt;&lt;br /&gt;&lt;em&gt;which means keeping PER &amp;lt;&amp;lt; 30% for as long as possible as signal to noise and interferer level goes down. &lt;/em&gt;&lt;br /&gt;&lt;em&gt;To achieve this the synch must be as &amp;quot;greedy&amp;quot; as possible, accepting very garbled versions of the synchronization word.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;This increases the probability of occasionally locking to a false pattern, when listening to an &amp;quot;empty&amp;quot; channel for long periods,i.e. 100 us or longer.&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Hence, it is not unlikely that the PER when using 125Kbit mode could be slightly higher compared to 1Mbit when used in a scenario with a strong signal level and low attenuation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However,&amp;nbsp; if the signal power is dropped to a level where the 1MBle looses 50% of the packages, then you should see a significant performance improvement with the 125Kbit mode as a consequence of the synch accepting very garbled versions of the synchronization word.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/216000?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2019 15:39:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3540f09f-7c1e-4ac5-ba16-32beb437e135</guid><dc:creator>David</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Bj&amp;oslash;rn,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;this sound good, I&amp;#39;m waiting some good&amp;nbsp; news for tomorrow.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;best regards&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/215999?ContentTypeID=1</link><pubDate>Mon, 21 Oct 2019 15:36:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6df0cfc7-a513-4091-8973-3412232fd701</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Nicolas,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Runar covered fro me while I was away from Wednesday last week. R&amp;amp;D is looking into the issue, I have forwarded the correspondence we&amp;#39;ve had here on DevZone. Will provide an update tomorrow.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/215476?ContentTypeID=1</link><pubDate>Thu, 17 Oct 2019 11:03:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d10c8cb-7be9-4b3b-ac64-057e53380cf2</guid><dc:creator>ubicore</dc:creator><description>&lt;p&gt;Hi Br, Runar,&lt;/p&gt;
&lt;p&gt;We do the test wired with a coaxial cable and attenuator&lt;br /&gt;Whatever the test conditions, there can not be more loss in &amp;quot;phy coded&amp;quot; / 125 KB than in 1 Mbit&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Nicolas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/215407?ContentTypeID=1</link><pubDate>Thu, 17 Oct 2019 06:44:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad454a2d-b7d6-4afe-9f0a-725a242d8be4</guid><dc:creator>run_ar</dc:creator><description>&lt;p&gt;Hi Nicolas,&lt;/p&gt;
&lt;p&gt;Do you also see this package loss if you test it in an RF chamber?&lt;/p&gt;
&lt;p&gt;Br, Runar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/215247?ContentTypeID=1</link><pubDate>Wed, 16 Oct 2019 10:26:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5786ef9-4eb7-4e40-8ccb-9c33b29ec8c3</guid><dc:creator>ubicore</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;About the 125kbit Long range mode:&lt;/strong&gt;&lt;br /&gt;When you use the TRANSMIT_PATTERN_11110000 the address is fixed, not random.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;case TRANSMIT_PATTERN_11110000:
 NRF_RADIO-&amp;gt;PREFIX0 = 0xF0;
 NRF_RADIO-&amp;gt;BASE0 = 0xF0F0F0F0;Code&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;With two board in Rx mode, some packet are missing (not received) on the two board but not at the same time.&lt;br /&gt;&lt;br /&gt;I did not see any correlation between the moments when the packets are not received on the two board.&lt;br /&gt;&amp;nbsp;Sometime one is received on one side but not on second. Sometime it is the inverse.&lt;br /&gt;&amp;nbsp;This seem to suggest that the problem could be in the Rx side of the Long range module&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;About the 500kbit Long range mode:&lt;/strong&gt;&lt;br /&gt;If you use proprietary format with an only static packet lenght: &lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;PCNF0_LFLEN = 0
PCNF1_STATLEN = YourPacketPayloadSize
PCNF1_MAXLEN = YourPacketPayloadSize&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The packet are received, but CRC indicate an error status on something like 90 or 99% of the transmitted packets.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Nicolas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/215167?ContentTypeID=1</link><pubDate>Tue, 15 Oct 2019 20:54:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b5697144-9f62-491c-887e-411f6aa5e4e8</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi David,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I apologize for the late reply.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I am able to reproduce the issue with two nRF52840 DKs( one v1.0.0 2018.17 and one v1.1.0 2019.19), i.e. I am seeing packets not being received correctly independently of TX output power, duty cycle and frame transmission time&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I thought that it could be due to &lt;a href="https://infocenter.nordicsemi.com/topic/errata_nRF52840_Rev2/ERR/nRF52840/Rev2/latest/anomaly_840_191.html?cp=3_0_1_0_1_23"&gt;[Errata 191] RADIO: High packet error rate in BLE Long Range mode&lt;/a&gt;&amp;nbsp;so&amp;nbsp;I tried adding the workaround to radio_config(), i.e.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;    case RADIO_MODE_MODE_Ble_LR500Kbit:
    case RADIO_MODE_MODE_Ble_LR125Kbit:
    {
        // Workaround for Errata 191
        *(volatile uint32_t *) 0x40001740 = ((*((volatile uint32_t *) 0x40001740)) &amp;amp; 0x7FFF00FF) | 0x80000000 | (((uint32_t)(196)) &amp;lt;&amp;lt; 8);

        // Packet configuration:
        // S1 size = 0 bits, S0 size = 0 bytes, payload length size = 8 bits, 10-bit preamble.
        NRF_RADIO-&amp;gt;PCNF0 = (0UL &amp;lt;&amp;lt; RADIO_PCNF0_S1LEN_Pos) |
                           (0UL &amp;lt;&amp;lt; RADIO_PCNF0_S0LEN_Pos) |
                           (RADIO_PCNF0_PLEN_LongRange &amp;lt;&amp;lt; RADIO_PCNF0_PLEN_Pos) |
                           (2UL &amp;lt;&amp;lt; RADIO_PCNF0_CILEN_Pos) |
                           (3UL &amp;lt;&amp;lt; RADIO_PCNF0_TERMLEN_Pos) |
                           (RADIO_PCNF0_CRCINC_Exclude &amp;lt;&amp;lt; RADIO_PCNF0_CRCINC_Pos) |
                           (RADIO_LENGTH_LENGTH_FIELD &amp;lt;&amp;lt; RADIO_PCNF0_LFLEN_Pos);
        NRF_RADIO-&amp;gt;PCNF1 = (RADIO_PCNF1_WHITEEN_Enabled &amp;lt;&amp;lt; RADIO_PCNF1_WHITEEN_Pos) |
                           (RADIO_PCNF1_ENDIAN_Little &amp;lt;&amp;lt; RADIO_PCNF1_ENDIAN_Pos) |
                           (3UL &amp;lt;&amp;lt; RADIO_PCNF1_BALEN_Pos) |
                           (0UL &amp;lt;&amp;lt; RADIO_PCNF1_STATLEN_Pos) |
                           ((sizeof(m_tx_packet) - 1) &amp;lt;&amp;lt; RADIO_PCNF1_MAXLEN_Pos);

        // Set fast ramp-up time.
        NRF_RADIO-&amp;gt;MODECNF0 |= (RADIO_MODECNF0_RU_Fast &amp;lt;&amp;lt; RADIO_MODECNF0_RU_Pos);

        // Set CRC length; CRC calculation does not include the address field.
        NRF_RADIO-&amp;gt;CRCCNF = (RADIO_CRCCNF_LEN_Three &amp;lt;&amp;lt; RADIO_CRCCNF_LEN_Pos) |
                            (RADIO_CRCCNF_SKIPADDR_Skip &amp;lt;&amp;lt; RADIO_CRCCNF_SKIPADDR_Pos);
    } break;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;However, I did not see any improvement here in my setup. I am not aware of any other known issues that might cause this so I&amp;nbsp;will discuss the behavior we&amp;#39;re seeing with the RADIO designers and see if they have any idea to what the cause might be.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I also wanted to ask&amp;nbsp;a couple of&amp;nbsp;question related to your observations:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Our investigation seem to indicate that the frame is correctly sended, as it is received on one board, but not on second board.&lt;/em&gt;&lt;br /&gt;&lt;em&gt;The board that did not receive the frame is controlled to be in Rx (with hardware debug trace on gpio) but the address event is never generated (hardware trace : address event coupled with a PPI channel to a gpio) .&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Does the first board receive all packets, i.e.counter_TX ==&amp;nbsp;counter_CRC_OK? Does the second board generate the CRC_OK event? The address field in the generated modulated RF packet will be random, but if you leave the DAP and DAB registers to their default value, then you should get an ADRESS match on both devices.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Whatever the tests conditions there is always 3 to 4 frames lost for 1000 in Long range 125 kBit mode, while the 1st Mbit mode work perfectly.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;em&gt;Second identified limitation : the Long range 500 Kbit mode does not support the static frame length as it cause an CRC error status while the frame is good.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Could you elaborate a bit on the above statement?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/214894?ContentTypeID=1</link><pubDate>Mon, 14 Oct 2019 14:22:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9067f260-5ed9-4461-bd6e-430692e7fcc9</guid><dc:creator>David</dc:creator><description>&lt;p&gt;I &lt;span&gt;Bj&amp;oslash;rn,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Since the answer of Nicolas did you have some news about the problem we are facing ?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/214304?ContentTypeID=1</link><pubDate>Thu, 10 Oct 2019 09:05:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:277f1771-e13f-4fe3-af96-45c9b74c44b1</guid><dc:creator>ubicore</dc:creator><description>&lt;p&gt;Hi Bj&amp;oslash;rn,&lt;br /&gt;&lt;br /&gt;(I did the test for David)&lt;/p&gt;
&lt;p&gt;I try to add a 3 to the total_payload_size, but same result.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Probably the problem is more complex than a timer delay...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We do a lot of test from the beginin of year with differents software (SDK and our proprietary implementation of FHSS based on zephyr OS) and the result is alway the same :&lt;br /&gt;- with same tx power&lt;br /&gt;- with same windows duration&lt;br /&gt;- with same or different frame transmission time&lt;br /&gt;&lt;br /&gt;=&amp;gt; in 1Mbit, no problem (even with maximum payload size)&lt;br /&gt;=&amp;gt; in Long range some frame are lost (even with minimum payload size)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our investigation seem to indicate that the frame is corectly sended, as it is received on one board, but not on second board.&lt;br /&gt;The board that did not receive the frame is controlled to be in Rx&amp;nbsp; (with hardware debug trace on gpio) but the address event is never generated (hardware trace : address event coupled with a PPI channel&amp;nbsp; to a gpio) .&lt;br /&gt;&lt;br /&gt;Whatever the tests conditions there is always 3 to 4 frames lost for 1000 in Long range 125 kBit mode, while the 1st Mbit mode work perfectly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Second identified limitation : the Long range 500 Kbit mode does not support the static frame length as it cause an CRC error status while the frame is good.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Nicolas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Error rate more important in Long range 125k than  in normal mode 1M</title><link>https://devzone.nordicsemi.com/thread/213970?ContentTypeID=1</link><pubDate>Tue, 08 Oct 2019 14:38:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:deecdd85-4806-4b1d-8917-dd32bc711428</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi David,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think there could&amp;nbsp; is an error in how the timer delay is calculated in&amp;nbsp;radio_modulated_tx_carrier_duty_cycle()&lt;/p&gt;
&lt;p&gt;When you select the&amp;nbsp;&lt;span&gt;&lt;span&gt;RADIO_MODE_MODE_Ble_LR500Kbit or&amp;nbsp;&lt;/span&gt;&lt;/span&gt;RADIO_MODE_MODE_Ble_LR125Kbit, then the&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;radio_config() functio will set the CRCCNF register so that a CRC of length 3 is used. While when selecting the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;RADIO_MODE_MODE_Ble_2Mbit or&amp;nbsp;RADIO_MODE_MODE_Ble_1Mbit, then the CRCCNF is set to the following&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;NRF_RADIO&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;CRCCNF&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&amp;nbsp;(RADIO_CRCCNF_LEN_Disabled&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;RADIO_CRCCNF_LEN_Pos);&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So going back to&amp;nbsp;radio_modulated_tx_carrier_duty_cycle() we see that the&amp;nbsp;total_payload_size is calculated assuming that there is no CRC, when its 3 bytes in reality when using the 500Kbit and 125Kbit modes. This&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void radio_modulated_tx_carrier_duty_cycle(uint8_t txpower,
                                           uint8_t mode,
                                           uint8_t channel,
                                           uint8_t duty_cycle)
{
    // Lookup table with time per byte in each radio MODE
    // Mapped per NRF_RADIO-&amp;gt;MODE available on nRF5-series devices @ref &amp;lt;insert ref to mode register&amp;gt;
    static const uint8_t time_in_us_per_byte[16] =
    {8, 4, 32, 8, 4, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 32};
    // 1 byte preamble, 5 byte address (BALEN + PREFIX), and sizeof(payload), no CRC
    const uint32_t total_payload_size     = 1 + 5 + sizeof(m_tx_packet);
    const uint32_t total_time_per_payload = time_in_us_per_byte[mode] * total_payload_size;
    // Duty cycle = 100 * Time_on / (time_on + time_off), we need to calculate &amp;quot;time_off&amp;quot; for delay.
    // In addition, the timer includes the &amp;quot;total_time_per_payload&amp;quot;, so we need to add this to the total timer cycle.
    uint32_t delay_time = total_time_per_payload +
                          ((100 * total_time_per_payload -
                            (total_time_per_payload * duty_cycle)) / duty_cycle);&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;So could you try to alter&amp;nbsp;total_payload_size to account for this 3 byte CRC, i.e.&lt;/div&gt;
&lt;div&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// 1 byte preamble, 5 byte address (BALEN + PREFIX), and sizeof(payload), 3 byte CRC
const uint32_t total_payload_size     = 1 + 5 + sizeof(m_tx_packet) + 3;&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;and see if that results in less invalid packets?&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;Best regards&lt;/div&gt;
&lt;div&gt;Bjørn&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>