<?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>Start stop button ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/85321/start-stop-button</link><description>Dear Members, 
 How can I make a start/stop button with 1 button ? 
 Here&amp;#39;s my handler : 
 
 
 Any clues ? 
 Kind regards, 
 Rixtronix LAB</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 31 Mar 2022 08:15:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/85321/start-stop-button" /><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/360942?ContentTypeID=1</link><pubDate>Thu, 31 Mar 2022 08:15:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7adb2d5f-4ea7-4589-82df-6cee6edf3a97</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello Rixtronix.&lt;/p&gt;
[quote user="RixtronixLAB"]&lt;p&gt;I got &amp;quot;error code 7&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;what does it mean ?&lt;/p&gt;[/quote]
&lt;p&gt;Please make sure to have DEBUG defined in your preprocessor defines, like shown in the included image:&lt;br /&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/0878.enabling_5F00_debug_5F00_SES.PNG" /&gt;&lt;br /&gt;This will make your logger output detailed debug information whenever a non-NRF_SUCCESS error code is passed to an APP_ERROR_CHECK.&lt;br /&gt;You may then check the returned error code against the functions API reference, to see why it would return this error and how you can resolve it.&lt;/p&gt;
[quote user="RixtronixLAB"]don&amp;#39;t have to use bsp_btn_ant_init, I took it from ANT example ?[/quote]
&lt;p&gt;The ant and ble options loads the usual button support package configuration for those cases.&lt;br /&gt;For instance, in our BLE examples we always use the same button layout and functionality - i.e erase bonds on a long press wakeup, or advertising indication by blinking of LED 1, etc.&lt;br /&gt;If you do not wish for any of this functionality to be already implemented you may instead not use the ant or ble bsp options. You should then go into the ant or ble bsp init functions to see how they initialize the bsp module, so that you may do it in a similar way for your own bsp usage.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/360924?ContentTypeID=1</link><pubDate>Thu, 31 Mar 2022 06:49:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa291375-dfc2-414e-b57d-a18187491877</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;from :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt; err_code = bsp_event_to_button_action_assign(BSP_BUTTON_2,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_2);
	 //APP_ERROR_CHECK(err_code);
	 NRF_LOG_INFO(&amp;quot;Error code %u&amp;quot;,err_code);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I got &amp;quot;error code 7&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;what does it mean ?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/360922?ContentTypeID=1</link><pubDate>Thu, 31 Mar 2022 06:39:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:949173a4-ff3e-4bdd-8e3d-863a857b6d91</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;Thanks for the reply,&lt;/p&gt;
