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

Adding coded PHY to BLE mesh low power node (Mesh SDK v4.1.0)

I'm developing mesh nodes with serial interface, and have used the information in this thread to successfully modify the mesh firmware to support coded PHY

https://devzone.nordicsemi.com/f/nordic-q-a/29813/change-phy-in-mesh

I have been asked to add support for low power nodes and I'm finding that LPN-friend operation is very erratic with the coded PHY - I suspect that it's a timing issue, because sometimes friend requests and polls work, but mostly they do not.

I did have to make this change in core_tx_lpn.c

void core_tx_lpn_init(void)
{
    m_lpn_bearer.broadcast.params.access_address = BEARER_ACCESS_ADDR_DEFAULT;
 #if NRF_MESH_USE_CODED_PHY
    m_lpn_bearer.broadcast.params.radio_config.radio_mode = RADIO_MODE_NRF_62K5BIT;
 #else
    m_lpn_bearer.broadcast.params.radio_config.radio_mode = RADIO_MODE_BLE_1MBIT;
 #endif

and similarly in core_tx_friend_init() in the friend node.

I suspect there are some subtle timing changes that might be needed in the LPN and possibly in the friend - I'd really appreciate any help or pointers you could offer.   Thanks.

(You might be wondering why have a LPN with coded PHY - the answer is just so we can run all mesh nodes with coded PHY for range)

Related