<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/74284/does-the-sleepy-end-device-keep-its-rx-antenna-on-if-polling-times-are-too-long</link><description>Hello, 
 I have been trying to debug a curious behavior leading to higher energy consumption (~17mA) on my Sleepy End Device (Rx is off when idle). 
 I am using the nRF SDK for Zigbee v4.1, and the device is running both Bluetooth and Zigbee stacks. </description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 08 Sep 2021 15:54:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/74284/does-the-sleepy-end-device-keep-its-rx-antenna-on-if-polling-times-are-too-long" /><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/328668?ContentTypeID=1</link><pubDate>Wed, 08 Sep 2021 15:54:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6f447be5-de8d-41ff-9e56-6ae9d14f4ff8</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi Cyril,&lt;/p&gt;
&lt;p&gt;Sorry for the lack of reply here. Are you still having problems with this? I am not sure if calling nrf_pwr_mgmt_run() should be necessary.&lt;/p&gt;
&lt;p&gt;For Zigbee sleeping end devices the stack should call nrf_pwr_mgmt_run through zb_osif_wait_for_event, see &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_application_reference_component.html?cp=8_3_3_5_1#zarco_sleep"&gt;https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_application_reference_component.html?cp=8_3_3_5_1#zarco_sleep&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have you try to run the BLE/Zigbee UART light switch eample? In this example low power on multiprotocol is demonstrated: &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_multi_dynamic_light_switch_nus_example.html"&gt;https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_multi_dynamic_light_switch_nus_example.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/322921?ContentTypeID=1</link><pubDate>Mon, 02 Aug 2021 13:57:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9675db73-ac9d-46cb-859d-3146deaa98f8</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;Hi&lt;br /&gt;&lt;br /&gt;I am using both BLE and Zigbee along with the app scheduler so I&amp;nbsp;don&amp;#39;t use `&lt;span&gt;zb_osif_wait_for_event`, but instead `nrf_pwr_mgmt_run`:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Enter main loop.
while (true)
{
    zigbee_handle_events();
    app_sched_execute();
    nrf_pwr_mgmt_run();
}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;With:&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void
zigbee_handle_events()
{
    if (!m_zb_sleeping)
    {
        zboss_main_loop_iteration();
    }
}&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Let me know if there is something wrong.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/321663?ContentTypeID=1</link><pubDate>Sun, 25 Jul 2021 21:17:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4dfd89ed-c9b0-4051-9934-9152c2e443f9</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi Cyril,&lt;/p&gt;
&lt;p&gt;I am not sure I understand your code in your modified version of zb_nrf52_sleep(). You are not calling any code to actually put the device to sleep, as you are not calling zb_osif_wait_for_event().&lt;/p&gt;
&lt;p&gt;The sleep_tmo parameter in the example specifies the allowed sleep duration in milliseconds and is passed to zb_nrf52_sched_sleep() to schedule an RTC timer interrupt for putting the device to sleep for no longer than sleep_tmo.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/319651?ContentTypeID=1</link><pubDate>Mon, 12 Jul 2021 15:21:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90c0c90d-96e9-4541-97e5-819f00b3e297</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;Actually, removing 1 also works as a workaround.&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;return &lt;/span&gt;sleep_tmo-1;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;When removing 500 like in my last comment, I can see that the current is a bit higher during 500ms when getting out of sleep.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I might not have totally understood the goal of that returned value?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/319645?ContentTypeID=1</link><pubDate>Mon, 12 Jul 2021 14:47:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12c3267c-4e4a-4204-8a47-5f10e9ba2a8d</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;while writing&amp;nbsp;the last comment&amp;nbsp;I thought about the returned value as well and changed only that value (not the timer):&lt;/p&gt;
&lt;pre&gt;&lt;span&gt;return &lt;/span&gt;sleep_tmo-&lt;span&gt;500&lt;/span&gt;;&lt;/pre&gt;
&lt;p&gt;And it actually works: current consumption is kept low.&lt;/p&gt;
&lt;p&gt;So the question is how do you use that value?&lt;/p&gt;
&lt;p&gt;I hope this will help you solve that issue.&lt;/p&gt;
&lt;p&gt;Best,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/319642?ContentTypeID=1</link><pubDate>Mon, 12 Jul 2021 14:42:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:557b5dde-88a2-4c51-971a-5a72c9d753f2</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;Hello&lt;br /&gt;&lt;br /&gt;It&amp;#39;s been a while but I still have the issue so here is below the screenshot of the PPK measurements.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I am setting a polling time of 5 seconds (&lt;span&gt;ZB_MAX_LONG_POLL_INTERVAL_MS &lt;/span&gt;&lt;span&gt;5000)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Below is the weird behavior I am witnessing: whenever the sleeping time is more than ~4000ms, the RX antenna seems to be left on. (at the beginning, we can see some BLE advertising as well). I am using the UART to print the sleeping time on the right.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1040x1056/__key/communityserver-discussions-components-files/4/current_5F00_overdrawing.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Then, I apply my dirty fix:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;/// Put everything related to Zigbee in suspend and re-enable ZB queue processing after \c sleep_tmo
/// This function is called from zb_sleep_now(), see zigbee_default_signal_handler()
/// Overrides __weak implementation in zb_nrf52_timer.c
/// This feature is activated if zb_set_rx_on_when_idle(ZB_FALSE) is called.
/// \param sleep_tmo Time to sleep in ms
/// \return
zb_uint32_t
zb_nrf52_sleep(zb_uint32_t sleep_tmo)
{
    if (!sleep_tmo)
    {
        return sleep_tmo;
    }

    // Previously deinitialise Random generator
    nrf_drv_rng_uninit();

    // disable ZB event handling by setting the sleeping flag
    m_zb_sleeping = true;

    if (sleep_tmo &amp;gt; 4000)
    {
        sleep_tmo = sleep_tmo - 500;
    }

    SC_LOG_INFO(&amp;quot;ZB sleeping: %ums&amp;quot;, sleep_tmo);

    // we are not going to handle ZB events until sleep_tmo, minus 1
    // not sure we need to remove 1
    app_timer_start(m_zb_timer, APP_TIMER_TICKS(sleep_tmo), NULL);

    return sleep_tmo;
}&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Below, is the current consumption with the fix:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/1040x1109/__key/communityserver-discussions-components-files/4/current_5F00_ok.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best,&lt;/p&gt;
&lt;p&gt;Cyril&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/306970?ContentTypeID=1</link><pubDate>Tue, 27 Apr 2021 10:17:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:699441c2-0582-49be-998c-b05a7aab7203</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Yes, please send the PPK measurements when they are available and steps to reproduce the issue so our developers can take a look at it.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/306414?ContentTypeID=1</link><pubDate>Thu, 22 Apr 2021 16:24:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a1724765-6c0c-4c4b-8c5f-53c27d4f7793</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;Yes, I am using the PPK. I could send a screenshot on Monday or Tuesday.&lt;br /&gt;&lt;br /&gt;17mA is the&amp;nbsp;average current once the&amp;nbsp;sleeping time&amp;nbsp;is more than 4000ms, before that or if I wake up the Zigbee peripheral a bit earlier, the average current is below 200uA.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/306388?ContentTypeID=1</link><pubDate>Thu, 22 Apr 2021 14:26:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:50db9d12-0272-47a4-8991-a457f4b5acfe</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;Are you using the PPK to measure or how are you measuring the current consumption? Is 17mA average current or peak? Have you checked the sniffer logs to see if any packet is being sent after 4000ms? 17mA sounds like the radio is sending some data, as 16-17mA peak current with radio is on with +8dBm is to be expected: &lt;a href="https://devzone.nordicsemi.com/nordic/power/w/opp/2/online-power-profiler-for-ble"&gt;https://devzone.nordicsemi.com/nordic/power/w/opp/2/online-power-profiler-for-ble&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I will try to replicate your code and do some testing to see if I get the same behaviour.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/306383?ContentTypeID=1</link><pubDate>Thu, 22 Apr 2021 14:14:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0eb8755f-c25d-4454-8fdc-e1e1ce311b8d</guid><dc:creator>cyril.fougeray</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I did everything you advised me to do:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;void
zb_wake_up(void *p_context)
{
    /* Restore the Random generator */
    ret_code_t err_code = nrf_drv_rng_init(NULL);
    APP_ERROR_CHECK(err_code);

    m_zb_sleeping = false;
}

