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.

CC2650 ZNP: "broadcasting" to entire channel

Other Parts Discussed in Thread: CC2650, CC2538, CC2630, Z-STACK, CC2531

Hi,

i am tinkering around on the ZNP and have been trying to get my CC2650 to "blindly" send out a (802.15.4-)packet to an entire channel instead to its PAN.

I've tried building a ZMacDataReq struct and calling "uint8 ZMacDataReqSec( ZMacDataReq_t *pData, applySecCB_t secCB )" manually but i can't see anything on my packet sniffer. Maybe my parameters are off or i am missing something else.

Is it possible to bypass the upper layers and directly call the mac-layer functions and send out a packet on a specific channel to no specific PAN?

And if so, am i on the right track, or would i have to do it in a different way?

  • You can use the AF_DATA_REQUEST_EXT command, but be sure to set the dst endpoint to 0xFE.

    I just tested this on CC2538 ZNP using the ZNP Host Framework command line trainer (more info on this here www.ti.com/.../tidc-znp-host-sw3):

    Enter CMD
    AF_DATA_REQUEST_EXT
    
    Command: AF_DATA_REQUEST_EXT
    Enter DstAddrMode: (1B)
    2
    Enter DstAddr: (8B)
    000000000000ffff
    Enter DstEndpoint: (1B)
    fe
    Enter DstPanID: (2B)
    ffff
    Enter SrcEndpoint: (1B)
    1
    Enter ClusterId: (2B)
    1
    Enter TransId: (1B)
    1
    Enter Options: (1B)
    1
    Enter Radius: (1B)
    1
    Enter Len: (2B)
    3
    Sending AF_DATA_REQ_EXT
    2:ff:ff:0:0:0:0:0:0:fe:ff:ff:1:1:0:1:1:1:3:0:f0:5:0:
    

    It should also work on CC2630 ZNP, but at the minute I do not have a way to connect the CC2630 UART to my PC.

    You should also be able to receive the interpan commands by using AF_APSF_CONFIG_SET. Refer to section 4.4.5 AF_INTER_PAN_CTL of the Z-Stack ZNP Interface Specification.pdf (from the Documents folder of the ZStack-Home install).

    Regards, TC

  • Hi TopCat,
    thanks for your answer - and sorry for not responding earlier, but i was tasked with a different rather urgent matter and so i couldn't further look into this until now. I've done it the same way on the cc2650 i got here and it works perfectly.
    I've been trying to use the AF_DATA_REQUEST_EXT earlier, but i didn't think to use 254 as dst endpoint.

    Do you think it would be possible for another cc2650 to sense/pick up this packet(s)?


    edit: i know the Z-Stack ZNP Interface Specification.pdf and just looked at it again, but section 4 General Information only contains document history.

    Did you mean the Z-Stack Monitor and Test API.pdf?

  • The answer to this can by found at e2e.ti.com/.../1522100

    Regards,
    TC.
  • Hi,

    I followed the above instruction for configuring cc2531 znp host framework and could successfully transmit the message with below configuration:
    DataRequestExtFormat_t DataRequestExt;
    DataRequestExt.DstAddrMode = 2;
    DataRequestExt.DstAddr[0] = 0x00;
    DataRequestExt.DstAddr[1] = 0x00;
    DataRequestExt.DstAddr[2] = 0x00;
    DataRequestExt.DstAddr[3] = 0x00;
    DataRequestExt.DstAddr[4] = 0x00;
    DataRequestExt.DstAddr[5] = 0x00;
    DataRequestExt.DstAddr[6] = 0xFF;
    DataRequestExt.DstAddr[7] = 0xFF;
    DataRequestExt.DstEndpoint = (uint8_t) 0xFE;
    DataRequestExt.DstPanID=0xFFFF;
    DataRequestExt.SrcEndpoint = 10;
    DataRequestExt.ClusterId = 1;
    DataRequestExt.TransId = 5;
    DataRequestExt.Options = 0x20;
    DataRequestExt.Radius = 0xEE;
    DataRequestExt.Len = 3;
    DataRequestExt.Data[0]='0';
    DataRequestExt.Data[0]='0';
    DataRequestExt.Data[0]='1';
    afDataRequestExt(&DataRequestExt);

    However, I'm unable to receive the message in ZED. I configured ZED as suggested in e2e.ti.com/.../302731

    Can you please help with required settings in ZED to receive inter pan messages.

    Regards
    Srikanth
  • Why do you set destination endpoint to 0x FE?
  • I was just following instruction as per the earlier post. Does it mean all end points except Coordinator?

  • Earlier post? Zigbee application can only use 1 to 240 as endpoint. 1 and 241 to 255 are reserved.
  • @Srikanth

    i didn't get it to work now with the above settings either somehow. However, if i set

    DataRequestExt.DstAddr[0] = 0x3D;
    DataRequestExt.DstAddr[1] = 0x1A;
    DataRequestExt.DstAddr[2] = 0x00;
    DataRequestExt.DstAddr[3] = 0x00;
    DataRequestExt.DstAddr[4] = 0x00;
    DataRequestExt.DstAddr[5] = 0x00;
    DataRequestExt.DstAddr[6] = 0x00;
    DataRequestExt.DstAddr[7] = 0x00;

    (3D1A being the short-adress of my end device) i was able to receive the message when registering e.g. 1 as endpoint and then use "AF_INTER_PAN_CTL" cmd '2' and data '1' on the end device

  • I don't understand your question well. Can you elaborate?
  • It wasn't a question, it was an answer to Srikanth :)
    Sorry, i always press the reply button below the last answer, forgetting that it then in this case says "in reply to YiKai Chen"
  • Hi Stephanie, Thank you.. How did you find out the destination network address when the device is not in the network?
    Did you try transmitting intepan message with 64bit ieee address?

    @Yikai Chen TopCat used 0xFE end point "You can use the AF_DATA_REQUEST_EXT command, but be sure to set the dst endpoint to 0xFE"
  • So, you are using INTER-PAN communication. You can try to set a breakpoint in INTERP_DataIndication and see if it is hit.
  • You can get the short address through the MT-Command "ZB_GET_DEVICE_INFO" or "UTIL_GET_DEVICE_INFO" commands
    no, i did it with the options you mentioned above but changed the destination address in the way i posted earlier.
  • @Stephanie
    Thank you.. I could broadcast the message with below settings:

    DataRequestExtFormat_t DataRequestExt;
    DataRequestExt.DstAddrMode = 2;
    DataRequestExt.DstAddr[0] = 0xFF;
    DataRequestExt.DstAddr[1] = 0xFF;
    DataRequestExt.DstAddr[2] = 0x00;
    DataRequestExt.DstAddr[3] = 0x00;
    DataRequestExt.DstAddr[4] = 0x00;
    DataRequestExt.DstAddr[5] = 0x00;
    DataRequestExt.DstAddr[6] = 0x00;
    DataRequestExt.DstAddr[7] = 0x00;
    DataRequestExt.DstEndpoint = 0xFE;
    DataRequestExt.DstPanID=0xFFFF;
    DataRequestExt.SrcEndpoint = 10;
    DataRequestExt.ClusterId = 1;
    DataRequestExt.TransId = 5;
    DataRequestExt.Options = 0x00;
    DataRequestExt.Radius = 0x01;
    DataRequestExt.Len = 3;
    DataRequestExt.Data[0]='0';
    DataRequestExt.Data[1]='0';
    DataRequestExt.Data[2]='5';
    afDataRequestExt(&DataRequestExt);