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.

End Device Data request polling

Other Parts Discussed in Thread: Z-STACK, CC2530

Hello everyone,

I have a question about data request polling. I disabled data request polling on end device by NLME_SetPollRate(0) and everything is fine,

no data request are generated, but every time when program enter ISR ( I have external interrupt in my application ) data request is generated once!?

Why this happens if I turn off data request pooling before interrupt occurs ? 

Best regards

  • Hi milos,

    What version of Z-Stack are you using? We have never heard of that kind of issue.
    This is not directly relevant to the issue, but can you call NLME_SetResponseRate(0) and NLME_SetQueuedPollRate(0) as well in order to remove any successive poll requests?

    - Cetri
  • Hi Cetri, thank you for quick response,

    I am using 1.2.0 version of Z-stack. Now, I set DQUEUED_POLL_RATE = 0, DRESPONSE_POLL_RATE = 0 and no data requests are generated even when program enter ISR. This solves my problem but I don't understand why data requests are generated when POLL_RATE = 0 ?

    I also want to know what is maximum polling rate for end device? I see that the newRate argument ( NLME_SetPollRate() ) is type of uint16, does it mean that  the max polling rate is ~65 seconds ?

    Thanks in advance

     

  • 1. When your application sends message, response poll rate woul take effect and do data request for response. That's why Cetri suggest you set DRESPONSE_POLL_RATE = 0.
    2. Yes, the max poll rate can be set up to ~65 seconds using API NLME_SetPollRate.
  • OK, if it is so, how could I set data request polling on 15 minutes for example ? Is it good approach to set osal_timer for measuring time interval of 15 minutes and then hit one time polling? If I start osal_timer to count for 15 minutes, what is happening with end_device, does it entering sleep mode ? End_Device does not receive commands and my intention is to minimize rf activity.

    Thanks in advance
  • You can't set poll rate more than 65535 using this API. From my experience, it is meaningless to polling 15 minutes. In latest HA profile, the suggested polling rate for end device is 60 seconds.
  • Hi YiKai Chen,

    Why do you think it is meaningless to poll parent  on 15 minutes or longer? I have configuration with sensor as end device which does some measuring and attribute reporting when external interrupt occurs, so, even if it lose parent, sensor should try to rejoin on another parent and send attribute report. Sensor does not receive any commands.

    Does cc2530 entering sleep mode if I set osal_timer event for n minutes?  

     

  • 1.When ZED try to send message and find it can't get MAC ack from its parent node, it will turn to orphan status and try rejoin process. You don't have to reply on polling to do rejoin.
    2. Yes, cc2530 will enter sleep mode.