Configuring Observer example to only accept Coded Phy messages

I'm trying to use the Observer example in zephr-sdk-0.16.5 to work with beacons that only use long range coded phy mode.   I've updaed prj.conf to take what I believe to be the correct settings to allow coded phy.   What I see is that the code is only seeing a coded phy message about once a minute even though the beacon is transmitting every 8s.  

I've heard it mentioned that maybe the stack is switching between modes, and that could be the cause of the message loss.   Is there any function I can call to fix it in the Coded Phy mode?

I've seen examples for the older SDK, but they do not compile on zephr.

Can anyone point me in the right direction please?  I'm trying to compile the code for the MG100 gateway that uses the nRF52840 SOC.

Here's my prj.conf updates

CONFIG_BT=y
CONFIG_BT_OBSERVER=y
CONFIG_BT_CENTRAL=y

# Coded PHY support
CONFIG_BT_CTLR=y
CONFIG_BT_CTLR_PHY_CODED=y
CONFIG_BT_EXT_ADV=y
CONFIG_BT_USER_PHY_UPDATE=y

Parents
  • Hello,

    I don't know if you are intentionally using "vanilla" Zephyr, but in our nRF Connect SDK (NCS) we have a sample pair called "peripheral_hr_coded" and "central_hr_coded" which run the peripheral and central side of the heart rate profile in BLE, only using CODED_PHY. Perhaps this is something you can check out?

    To get started with NCS, I recommend you check out nRF Connect for Desktop -> Toolchain Manager, in addition to the NCS documentation:

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html

    Best regards,

    Edvin

  • Thank you, this solved part of my problem as I was able to get my gateway to accept a coded phy message from an advertiser dev board (nRF52840-DK).  However it looks like my real problem is with the beacon hardware I am using.  This is an InPlay IN100 beacon which does not properly support the coded phy mechanism.  Their support message is as follows, 

    "the IN100 uses a non-standard LE Coded PHY. Our LE Coded PHY works by changing the data rate on the same primary advertising channels as 1 M and using the same format as 1 M. We do not use any auxiliary channels or change our format at all. This means if your scanner is looking on auxiliary channels or looking for a different format, it will not pickup our nonstandard LE Coded PHY"

    "We have had customers modify Nordic gateways to detect our LE Coded PHY, but we are not privy to the exact details as to how this was done, and it would vary from device to device. If your team has the software expertise to do so, you may be able to ‘hack’ your Nordic gateway to work with us"

    I don't have the knowledge or expertise to know the right way to do this, so if you have any advice on the simplest way to do this I would be very grateful.

Reply
  • Thank you, this solved part of my problem as I was able to get my gateway to accept a coded phy message from an advertiser dev board (nRF52840-DK).  However it looks like my real problem is with the beacon hardware I am using.  This is an InPlay IN100 beacon which does not properly support the coded phy mechanism.  Their support message is as follows, 

    "the IN100 uses a non-standard LE Coded PHY. Our LE Coded PHY works by changing the data rate on the same primary advertising channels as 1 M and using the same format as 1 M. We do not use any auxiliary channels or change our format at all. This means if your scanner is looking on auxiliary channels or looking for a different format, it will not pickup our nonstandard LE Coded PHY"

    "We have had customers modify Nordic gateways to detect our LE Coded PHY, but we are not privy to the exact details as to how this was done, and it would vary from device to device. If your team has the software expertise to do so, you may be able to ‘hack’ your Nordic gateway to work with us"

    I don't have the knowledge or expertise to know the right way to do this, so if you have any advice on the simplest way to do this I would be very grateful.

Children
Related