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.

Compiler/CC2650: Changing Zigbee beacon interval of cc2560

Part Number: CC2650
Other Parts Discussed in Thread: Z-STACK

Tool/software: TI C/C++ Compiler

Hello All,

We are using Zstack version 1.2.2a development environment for CC2650.

We want to increase the signal duration between beacons to reduce power consumption of sensor node.

I have following questions:

  • How to change interval between two beacons? Which parameter decides the interval? 
  • if we increase the interval between two beacons, does it increase the connection process duration?
  • What are max and min value for beacon interval?

Regards,

Ankita Tayade

  • Hi,

    For Z-Stack 1.2.2a, commissioning is handled by EZ-Mode. Please refer to "Z-Stack Home TI-RTOS Developer's Guide.pdf" in the Documents folder of the Z-Stack installation.

    You can implement a timer to start the EZ-Mode process. For an example of this, see how HAL_KEY_SW_2 is handled in zclSampleSw_HandleKeys.

    Yes, increasing the time between beacon requests of the Zigbee End Device (in this case, a sensor node) may increase the time it takes to commission the device into the network.

    The interval is quite flexible; please see how timers are used (osal_start_timerEx).

    Regards,
    Toby

  • Thank you for your reply. please go through document named Z-Stack TI-RTOS Developer's Guide in which they have mentioned compiler option as BEACON_REQUEST_DELAY to set time between joining cycles.

    I have following questions:

    How to set BEACON_REQUEST_DELAY  time?

    what is maximum duration for Beacon request delay we can set? 

    Regards,

    Ankita tayade.

  • BEACON_REQUEST_DELAY is in msec and max value is the same as uint16.

  • Hi Yikai

    Thanks for your reply.

    we used default beacon delay given by SDK.

    we found that first it is sending orphan request and after that it sends beacon request in interval of 8 sec.

    we want to know that how this 8 sec came? and is there any mathematical calculation to set this delay? if yes then what is it?.

    I am attaching screenshot of ubiqua for your reference, where you can see time delta which is nothing but the time interval between 2 beacons which is showing 8 sec.

    we have also programmed one fresh sensor node, which is sending only beacon request in interval of 0. 6 sec without sending orphan notification first. 

    I have following questions:

    what are the parameter that decides when to send orphan request and when to not ?

    why is the Beacon delay difference in this two sensor node?

    Regards,

    Ankita Tayade

  • Behavior may differ between:
    - devices which have joined a network and then lose connection (orphan)
    - devices which have never joined a network before and are attempting to join a network

    Perhaps refer to these related posts:
    https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/642682#pi320995=2
    https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/498206

  • Hi Toby

    Thanks for your reply.

    We referred the link given by you. We have changed the NWK_RETRY_DELAY of function osal_start_timerEx from 1000 to 7000 but we are not getting any effect on beacon interval delay. We also tried to modify function MAC_MlmeStartReq() but it is showing ROM to ROM function.

    I have following questions:

    Which parameter should be modified from osal_start_timerEx() function to increase Beacon interval?

    is there any other way to increase beacon delay?

    Regards,

    Ankita Tayade

  • osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )
    - timeout_value: determines the amount of time before setting the event_id. a larger value results in a longer time before the event triggers.

    Please see the value of zgDefaultRejoinBackoff, which is used to trigger the ZDO_REJOIN_BACKOFF event. This event will either start or stop the rejoin process (toggles between the two). It is handled in function ZDApp_event_loop.

  • Hi Toby

    Thanks for your reply.

    ZDO_REJOIN_BACKOFF event will start or stop the rejoin process after joining.but we want to change interval of beacon delay during joining.

    Regards,

    Ankita Tayade

  • Assuming X ms is your desired minimum time interval between Beacon Requests, please try changing each of the following to X:

    - NWK_START_DELAY: delay (ms) used for calling ZDApp_NetworkInit after orphaning (will be used instead of BEACON_REQUEST_DELAY)

    - BEACON_REQUEST_DELAY: minimum delay (ms) between Beacon Requests (for initial device joining).

  • Hi Toby,

     Thanks for your help. I have changed  BEACON_REQUEST_DELAY to the value I want as Beacon delay(ms) from f8wConfig.cfg file.By changing this value I achieved to increase Beacon request interval to save Battery life of Sensor Node. 

    Regards,

    Ankita Tayade