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