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.

CC2642R: Use External Memory and Compare Bluetooth Device Addresses

Part Number: CC2642R

Hi!

I would need some advice for the CC2642R. 

I would like to make a kind of Blacklist, so my CC2642R does not reconnect with Bluetooth device addresses in my Blacklist/ Memory. I need to save about every few minutes a Bluetooth device Address that has been blacklisted by the user. I would like to prevent the CC2642R connecting to these blacklisted devices in the future. For me Energy usage is a huge concern.

A few questions:

  • What (External) Memory would you recommend?
  • How could I check if a device is on the blacklist without using a lot of energy each time, comparing up to 2.000 Addresses?

Would be great if the memory is enough for approximately 2.000 Bluetooth device Addresses and don't get deleted once the power shuts down.

Thanks in advance.

Kind regards,

SPEEDBIRD

  • Hey Speedbird,
    2000 addresses would consume 12 kB of flash and "how" to store it in a convenient and efficient manner could be questioned for a BLE product , as the the search through a (sorted) list would still require significant energy. Looping in one of the experts to comment further.
  • Hi Speedbird,

    You can use internal flash to store, reserving a sector or two (@ 8kB) for this purpose. You can then keep adding new addresses.

    This is not sorted; because the way the flash works you have to erase a sector to rearrange the contents. You could perhaps pre-optimize by allocating virtual "buckets" for certain starting bits, or you could do some sort of hash(addr) => storage location index scheme. I guess that's what a hash table is. I'd probably go with this approach.

    Often devices will be using a random (private resolvable) address that changes every 15 minutes. Unless you pair with every 2000 devices and get the identity resolution key and implement the resolution function, you can't know which devices are already seen. The SDK does not support pairing with 2000 devices.

    You may be aware of this, but you can put identifying and extra information in the advertising data and choose to connect to only the ones that seem interesting.

    Best regards,
    Aslak
  • Thank you Lind and Aslak for the support and good ideas to solve my problem:-)

    We want to take BLE into a particular area that is very "different" than the Areas BLE devices usually serve.

    New Question about Hardware.

    Thanks!!!

    Everything is done with TI chips, because support counts and thats what keeps me and others as a customers or future customers with TI!

    Sorry for the late reply,  normally I'm very quick at replying.

    Kind regards,

    SPEEDBIRD

  • Hi,

    Would you mind creating a new post with these new questions? It'll get routed to the more hardware oriented team more easily that way.

    Best regards,
    Aslak