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.

Starterware/CC1310: CC1310: How to set 4 bytes Address

Part Number: CC1310

Tool/software: Starterware

Hello,

 

My customer is considering to set 4 bytes Address on the CC1310.

The technical Reference Manual is describing on the section 23.7.1 Packet Formats and Advanced Packet Format.

I think that customer will use Advanced Packet Format for 4 bytes Address.

The section 23.7.1 and 23.7.2 are describing for Advanced Packet Format below;

>>This format is supported by the commands CMD_PROP_RX_ADV and CMD_PROP_TX_ADV.

 

But, I could not found to set Address configuration on the commands CMD_PROP_RX_ADV and CMD_PROP_TX_ADV.

 

Please someone tell me, how to set 4 bytes Address on the CC1310.

 

Thanks.

 

Y Mikame

  • Please see table 23-137 in the TRM.

    Here you will find these fields:

    here you can set the size of the address and the position of the address in the header. 

  • Hello TER,

     

    Thank you for your reply

     

    I think that table 23-137 in the TRM is for Rx packet with advanced modes.

    How about the set for Tx packet with advanced modes(set 4 bytes Address) ?

    Please tell me, if I have miss understanding.

     

    Thanks.

     

    Y Mikame

  • The last post in e2e.ti.com/.../564558
    has an example on how to do it.
  • TX doesn't care about addresses, it simply sends a block of bytes prepended with preamble and sync word.

    You have to put the length and address that the receiver is looking for in your packet header.

    The numHdrBits field in RF_cmdPropTxAdv simply dictates whether or not to swap bytes in the first word for endian-correctness, so you can use a struct to define your packet header and not think too hard about 16-bit (or longer) length words.

    §23.7.5.3.2 ("Advanced Transmit Command, CMD_PROP_TX_ADV") says:

    If numHdrBits is greater than 0, a header of numHdrBits is sent next. The header may contain a length field or an address. If so, these fields must be inserted correctly in the packet buffer. The header to be transmitted is the first bytes of the buffer pointed to by pPkt. If numHdrBits does not divide by 8, the MSBs of the last byte of the header are ignored.

    So basically what you do is create your transmit packet as something like struct txpacket __attribute__ ((packed)) { uint16_t length; uint32_t address; insert_payload_here; }; (or something like that), then RF_cmdPropTxAdv.pPkt = (uint8_t*) &txpacket; RF_cmdPropTxAdv.numHdrBits = sizeof(txpacket.length)*8; RF_cmdPropTxAdv.pktLen = sizeof(txpacket); and go

  • Hello TER and Michael,

     

    Thank you for your advice.

     

    I forwarded your advice for my customer.

    When I will get some result from customer, I will reply to this post.

     

    Thanks,

     

    Y Mikame

  • Hello TER and Michael,

     

    I received considering results from my customer. They can set 4 bytes Address.

     

    Thank you so much for your advice.

     

    Thanks a lot.

     

    Y Mikame