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

BLE - NRF51 RADIO, using TIFS with DEVMATCH

Hi,

I want the NRF51 to respond to a received packet from a particular device using register TIFS to control the interfame timing.

For TIFS to work I have to set the DISABLED_TXEN short, but this will force a response to any device.

Do the DEVMISS / DEVMATCH events occur in time to abort the TX?

That is, can I use these events to either clear or set the DISABLE-TXEN short before the RX DISABLE event happens?

Or is there a better soultion?

Thanks Andrew

  • I'm having a little trouble understanding what you want. TIFS is not meant to be adjusted while using the radio, and you can not change it after having triggered the START task.

    However, if you only want to respond to certain devices, can't you just make sure that these are the only devices in your RXADDRESSES? In that way, you shouldn't get any event at all for devices that are not wanted.

  • Thanks for your response.

    From what you are saying (it was not clear in the documentation) If an address is enabled in RXADDRESSES, and there is no match, then the END event will not happen (and hence the END_DISABLED and DISABLED_TXEN shorts will not happen).

    Is that correct?

    All BLE devices I wish to distinguish will use the same RXADDRESSES address (The BLE Advertising Address) but different Device Addresses which compared against the DAB/DAP registers will produce DEVMISS or DEVMATCH events

    So the correct device will produce an RXADDRESSES match and a DEVMATCH event. Incorrect devices will produce an RXADDRESSES match and a DEVMISS event

    Does the DEVMISS event also stop the END event from happening?

  • The radio will not start to receive a payload if the RXADDRESS doesn't match, so if so, there will be no END event.

    However, the device address as used by BLE will be part of the payload, and hence be part of a payload that is in principle valid, only not with the correct first few bytes of the payload. You should therefore still expect an END event in this case.

    May I ask what exactly you're trying to make?

Related