This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

RX on LE Coded PHY

Hi,

I noticed weird behaviour on nRF52840 when using LE Coded PHY.

Connection access address is configured as logical address 1 and it works fine when using 1M and 2M PHYs. As soon as I switch to Coded PHY the slave stops receiving packets and connection times out.

NRF_RADIO->MODE = RADIO_MODE_MODE_Ble_LR125Kbit;
NRF_RADIO->PCNF0 = (8 << RADIO_PCNF0_LFLEN_Pos) |
        (RADIO_PCNF0_S1INCL_Include << RADIO_PCNF0_S1INCL_Pos) |
        (1 << RADIO_PCNF0_S0LEN_Pos) |
        (RADIO_PCNF0_PLEN_LongRange << RADIO_PCNF0_PLEN_Pos) |
        (2 << RADIO_PCNF0_CILEN_Pos) |
        (3 << RADIO_PCNF0_TERMLEN_Pos);

However, everything seems to work fine when using logical address 0. Is it some known limitation/bug/feature? Or am I missing something here?

Parents
  • Hi,

    I found the mentioned post before and I believe these settings are incorrect (and they do not make difference in my case also):

    • S0LEN field is 1 bit long so it does not make sense to write '2' there (should be set to '1')
    • S1LEN field should be set to '0'

    This way we have PDU Header and PDU Length fields set properly - see my settings.

    As I said, the problem is not that it does not work at all - it does not work when using logical address 1 instead of 0 which is weird.

Reply
  • Hi,

    I found the mentioned post before and I believe these settings are incorrect (and they do not make difference in my case also):

    • S0LEN field is 1 bit long so it does not make sense to write '2' there (should be set to '1')
    • S1LEN field should be set to '0'

    This way we have PDU Header and PDU Length fields set properly - see my settings.

    As I said, the problem is not that it does not work at all - it does not work when using logical address 1 instead of 0 which is weird.

Children
No Data
Related