/// Put everything related to Zigbee in suspend and re-enable ZB queue processing after `sleep_tmo`
/// This function is called from zb_sleep_now(), see zigbee_default_signal_handler()
/// Overrides __weak implementation in zb_nrf52_timer.c
/// This feature is activated if zb_set_rx_on_when_idle(ZB_FALSE) is called.
/// \param sleep_tmo Time to sleep in ms
/// \return
zb_uint32_t
zb_nrf52_sleep(zb_uint32_t sleep_tmo)
{
    if (!sleep_tmo)
    {
        return sleep_tmo;
    }

    /* Previously deinitialise Random generator */
    nrf_drv_rng_uninit();

    // disable ZB event handling by setting the sleeping flag
    m_zb_sleeping = true;
    uint32_t sleep_ms = sleep_tmo;

    if (sleep_ms &amp;gt; ZB_MAX_LONG_POLL_INTERVAL_MS)
    {
        sleep_ms = ZB_MAX_LONG_POLL_INTERVAL_MS;
    }
    else if (sleep_tmo &amp;gt; 4000)
    {
        sleep_ms = sleep_ms - 500;
    }

    SC_LOG_INFO(&amp;quot;Sleeping %lums (was %u)&amp;quot;, sleep_ms, sleep_tmo);

    // we are not going to handle ZB events until sleep_tmo
    app_timer_start(m_zb_timer, APP_TIMER_TICKS(sleep_ms), NULL);

    return sleep_tmo;
}

