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

Point to point communication using 802.15.4 between nRf52840 and CC2530?

Where to start? Is it possible?

I need to send data between the two chips using 802.15.4.

There is no need to form a network.

I was looking at the Wireless Uart example in SDK 15. It looks like what we need, but I am not sure how to add more functionality.

Is it by updating the "m_transition_table"?

We need to change the 15.4 channels with UART commands.

Thanks

  • Hello,

    This should be possible. I suggest you look into the SDK for Thread and Zigbee. It is found here.

    Then you can look through a couple of the examples inside the thread folder. You need to decide on a protocol. Maybe you can use the set "simple_coap_server" and "simple_coap_client"?

     

    Best regards,

    Edvin

  • Hi,
    Thanks for the fast response.

    The CC2530 is already in the field and we can't change the protocol.

    It uses 802.15.14 MAC layer only. Both radios have fixed addresses and PAN ID and need to send a messages to each other and get acknowledge.

    The communication is not slotted CSMA/CA point to point, that is why I was thinking the Wireless UART is a good place to start.

    Regards

  • Hello,

    Ok. I understand. I think that the wireless UART project is definitely a good starting point. You can read about how to test the Wireless UART application here. There is also information about the IEEE MAC Library here.

     

    Open the project found in examples\802_15_4\wireless_uart\raw\first

    and change the mac address, and configure the PAN ID and address of your device, and see if you can send and/or receive any messages. 

     

    Best regards,

    Edvin

  • Hello, 

    It looks promising so far. Both radios are able to communicate but the nRf52840 throws an error under some conditions.  I can't debug the problem because I don't have the source files. 

    Here is snapshot from the call stack:

  • Hello,

    What do you mean with "don't have the source files"? Do you use the SoftDevice in addition to the 802.15.4?

     

    Can you try the following:

    Define "DEBUG" in your preprocessor defines,

    Disable Optimization (Set to -O0)

    Set a breakpoint in app_error_weak.c on line 90 (NRF_LOG_ERROR("End of error report") ), and then add p_info to your watchlist.

     

    Try to debug, and see if this breakpoint is hit. If it does, what is the function that returned the err_code that was passed into the APP_ERROR_CHECK(err_code); that the p_info is referring to? And what is the err_code?

     

    Best regards,

    Edvin

Related