&lt;p&gt;Like this ?&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;*********Button input 1Mar22 Rixtronix LAB********/
void read_button()
{
	ret_code_t err_code;
	  err_code = bsp_event_to_button_action_assign(BSP_BUTTON_0,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_0);
	   APP_ERROR_CHECK(err_code);
	  
	
 	  err_code = bsp_event_to_button_action_assign(BSP_BUTTON_1,
                                                            BSP_BUTTON_ACTION_PUSH, 
                                                            BSP_EVENT_KEY_1);//hardware not connected
	   APP_ERROR_CHECK(err_code);
	  
	 
  /************originally***********/
	 err_code = bsp_event_to_button_action_assign(BSP_BUTTON_2,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_2);
	 APP_ERROR_CHECK(err_code);
	/**************
	err_code = bsp_event_to_button_action_assign(BSP_BUTTON_2,
                                                            BSP_BUTTON_ACTION_LONG_PUSH, 
                                                            BSP_EVENT_KEY_2);
   ********/
	/*************originally button 4*/
	err_code = bsp_event_to_button_action_assign(BSP_BUTTON_3,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_3);
   APP_ERROR_CHECK(err_code);																														
																														
  /*************Rixtronix LAB 17 Mar 22
	err_code = bsp_event_to_button_action_assign(BSP_BUTTON_3,
                                                            BSP_BUTTON_ACTION_LONG_PUSH, 
                                                            BSP_EVENT_KEY_3);
  */
}	&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;So I need to use only&lt;/p&gt;
&lt;p&gt;&amp;nbsp;bsp_init&lt;/p&gt;
&lt;p&gt;and don&amp;#39;t have to use bsp_btn_ant_init, I took it from ANT example ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/360218?ContentTypeID=1</link><pubDate>Mon, 28 Mar 2022 09:47:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e87bcb9b-00b7-44d5-b859-d38f08e37ded</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello again, Rixtronix&lt;br /&gt;&lt;br /&gt;Thank you for your patience with this.&lt;/p&gt;
[quote user="RixtronixLAB"]&lt;p&gt;I pushed BSP_BUTTON_2, but on timeout handler I got :&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;the log :&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_0&lt;/p&gt;[/quote]
&lt;p&gt;This looks for me like a possible fallthrough in a switch case handling, could this be the case?&lt;br /&gt;I do not see any break statements at the end of the&amp;nbsp;BSP_EVENT_KEY_2 case you have shared, at least.&lt;br /&gt;&lt;br /&gt;I notice that you are not checking the returned error code from you calls to&amp;nbsp;bsp_event_to_button_action_assign, please make sure to do so to see if they are succeeding.&lt;br /&gt;&lt;br /&gt;I also notice that you are using the ant bsp init, bsp_btn_ant_init, could you elaborate on why you are using this, and what your intentions are for calling it multiple times in a row?&lt;br /&gt;The bsp init function should only have to be called once.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/359704?ContentTypeID=1</link><pubDate>Thu, 24 Mar 2022 06:01:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ea6a6b0-35da-439d-a8a9-bd6608788653</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Why isn&amp;#39;t responding to&lt;/p&gt;
&lt;p&gt;bsp_button_event_handler on bsp.c, but only responding to bsp_event_handler in main.c ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/359491?ContentTypeID=1</link><pubDate>Wed, 23 Mar 2022 06:00:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3a877a37-f48f-4808-9eab-88d54941e7d2</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;I pushed BSP_BUTTON_2, but on timeout handler I got :&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;the log :&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;nfo&amp;gt; app: BSP_BUTTON_0&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Any ideas?&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Rixtronix LAB&lt;/p&gt;
&lt;p&gt;Rixtronix LAB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358757?ContentTypeID=1</link><pubDate>Fri, 18 Mar 2022 04:01:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1902862-8a27-4c47-a145-dfd5e9053835</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;I made ,&lt;/p&gt;
&lt;p&gt;Callback :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;case BSP_EVENT_KEY_2:
					 NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH ON\n&amp;quot;);
				   //if(button2_state)
							//			{  
																				
												//ON_function();
											   err_code = app_timer_start(m_button_action, 
                                     APP_TIMER_TICKS(BUTTON_STATE_POLL_INTERVAL_MS),
                                     NULL);
												APP_ERROR_CHECK(err_code);
											 // NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH ON==&amp;gt; LONG PUSH &amp;gt;200ms\n&amp;quot;);
											 //beep_v11();
											
												button2_state = STATE_OFF;
								//		}
									
            if (actual_state != BSP_INDICATE_FIRST)
                actual_state--;
            else
                actual_state = BSP_INDICATE_LAST;
                
                //timeout handler 
                
                
void button_push_timeout_handler(void * p_context)
{ 
     uint32_t err_code;
     static uint32_t cnt;

     if (BUTTON_3==0)
     {
         cnt++;
         if ( cnt &amp;gt;= LONG_PRESS(1000))
         {
             cnt = 0;
             NRF_LOG_INFO(&amp;quot;Long Button press&amp;quot;);
         }
         else
         {
              err_code = app_timer_start(m_button_action, 
                                         APP_TIMER_TICKS(BUTTON_STATE_POLL_INTERVAL_MS),
                                         NULL);
              APP_ERROR_CHECK(err_code);
         }
     }
     else
     {
          cnt = 0; // reset counter variable
          NRF_LOG_INFO(&amp;quot;Short button press&amp;quot;);
     }
}     

err_code = app_timer_create(&amp;amp;m_button_action, APP_TIMER_MODE_SINGLE_SHOT, button_push_timeout_handler);
      APP_ERROR_CHECK(err_code);
	      NRF_LOG_INFO(&amp;quot;&amp;amp;m_button_action init Line2119...&amp;quot;);
            break;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Timer init :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;//long press button timer 16Mar22 Rixtronix LAB
