This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2541 - BLE V1.4 - active scanning detection in beacon

Other Parts Discussed in Thread: CC2541

Hi 

I am currently using the CC2541 with BLE V1.4 in a product and have an application that requires the use of active scanning. The device is effectively a beacon and I would like to know when the active scanning has occurred to indicate to my device that it has been scanned. Is there a way of detecting this in BLE V1.4?

Regard

Bill

  • Hi Bill,

    The application has no way of knowing this as it happens in the link layer engine. The radio CPU FW (in ROM) receives a scan request and responds with its stored scan response data) without exposing this further up in the stack.

    .:svend
  • Hi Sven

    Just to clarify your prompt response, you say that the scan response functionality is in ROM in the CC2541 and not in the library code (CC2541_BLE_peri.lib) that is included in the build. I was not aware of any ROM code in the CC2541 and there is no mention of this in the datasheet.

    Regards

    Bill
  • Bill,

    The RF Core has a small CPU whose behavior is controlled by a ROM block instead of pure HW to allow for PHY tuning/optimizations/bug fixes should there ever be a need for it. The implementation details of the device are generally not found in the data sheet or user guide and even the BLE stack can only interface it through registers.

    When the stack sets up e.g. undirected advertisments it writes adv. data, scan response data and device address to the RF Core HW registers and the HW handles things from there on and propagates interrupts back up to the stack once it is done. Therefore it is no way of knowing when / if the device was scanned.

    As a side note, generally most newer microcontrollers has one or more ROM blocks to handle things like boot sequences / configuration even if it is never mentioned in the data sheet :]

    Regards,
    Svend