<?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>NRF52840 in sleep how to wakeup</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90661/nrf52840-in-sleep-how-to-wakeup</link><description>How to wakeup while in sleep state via uart</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 08 Aug 2022 11:26:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90661/nrf52840-in-sleep-how-to-wakeup" /><item><title>RE: NRF52840 in sleep how to wakeup</title><link>https://devzone.nordicsemi.com/thread/380582?ContentTypeID=1</link><pubDate>Mon, 08 Aug 2022 11:26:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9f104134-13d8-44da-949c-7be5db70375a</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;The discussion continued here: &amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/90776/nfr52840-advertise-problem"&gt;NFR52840 advertise problem&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 in sleep how to wakeup</title><link>https://devzone.nordicsemi.com/thread/380320?ContentTypeID=1</link><pubDate>Fri, 05 Aug 2022 09:31:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a023d58c-9f7c-4524-8134-de5fdf9b6e0e</guid><dc:creator>manobala12</dc:creator><description>&lt;p&gt;Hi Vidar Berg&lt;/p&gt;
&lt;p&gt;I tried lots of time but i am not able to ON and OFF&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Receive data via UART data_array[].It get&amp;#39;s OFF but not getting ON i don&amp;#39;t have Idea&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;uart_event_handle(app_uart_evt_t * p_event)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;uint8_t&lt;/span&gt;&lt;span&gt;&amp;nbsp;data_array[&lt;/span&gt;&lt;span&gt;BLE_NUS_MAX_DATA_LEN&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;uint8_t&lt;/span&gt;&lt;span&gt;&amp;nbsp;index =&amp;nbsp;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;uint32_t&lt;/span&gt;&lt;span&gt;&amp;nbsp;err_code;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/****************************************************************/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(data_array[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;] ==&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ble_advertising_start(&amp;amp;m_advertising, BLE_ADV_MODE_FAST);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ble_advertising_restart_without_whitelist(&amp;amp;m_advertising);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;else&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(data_array[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;] ==&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;#39;2&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;sleep_mode_enter();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/****************************************************************/&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;switch&lt;/span&gt;&lt;span&gt;&amp;nbsp;(p_event-&amp;gt;evt_type)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;APP_UART_DATA_READY&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;UNUSED_VARIABLE&lt;/span&gt;&lt;span&gt;(app_uart_get(&amp;amp;data_array[index]));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;index++;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;((data_array[index -&amp;nbsp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;] ==&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;#39;\n&amp;#39;&lt;/span&gt;&lt;span&gt;) ||&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;(data_array[index -&amp;nbsp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;] ==&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;#39;\r&amp;#39;&lt;/span&gt;&lt;span&gt;) ||&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;(index &amp;gt;= m_ble_nus_max_data_len))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(index &amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;NRF_LOG_DEBUG&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;Ready to send data over BLE NUS&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;NRF_LOG_HEXDUMP_DEBUG&lt;/span&gt;&lt;span&gt;(data_array, index);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;do&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;uint16_t&lt;/span&gt;&lt;span&gt;&amp;nbsp;length = (&lt;/span&gt;&lt;span&gt;uint16_t&lt;/span&gt;&lt;span&gt;)index;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;err_code = ble_nus_data_send(&amp;amp;m_nus, data_array, &amp;amp;length, m_conn_handle);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;((err_code !=&amp;nbsp;&lt;/span&gt;&lt;span&gt;NRF_ERROR_INVALID_STATE&lt;/span&gt;&lt;span&gt;) &amp;amp;&amp;amp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;(err_code !=&amp;nbsp;&lt;/span&gt;&lt;span&gt;NRF_ERROR_RESOURCES&lt;/span&gt;&lt;span&gt;) &amp;amp;&amp;amp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;(err_code !=&amp;nbsp;&lt;/span&gt;&lt;span&gt;NRF_ERROR_NOT_FOUND&lt;/span&gt;&lt;span&gt;))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;APP_ERROR_CHECK&lt;/span&gt;&lt;span&gt;(err_code);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;span&gt;while&lt;/span&gt;&lt;span&gt;&amp;nbsp;(err_code ==&amp;nbsp;&lt;/span&gt;&lt;span&gt;NRF_ERROR_RESOURCES&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;index =&amp;nbsp;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;APP_UART_COMMUNICATION_ERROR&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;APP_ERROR_HANDLER&lt;/span&gt;&lt;span&gt;(p_event-&amp;gt;data.error_communication);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;case&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;APP_UART_FIFO_ERROR&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;APP_ERROR_HANDLER&lt;/span&gt;&lt;span&gt;(p_event-&amp;gt;data.error_code);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 in sleep how to wakeup</title><link>https://devzone.nordicsemi.com/thread/380259?ContentTypeID=1</link><pubDate>Fri, 05 Aug 2022 06:21:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83de23fe-e2aa-4941-af11-c9c0b2f19ea7</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I don&amp;#39;t see where you are updating the &amp;#39;&lt;span&gt;data_array&amp;#39;. That should normally be done inside the uart_event_handle() if you are using the app uart libary.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Like this:&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;
uart_event_handle(app_uart_evt_t * p_event) // in this fun i used this logic 
{
    if (p_event-&amp;gt;evt_type == APP_UART_DATA_READY)
    {
        UNUSED_VARIABLE(app_uart_get(&amp;amp;data_array[0]));
        
        if(data_array[0] == &amp;#39;1&amp;#39;)
        {
            ble_advertising_start(&amp;amp;m_advertising, BLE_ADV_MODE_FAST);
        }
        else if(data_array[0] == &amp;#39;2&amp;#39;)
        {
            sd_ble_gap_adv_stop(m_advertising.adv_handle);
        }
    }&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 in sleep how to wakeup</title><link>https://devzone.nordicsemi.com/thread/380249?ContentTypeID=1</link><pubDate>Fri, 05 Aug 2022 04:15:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:72346a48-4861-49cc-a19e-a39d9752d073</guid><dc:creator>manobala12</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I am using&amp;nbsp;STM32H7 and i connect nrf52840 via uart connection and i tried to sleep ON&amp;nbsp; &amp;amp; OFF using trigger button in stm32&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* I sent data in stm32 via UART&amp;nbsp; 1-&amp;gt; to start &amp;amp; 2-&amp;gt; stop&lt;/p&gt;
&lt;p&gt;Is this is write way i am working with i cannot able to understand&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;uart_event_handle(app_uart_evt_t * p_event) // in this fun i used this logic&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if&lt;/span&gt;&lt;span&gt;(data_array[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;] == &lt;/span&gt;&lt;span&gt;&amp;#39;1&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ble_advertising_start(&amp;amp;m_advertising, &lt;/span&gt;&lt;span&gt;BLE_ADV_MODE_FAST&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt;(data_array[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;] == &lt;/span&gt;&lt;span&gt;&amp;#39;2&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sd_ble_gap_adv_stop(m_advertising.adv_handle);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;.....&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 in sleep how to wakeup</title><link>https://devzone.nordicsemi.com/thread/380105?ContentTypeID=1</link><pubDate>Thu, 04 Aug 2022 11:45:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5933bcc1-8480-4df9-8681-613826b199e8</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Please include more details about your current setup and what you are trying to achieve. E.g. should the UART peripheral be disabled in sleep like described here:&amp;nbsp;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/drivers/uart_nrf_sw_lpuart.html#low-power-uart-driver"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/drivers/uart_nrf_sw_lpuart.html#low-power-uart-driver&lt;/a&gt;? What SDK? Sleep mode?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>