APP_TIMER_DEF(m_button_action);
#define BUTTON_STATE_POLL_INTERVAL_MS  100UL
#define LONG_PRESS(MS)    (uint32_t)(MS)/BUTTON_STATE_POLL_INTERVAL_MS 
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I got always in :&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; NRF_LOG_INFO(&amp;quot;Short button press&amp;quot;);&lt;/p&gt;
&lt;p&gt;although I push long enough...&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What do we miss here ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358756?ContentTypeID=1</link><pubDate>Fri, 18 Mar 2022 03:26:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f9331ba4-9992-4dab-b142-62ab46c14d98</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Looks like it&amp;#39;s not responding to :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;case BSP_EVENT_KEY_2:
					 //NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH ON\n&amp;quot;);
				   if(button2_state)
										{  
																					cnt++;
													 if ( cnt &amp;gt;= LONG_PRESS(10000))
													 {
															 cnt = 0;
															 NRF_LOG_INFO(&amp;quot;Long Button press&amp;quot;);
													 }		
																				
												//ON_function();
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH ON==&amp;gt; LONG PUSH &amp;gt;200ms\n&amp;quot;);
											 //beep_v11();
											
												button2_state = STATE_OFF;
										}
										else
										{
												//OFF_function();
											   cnt = 0; // reset counter variable
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH OFF\n&amp;quot;);
											  //beep_v12();
											 
												button2_state = STATE_ON;
										}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;How can I relate this code to timer as I can see in :&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/43506/how-to-use-bsp_button_action_push-and-bsp_button_action_long_push-on-the-same-button-with-two-different-functions"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/43506/how-to-use-bsp_button_action_push-and-bsp_button_action_long_push-on-the-same-button-with-two-different-functions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/37842/how-to-use-bsp_event_to_button_action_assign-function-to-assign-long-push-action-to-an-event"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/37842/how-to-use-bsp_event_to_button_action_assign-function-to-assign-long-push-action-to-an-event&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358559?ContentTypeID=1</link><pubDate>Thu, 17 Mar 2022 08:48:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6076b940-50e0-4067-9804-4c2b9e3b04ce</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Read button function :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void read_button()
{
	ret_code_t err_code;
	  err_code = bsp_event_to_button_action_assign(BSP_BUTTON_0,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_0);
	
	  
	
 	  err_code = bsp_event_to_button_action_assign(BSP_BUTTON_1,
                                                            BSP_BUTTON_ACTION_PUSH, 
                                                            BSP_EVENT_KEY_1);//hardware not connected
	
	  
	 
  /************originally***********	
	 err_code = bsp_event_to_button_action_assign(BSP_BUTTON_2,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_2);
	**************/
	err_code = bsp_event_to_button_action_assign(BSP_BUTTON_2,
                                                            BSP_BUTTON_ACTION_LONG_PUSH, 
                                                            BSP_EVENT_KEY_2);

	/*************originally button 4
	err_code = bsp_event_to_button_action_assign(BSP_BUTTON_3,
                                                            BSP_BUTTON_ACTION_PUSH,
                                                            BSP_EVENT_KEY_3);
																														
  *************Rixtronix LAB 17 Mar 22*/
	err_code = bsp_event_to_button_action_assign(BSP_BUTTON_3,
                                                            BSP_BUTTON_ACTION_LONG_PUSH, 
                                                            BSP_EVENT_KEY_3);

}	&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358556?ContentTypeID=1</link><pubDate>Thu, 17 Mar 2022 08:43:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46101d85-0435-4ee7-ba95-3e5c5f11b383</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;Thanks for the reply,&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define BSP_LONG_PUSH_TIMEOUT_MS (1000) /**&amp;lt; The time to hold for a long push (in milliseconds). */&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s the complete event :&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void bsp_event_handler(bsp_event_t event)
{
  ret_code_t err_code;
	int32_t cnt;
    switch (event)
    {
        case BSP_EVENT_SLEEP:
            nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_GOTO_SYSOFF);
            break;
				
				 case BSP_EVENT_KEY_0:
					 /************START STOP BUTTON 3Mar22 Rixtronix LAB**************/
					 
									//NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 0 PUSH START\n&amp;quot;);
						
								   if(button0_state)
										{
												//START_function();
											  //NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 0 PUSH START\n&amp;quot;);
											
											 NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 0 PUSH STOP\n&amp;quot;);
											  //beep_v9();
											  app_timer_stop(m_repeated_timer_id);
												button0_state = STATE_OFF;  
											  
										}
										else
										{
												//STOP_function();
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 0 PUSH START\n&amp;quot;);
											  //NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 0 PUSH STOP\n&amp;quot;);
											  //beep_v10();
											   app_timer_start(m_repeated_timer_id, APP_TIMER_TICKS(1000), NULL);  //3Mar22 Time of Ride Rixtronix LAB
												button0_state = STATE_ON;
											
										}
						
				  /************START STOP BUTTON 3Mar22 Rixtronix LAB**************/
					 
            if (actual_state != BSP_INDICATE_FIRST)
						   
                actual_state--;
						   
            else
						
                actual_state = BSP_INDICATE_LAST;
						
            break;

        case BSP_EVENT_KEY_1:
            NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 1 PUSH STOP\n&amp;quot;);
				    
            if (actual_state != BSP_INDICATE_LAST)
                actual_state++;
            else
                actual_state = BSP_INDICATE_FIRST;
            break;
						
				 case BSP_EVENT_KEY_2:
					 NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH ON\n&amp;quot;);
				   if(button2_state)
										{  
																					cnt++;
													 if ( cnt &amp;gt;= LONG_PRESS(10000))
													 {
															 cnt = 0;
															 NRF_LOG_INFO(&amp;quot;Long Button press&amp;quot;);
													 }		
																				
												//ON_function();
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH ON==&amp;gt; LONG PUSH &amp;gt;200ms\n&amp;quot;);
											 //beep_v11();
											
												button2_state = STATE_OFF;
										}
										else
										{
												//OFF_function();
											   cnt = 0; // reset counter variable
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 2 PUSH OFF\n&amp;quot;);
											  //beep_v12();
											 
												button2_state = STATE_ON;
										}
            if (actual_state != BSP_INDICATE_FIRST)
                actual_state--;
            else
                actual_state = BSP_INDICATE_LAST;
            break;

        case BSP_EVENT_KEY_3:
            //NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 3 PUSH OFF\n&amp;quot;);
						
           													 
				     if(button3_state)
										{  
														
																	
												//ON_function();
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 3 PUSH ON==&amp;gt; LONG PUSH &amp;gt;200ms\n&amp;quot;);
											 //beep_v11();
											
												button3_state = STATE_OFF;
										}
										else
										{
												//OFF_function();
											  NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 3 PUSH OFF\n&amp;quot;);
											  //beep_v12();
											 
												button3_state = STATE_ON;
										}
					 								 
            if (actual_state != BSP_INDICATE_LAST)
                actual_state++;
            else
                actual_state = BSP_INDICATE_FIRST;
            break;		


        default:
            break;
    }
}
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t get 2000 mS long push, is the timer running ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is it conflicting with BSP ant button ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void utils_setup(void)
{
    //ret_code_t err_code;
	  ret_code_t err_code = app_timer_init();
    APP_ERROR_CHECK(err_code);

    err_code = bsp_init(BSP_INIT_LEDS | BSP_INIT_BUTTONS,
                        bsp_event_handler);
    APP_ERROR_CHECK(err_code);

    err_code = nrf_pwr_mgmt_init();
    APP_ERROR_CHECK(err_code);
		
	    
	
    err_code = bsp_btn_ant_init(m_ant_hrm.channel_number, HRM_DISP_CHANNEL_TYPE);
    APP_ERROR_CHECK(err_code);

    //err_code = ant_state_indicator_init(m_ant_hrm.channel_number, HRM_DISP_CHANNEL_TYPE);
    APP_ERROR_CHECK(err_code);
	
	  err_code = bsp_btn_ant_init(m_ant_bsc.channel_number, BSC_DISP_CHANNEL_TYPE);
    APP_ERROR_CHECK(err_code);
		
		err_code = bsp_btn_ant_init(m_ant_bpwr.channel_number, BPWR_DISP_CHANNEL_TYPE);
    APP_ERROR_CHECK(err_code);
	
	  //err_code = ant_state_indicator_init(m_ant_bsc.channel_number, BSC_DISP_CHANNEL_TYPE);
    APP_ERROR_CHECK(err_code);
		NRF_LOG_INFO(&amp;quot;utils_setup\r\n&amp;quot;);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358550?ContentTypeID=1</link><pubDate>Thu, 17 Mar 2022 08:14:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6a0a8a7f-4b5b-468b-b093-066c713b779c</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello&amp;nbsp;&lt;span&gt;Rixtronix,&lt;br /&gt;&lt;br /&gt;I see from your logging that it refers to 200 ms, while it sounds like you intend for long push to be 2000 ms. What is your configuration of&amp;nbsp;BSP_LONG_PUSH_TIMEOUT_MS?&lt;br /&gt;Are you getting any other event in place of the long push event, or is the bsp module otherwise functioning as expected?&lt;br /&gt;&lt;br /&gt;For future reference, please use the&amp;nbsp;&lt;em&gt;Insert -&amp;gt; Code&amp;nbsp;&lt;/em&gt;option when sharing code here on DevZone.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358524?ContentTypeID=1</link><pubDate>Thu, 17 Mar 2022 06:52:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3086578f-62ca-4898-a6db-aa7cc817fa6f</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;Thanks for the reply,&lt;/p&gt;
&lt;p&gt;I have :&lt;/p&gt;
&lt;p&gt;/*************Rixtronix LAB 17 Mar 22*/&lt;/p&gt;
&lt;p&gt;err_code = bsp_event_to_button_action_assign(BSP_BUTTON_3,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_BUTTON_ACTION_LONG_PUSH, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_EVENT_KEY_3);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;and :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;case BSP_EVENT_KEY_3:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 3 PUSH OFF\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(button3_state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{ &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//ON_function();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 3 PUSH ON==&amp;gt; LONG PUSH &amp;gt;200ms\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; //beep_v11();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;button3_state = STATE_OFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//OFF_function();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; NRF_LOG_INFO(&amp;quot;BSP_EVENT_KEY 3 PUSH OFF\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; //beep_v12();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;button3_state = STATE_ON;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (actual_state != BSP_INDICATE_LAST)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual_state++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actual_state = BSP_INDICATE_FIRST;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;on bsp.h&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;#define BSP_BUTTON_ACTION_LONG_PUSH (2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /**&amp;lt; Represents pushing and holding a button for @ref BSP_LONG_PUSH_TIMEOUT_MS milliseconds. See also @ref bsp_button_action_t. */&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;but it&amp;#39;s not responding to 2 seconds long push,&lt;/p&gt;
&lt;p&gt;What am I missing here ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358339?ContentTypeID=1</link><pubDate>Wed, 16 Mar 2022 08:01:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6beb60ba-a4f3-49dd-b481-ebbbdad72a77</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;I am not sure that anyone of them uses a button to initiate SYSTEM_OFF, not long button push (because they all are using the btn_ble_bsp variant), but you can easily assign a new event to button action using the bsp function I mentioned earlier, and then initiate SYSTEM_OFF in the same manner as demonstrated in the sleep_mode_enter function.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/358320?ContentTypeID=1</link><pubDate>Wed, 16 Mar 2022 05:35:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6a84493-be6c-4f0c-b5f6-e6f60e903662</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/2022_2D00_03_2D00_16-13_5F00_31_5F00_25_2D00_BLE-Example.png" /&gt;&lt;/p&gt;
&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;from ble_peripheral directory examples above,&lt;/p&gt;
&lt;p&gt;which example is using button with SYSTEM_OFF,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;and which example is using &amp;quot;button long push&amp;quot; for event ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/356851?ContentTypeID=1</link><pubDate>Tue, 08 Mar 2022 11:23:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:96cd3b67-1887-4db9-8347-1178bba2a5b3</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello again,&lt;br /&gt;&lt;br /&gt;I would recommend that you implement the entering of SYSTEM_OFF sleep in the same way that it is implemented in the BLE peripheral examples - such as the BLE NUS example - usually in the&amp;nbsp;&lt;em&gt;sleep_mode_enter&lt;/em&gt; function. This function first prepares the device for wakeup, and then places the device into SYSTEM_OFF sleep. You will not need to have the alternating function in the button handler then, because the only thing the device will be doing during SYSTEM_OFF sleep is to be ready for wakeup by the buttons configured for wakeup during the&amp;nbsp;&lt;em&gt;sleep_mode_enter&amp;nbsp;&lt;/em&gt;function.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/356421?ContentTypeID=1</link><pubDate>Sat, 05 Mar 2022 03:20:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d8f8de5d-f101-45d6-8f02-1bd691958371</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;Thanks for the reply,&lt;/p&gt;
&lt;p&gt;So :&lt;/p&gt;
&lt;p&gt;&amp;nbsp; case BSP_EVENT_KEY_1:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(button1_state)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//OFF_function();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSTEM_OFF&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;button1_state = STATE_OFF;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//ON_function();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SYSTEM_WAKEUP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;button1_state = STATE_ON;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;What&amp;#39;s the function for SYSTEM_OFF AND SYSTEM_WAKEUP for softdevice ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Rixtronix LAB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/356221?ContentTypeID=1</link><pubDate>Fri, 04 Mar 2022 09:32:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fc72f5cb-5e32-45ac-96db-395f47301644</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;You can follow the same procedure that I outlined earlier, without the conditional variable, to have it enter into SYSTEM_OFF sleep, and as part of this function you should setup the same button to enable it for wakeup.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/356155?ContentTypeID=1</link><pubDate>Thu, 03 Mar 2022 21:08:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5abf3092-097a-4618-99c5-8cf9f30eb6fb</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;How can I make power on and off in 1 button ?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/355941?ContentTypeID=1</link><pubDate>Thu, 03 Mar 2022 08:19:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:62664fde-5826-4cf4-8a9a-96ca64ea3cd8</guid><dc:creator>Karl Ylvisaker</dc:creator><description>[quote user="RixtronixLAB"]Thanks for the reply,[/quote]
&lt;p&gt;No problem at all, I am happy to help!&lt;/p&gt;
[quote user="RixtronixLAB"]That&amp;#39;s correct, how can I fix a bouncing button ? a delay ?[/quote]
&lt;p&gt;The bsp module has debouncing already has this since its using the app_button module, which has a detection delay implemented.&lt;br /&gt;This is currently 50 ms, you could extend this to see if it resolves your issue, but usually 50 ms is enough for a regular pushbutton.&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/355928?ContentTypeID=1</link><pubDate>Thu, 03 Mar 2022 06:09:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71369cf9-a2fa-40af-a3a9-3ca353a8ec4c</guid><dc:creator>RixtronixLAB</dc:creator><description>&lt;p&gt;Hi Karl,&lt;/p&gt;
&lt;p&gt;Thanks for the reply,&lt;/p&gt;
&lt;p&gt;That&amp;#39;s correct, how can I fix a bouncing button ? a delay ?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Rixtronix LAB&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Start stop button ?</title><link>https://devzone.nordicsemi.com/thread/355749?ContentTypeID=1</link><pubDate>Wed, 02 Mar 2022 09:41:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b68ce465-3f6d-468c-9b71-15477519b1a3</guid><dc:creator>Karl Ylvisaker</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;&lt;br /&gt;I am not sure what you are doing with the actual_state and&amp;nbsp;BSP_INDICATE_FIRST, but perhaps you could use the &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/group__bsp.html?cp=8_1_6_10_8_21#ga22d22458135f52c2148f8567fff79c6f"&gt;bsp_event_to_button_action_assign&lt;/a&gt;&amp;nbsp;function to assign a bsp event like&amp;nbsp;BSP_EVENT_KEY_0 to a buttonpress, and then in the handler check if the state is either active or not, inverse it, and perform some other function?&lt;br /&gt;Something similar to this:&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define STATE_ON 1
#define STATE_OFF 0
..
    case BSP_EVENT_KEY_0:
        if(state)
        {
            OFF_function();
            state = STATE_OFF;
        }
        else
        {
            ON_function();
            state = STATE_ON;
        }
..&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Karl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>