// this is called from my main loop
void
zigbee_handle_events()
{
    if (!m_zb_sleeping)
    {
        zboss_main_loop_iteration();
    }
}

/**@brief Zigbee stack event handler.
 *
 * @param[in]   bufid   Reference to the Zigbee stack buffer used to pass signal.
 */
void
zboss_signal_handler(zb_bufid_t bufid)
{
    zb_zdo_app_signal_type_t sig = zb_get_app_signal(bufid, NULL);
    zb_ret_t status = ZB_GET_APP_SIGNAL_STATUS(bufid);

    SC_LOG_INFO(&amp;quot;ZB signal (%u, status: %d)&amp;quot;, sig, status);
    UNUSED_VARIABLE(status);
    UNUSED_VARIABLE(sig);

    // default signal handling
    zb_ret_t err_code = zigbee_default_signal_handler(bufid);
    ZB_ERROR_CHECK(err_code);

    if (status == RET_OK)
    {
        switch (sig)
        {
            case ZB_BDB_SIGNAL_DEVICE_REBOOT:
                zb_zdo_pim_set_long_poll_interval(ZB_MAX_LONG_POLL_INTERVAL_MS);
                break;

            default:break;
        }
    }

    if (bufid)
    {
        zb_buf_free(bufid);
    }
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;But at some point, the current consumption rises to 17mA if I don&amp;#39;t wake up the stack a bit before `sleep_tmo` (actually, only when&amp;nbsp;sleep_tmo is longer than 4000ms)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Does the Sleepy End device keep its RX antenna on if polling times are too long?</title><link>https://devzone.nordicsemi.com/thread/306358?ContentTypeID=1</link><pubDate>Thu, 22 Apr 2021 13:22:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22092672-0fff-494a-b76d-bccb305a6a2f</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;&amp;nbsp;Hi,&lt;/p&gt;
&lt;p&gt;Sorry for the late reply.&lt;/p&gt;
[quote user=""]I reimplemented&amp;nbsp;&lt;span&gt;&lt;code&gt;zb_nrf52_sleep&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;code&gt;zb_wake_up&lt;/code&gt;: those are only changing the state of the RNG. When I receive the Zigbee signal 15 (&lt;span&gt;ZB_COMMON_SIGNAL_CAN_SLEEP), I set up a timer (app_timer_start()) to wake up in&amp;nbsp;&lt;/span&gt;&lt;code&gt;sleep_tmo&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;milliseconds, during that time, the Zigbee event handler&amp;nbsp;(&lt;code&gt;zboss_main_loop_iteration&lt;/code&gt;) is not called.[/quote]
&lt;p&gt;I would like to see how you are implementing this. I am not sure I quite understand what you are doing. Here are some of my thoughts about implementing power savings in sleepy end devices using multiprotocol Zigbee/BLE:&lt;/p&gt;
&lt;p&gt;First you can take a look a the BLE UART and Zigbee light switch example under the multiprotocol examples folder: &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_multi_dynamic_light_switch_nus_example.html"&gt;https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/zigbee_multi_dynamic_light_switch_nus_example.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;See sleepy_device_setup() and you can modify it to call zb_set_rx_on_when_idle(ZB_FALSE); to enable sleepy end device behaviour by default. This example also demonstrate how an additional way of reducing current consumption when the sleepy behaviour is enable by&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fzigbee_prog_principles.html&amp;amp;anchor=zigbee_additional_power_optimization_tweaks"&gt; powering down RAM sections&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When sleepy end device behaviour is enabled (RxOnWhenIdle is set to &amp;#39;false&amp;#39;) the ZB_COMMON_SIGNAL_CAN_SLEEP signal will be sent to the application anytime the scheduler finds out that the application can go to sleep, read more about this in &amp;#39;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_tz_v4.1.0/using_zigbee__z_c_l.html?cp=7_3_3_4_4#power_saving_zed"&gt;Power saving for ZED&lt;/a&gt;&amp;#39;. You need to handle this signal to suspend any tasks and then go to sleep. zb_sleep_now() must be called from the ZB_COMMON_SIGNAL_CAN_SLEEP signal.&lt;br /&gt;&lt;br /&gt;If you call zb_sleep_now() the stack will call zb_nrf52_sleep(). See external/zboss/osif/zb_nrf52_common.c this function is implemented as a weak function, so you can reimplement it if your want your own going-to-deep-sleep policy without changing common components. See how this functions is implemented in the BLE/Zigbee UART light switch example:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;/**@brief Function which tries to put the device into deep sleep mode, caused by an empty Zigbee stack scheduler queue.
 *
 * Function is defined as weak; to be redefined if someone wants to implement their own
 * going-to-deep-sleep policy.
 */
__WEAK zb_uint32_t zb_nrf52_sleep(zb_uint32_t sleep_tmo)
{
  zb_uint32_t time_slept_ms = 0;

  if (!sleep_tmo)
  {
    return sleep_tmo;
  }

#if (ZIGBEE_TRACE_LEVEL != 0)
  /* In case of trace libraries - the Zigbee stack may generate logs on each loop iteration, resulting in immediate
   * return from zb_osif_wait_for_event() each time. In such case, Zigbee stack should not be forced to
   * increment counters. Such solution may break the internal logic of the stack.
   */
  ZVUNUSED(time_slept_ms);
  return ZB_SLEEP_INVALID_VALUE;
#else

  /* Disable Zigbee stack-related peripherals to save energy. */
  zb_nrf52_priph_disable();

  /* Schedule an RTC timer interrupt to sleep for no longer than sleep_tmo. */
  zb_nrf52_sched_sleep(sleep_tmo);

  /* Wait for an event. */
  zb_osif_wait_for_event();

  /* Get RTC timer value to obtain sleep time. */
  time_slept_ms = zb_nrf52_get_time_slept();

  /* Enable Zigbee stack-related peripherals. */
  zb_nrf52_priph_enable();

  return time_slept_ms;
#endif
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Can you share your implementation of &lt;span&gt;&lt;code&gt;zb_nrf52_sleep() &lt;/code&gt;&lt;/span&gt;and&lt;span&gt;&lt;code&gt; zb_wake_up()? &lt;/code&gt;&lt;/span&gt;And where are you calling &lt;span&gt;&lt;code&gt;zb_sleep_now()?&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>