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.

SIMPLELINK-CC13X2-26X2-SDK: Address filtering using rxAdvSniffCmd

Part Number: SIMPLELINK-CC13X2-26X2-SDK

Hello,

I am using CC13x2 units successfully in async FHSS after using the WOR example.  The core of my question is how to optimize/speed up my “scanning”.

I have a “gateway” and “nodes” in a network where the “gateway” is “scanning” channels using the rxAdvSniffCmd after each frequency change.  I am currently using 8 byte addressing in the network (whether from node->gw or gw->node).  The nodes are using a long preamble when transmitting so the gateway can “find” them during a scan.

Right now, I have the packets (and the rxAdvSniffCmd that I run on the gateway and the tx command on the node) configured for 8bit header with just the length (the address is not in the header), followed by 8 bytes of address and then the payload.  The commands are configured to include the header in the CRC.  I am using address filtering and have the packets configured to discard both bad CRC and filtered address packets.  However – a packet has to be received completely for its address to be filtered.

Is it possible somehow to have rx command quickly discard/reject a packet with a filtered address quickly before receiving the rest of the packet?  This would allow the gateway to move on to another frequency more quickly.

It seems one might change the packet configuration to include the address in the header (this seems it would limit me to just a three byte address), and no include the header in the CRC – but would this allow the command to return more quickly based on the address filter?  And if so – is there some configuration that would allow for a longer address in the header?

I am running CCS 10.0 and Simplelink SDK 4.10.

 

 

Thank you,

PM

  • Hi,

    The radio has a few options for filtering packets:

    - Sync Word

    - Address field

    - CRC check

    - RSSI threshold

    In most cases what you are describing would be solved by putting the address as part of the header, this is configurable in most modes. Any reason why you don't want to use this?

  • If you want to use an 8 bytes long address, you need to have the address after the header, as the header isl limited to 4 bytes.

    when it comes to address filtering you only have two options:

    filterOp = 0:

    In this case the radio will restart sync search once a wrong address has been received (it will not exit RX mode)

    filterOp = 1:

    You will receive the complete packet and it will be marked as ignored on address mismatch, meaning that the radio will not exit RX mode before the complete packet is received.

    BR

    Siri

  • Thank you for your response…a few clarification questions…

    Given that my goal is to *exit* the sniff command as quickly as possible (e.g. not receive the packet and not go back to sync search) after determining that the packet is not for this unit - will the command exit immediately (e.g. before receiving the whole packet) based on address filtering if the address is part of the header and the header is not included in the CRC?  If yes, are there any other critical command configuration parameters to make this happen?  It seems from your response, Siri, that this is not possible.

    I still need to quickly reject a packet that is not intended for my unit and exit the command (in order to hop to a new frequency)...regarding filtering by sync word – all other things being equal, if the sync word is different between two packets – one will be rejected?  Will the command exit immediately (again, exit the command and not go back to sync search or receive the packet) after the detection of the non-matching sync word?  If yes, are there any key command configuration parameters to make this happen?  How does one generate different sync words that meet the criteria of a sync word?  It seems like generation of the keyword is the hardest/most critical part.

     

    Thanks in advance for any responses!

  • Hi

    It is not possible to filter on Sync word in the sense you think of, and when it comes to address filtering, there are no way to have the radio exit RX automatically based on a wrong address. This is the same regardless of the address being part of the header, or following the header.

    However, if you use filterOp = 0, the radio will continue in RX (re-start sync search), but it will give a IRQ_PROP_RX_ABORTED interrupt. I think this interrupt will happen when the RX is re-started. You can try to service this interrupt (RF_EventRxAborted) and cancel the RX command manually when this happens.

    BR

    Siri