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

802.15.4 Beacon notify function mlme_beacon_notify_ind never called


I am writing code to get a nrf52840 DK to associate with an existing 802.15.4 coordinator using the 802.15.4 API module within SDK 15.2.


I've called "mlme_scan_req" and the callback is called with a list of seen coordinators. Code is shown below. This part works.

Our coordinator beacon broadcast has an extended payload. We use this for identification. I've defined a function "mlme_beacon_notify_ind" which the SDK says should be called every time a beacon is seen so I can examine the payload. My problem is that it is never called. I've placed a breakpoint on it with no luck.

Here is our beacon payload as reported by Wireshark.

Any help would be appreciated

void mlme_scan_conf_cb_t(mlme_scan_conf_t *conf)
{

}

/*************************************************//**
 Start a scan to search for a network to join.

Network presence announced by presence of coordinator.

\param u32ScanChannels - bit mask of channels (bits 11 to 26) to check

 */
static void vActiveScan( uint32_t u32ScanChannels )
{
    // MUST MUST MUST be static
    static mlme_scan_req_t  sMlmeReqRsp;

    /* Request scan */
    sMlmeReqRsp.scan_type = ACTIVE_SCAN;

    sMlmeReqRsp.scan_channels = u32ScanChannels;
    sMlmeReqRsp.scan_duration = u8DefActiveScanValue;
    sMlmeReqRsp.pan_descriptors_buf_size = 10;
    sMlmeReqRsp.pan_descriptors_buf = plist;
    sMlmeReqRsp.service = 
    


    mlme_scan_req(&sMlmeReqRsp, mlme_scan_conf_cb_t);
}

/*************************************************//**
Start a scan to search for a network to join.

Network presence announced by presence of coordinator.

\param u32ScanChannels -...Code

SDK 15.2, Segger 3.2

Windows 10

Related