Dialog Semiconductor customer support - Deep sleep https://support.dialog-semiconductor.com/resource-keywords/deep-sleep en 10 second auto-wakeup https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/10-second-auto-wakeup
论坛:;
设备:;
Fri, 14 Dec 2018 23:38:43 +0000 阿巴兰根 264179分https://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/10-second-auto-wakeup#comments GPIO Interrupt Detection https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/gpio-interrupt-detection
论坛:;
Dialog Smartbond Bluetooth低能耗–软件摘要字段标签隐藏的字段类型文本“>

嗨对话框,

问题陈述
-使用GPIO\u RegisterCallback()注册GPIO中断/ISR,并在系统启动和运行时检测是否短按和长按按钮。

我尝试的是

  • 我使用SW\u 2(P0\u 6)来实现此功能,因为SW\u 3当前用于初始化BLE播发的wkupct\u register\u callback()。
  • 我能够通过以下方法注册GPIO中断回调
  • void register\u button\u isr(void)
    {
    NVIC_DisableIRQ(GPIO1_IRQn);
    //为按钮按下中断设置isr回调
    GPIO_RegisterCallback(GPIO1_IRQn,push_button_callback);
    //按钮输入
    GPIO_EnableIRQ(GPIO_端口_0,GPIO_引脚_6,GPIO1_IRQn,true,true,0);
    }

  • 我已在set_pad_函数()和在GPIO\u reservations()中保留GPIO。
  • 如果按下了SW\u 2,则打开DA14583\u产品上的LED,再次按下时,关闭LED。

观察

  • 当系统处于活动模式时,即,广播Blinky广告数据包,如果我通过修改Blinky示例遵循相同的过程,则ISR不会由SWèU 2引脚生成,一切都很完美

附在下面_示例.zip)包含修改后的Blinky示例的文件和我在ble\u all\u-in\u-one应用程序中添加的新文件是否期待积极响应。

提前感谢您

问候
Dhruv Shah

关键字:;
附件:;
设备:;
Sun, 24 Jun 2018 14:10:02 +0000 dhruv11593型 198548 athttps://support.dialog-semiconductor.com https://support.dialog semiconductor.com/forums/post/dialog smartbond蓝牙低能耗-%E2%80%93软件/gpio中断检测#评论 无法进入深度睡眠模式 https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/can-not-enter-deep-sleep-mode < div class = "字段field-name-taxonomy-forums字段-type-taxonomy-term-reference field-label-above">
Forums: 

Hi Dialog,

1.I use 'app_easy_gap_undirected_advertise_with_timeout_start(uint16_t delay, void (*timeout_callback)(void))' to do Advertising, then close it after 10 seconds (delay is 10s), and I add a 'arch_set_sleep_mode(ARCH_DEEP_SLEEP_ON)' in 'static void app_easy_gap_advertise_stop_handler(void)' to make DA14580 go to deep sleep, but it does not enter deep sleep. Are there other processes or functions that I need to close before DA14580 can go to deep sleep?

Here is code excerpt from my firmware:
void app_easy_gap_undirected_advertise_with_timeout_start(uint16_t delay, void (*timeout_callback)(void))
{

//stop the current running timer
if(adv_timer_id != EASY_TIMER_INVALID_TIMER)
app_easy_timer_cancel(adv_timer_id);
if(timeout_callback != NULL)
adv_timeout_callback = timeout_callback;

adv_timer_id = app_easy_timer(delay, app_easy_gap_advertise_stop_handler);
app_easy_gap_undirected_advertise_start();

}

static void app_easy_gap_advertise_stop_handler(void)
{
app_easy_gap_advertise_with_timeout_stop();

app_easy_gap_advertise_stop();

adv_timer_id = app_easy_timer(SLEEP_TIMEOUT, app_timeout_callback);

arch_set_sleep_mode(ARCH_DEEP_SLEEP_ON);
}

2. If I change the 'app_easy_gap_undirected_advertise_start()' to 'app_easy_gap_non_connectable_advertise_start()', then DA14580 can sucessfully enter deep sleep mode. Do different advertising types define the sleep or idle modes that can follow?

3. I find this section of code keeps DA14580 in idle mode. How can I know which KERNEL EVENTS are still on going (preventing deep sleep mode)?

rwip.c (Line323)
/************************************************************************
************** CHECK KERNEL EVENTS **************
************************************************************************/
// Check if some kernel processing is ongoing
if (!ke_sleep_check())
break;

// Processor sleep can be enabled
proc_sleep = mode_idle;

DBG_SWDIAG(SLEEP, ALGO, 1);

4. Can I terminate the KERNEL EVENTS directly to enter deep sleep mode if I know which event is still on-going?

5. Can I force deep sleep mode even if I cannot identify or terminate the Kernel Events?

SDK5.0.3

Thanks

Keywords: 
Device: 
2017年7月10日星期一08:55:27+0000 RexDevelopment 64727在https://support.dialog-semiconductor.com https://support.dialog semiconductor.com/forums/post/dialog smartbond蓝牙低能耗-%E2%80%93软件/无法进入深度睡眠模式#评论 DA14681睡眠唤醒时间 https://support.dialog semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-42-%E2%80%93软件/da14681睡眠唤醒时间 < div class = "字段field-name-taxonomy-forums字段-type-taxonomy-term-reference field-label-above">
Forums: 

What is the typical time for the DA14681 to wake up from deep sleep, run a single ADC conversion, and go back to sleep?

Keywords: 
Device: 
2017年1月25日星期三10:52:46+0000 benvivo 5295 athttps://support.dialog-semiconductor.com https://support.dialog semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-42-%E2%80%93软件/da14681睡眠唤醒时间#comments