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

nRF51822 for real time BLE packet capturing

Hello, I would like to know if I can use nRF51822 chip to get partial BLE packet information like Access Address, PDU before the whole packet has arrived.

If yes how and if any other simple method exists that would be great? Is it possible to modify S130 to do so?

Some directions I have been thinking along are maintaining a bit counter and when it reaches a certain threshold (enough to include access address and some other fields) raising an interrupt and servicing the data available.

Thanks in Advance.

Parents
  • Hi

    Is the use case to receive advertising packets, or do you also want to do this in a BLE connection?

    I can't imagine how you could do this when you have a SoftDevice running. When there is SoftDevice activity the SoftDevice will run it's own interrupt routines, and they are assigned the highest priority in the system. This means that you are likely to be delayed until the packet is processed by the SoftDevice, even if you are able to hook up to the radio events and start some timer that counts the bits into the packet.

    If you only need to read advertising packets then it is relatively straight forward to implement the code from scratch, without using the SoftDevice. Then you can implement the radio interrupts as you see fit, and can add a 'pre interrupt' a certain number of bits into the packet.

    One potential problem with this is that you don't know if the CRC is correct (since you haven't yet received it), so there is a possibility that you will process a packet that has bit errors in the payload.

    Best regards
    Torbjørn

  • Can you please provide some references if I plan to implement sniffer from scratch only for advertisement packets.

Reply Children
No Data
Related