Hi Dialog teams,
HW:DA14683BB
SW:DA1468x_DA15xxx_SDK_1.0.14.1081
------------------------------------------------------------------------------------------------------------------------
Title:
按键通过中断触发,多次按下按键后,程序跑飞了。
After the key is triggered several times through GPIO interruption, the program stops, which is related to BLE interrupt.
------------------------------------------------------------------------------------------------------------------------
Analyze:
In Jtag debug state, the issue is reproduced, and it stops ASSERT_WARNING of slp_isr().
Change BLE_MAX_DELAYS_ALLOWED to 10, the issue can be improved, but it will still be reproduced.
In addition, this code and parameter:DG_ configIMAGE_ Setup is related, it‘s default is development_ MODE。
Try to change the parameter:DG_ configIMAGE_ Setup to production_ Mode, but the compilation reports an error.
Please refer to attached img.
Please help me to check.
Mail:15610103088@163.com
Phone:15610103088
Thanks && Regards
Hi xuguodong,
This assertation means that the BLE woke up delayed and missed the event. Do you have a custom board? Are you using any of our SDK examples or you have your own application code? Additionally, what is the Low Power clock that is used? Is the RCX or an external XTAL32K?
Thanks, PM_Dialog
Hi PM_Dialog,
HW:DA14683-00A9DEVKT-P
On the basis of Daemon:hogp_device, I enabled uart debug.
When test_count is 44, the system stops.
Eg.
[10:57:38.945]收←◆Philip ============================== test_count 44
Code:
in custom_config_qspi.h
+#define CONFIG_RETARGET
+#define CONFIG_RETARGET_UART HW_UART2
void hogp_device_wkup_handler(void)
{
+ static uint16_t test_count;
+ printf("Philip ============================== test_count %d\n", test_count++);
OS_TASK_NOTIFY_FROM_ISR(current_task, WKUP_NOTIF, eSetBits);
}
Hi xuguodong,
The SDK sets the BLE_MAX_DELAYS_ALLOWED macro to zero, so please change from 10 to 0. As mentioned before, this assertation means that the BLE woke up delayed and missed the event. So please try to avoid printf in this callback. If you remove the printf(), are you able to run it correctly?
Thanks, PM_Dialog
Hi Dialog teams,
1.Are you sure printf caused this issue?
2.Where is the value of BLE wake up delay?
Thanks
Hi xuguodong,
If you remove the printf(), are you able to replicate this issue?
Thanks, PM_Dialog
Hi Dialog teams,
If you remove the printf(), it is okay.
Thanks
Can you help me to check Interval value of BLE wake up?
What is the main function of ble wake up?//rwble.c里有一个slp_isr()函数
Hi There,
Can you please clarify this : “Can you help me to check Interval value of BLE wake up” ?
谢谢,PM_Dialog
Interval time of ble wake up:ble wake up的间隔时间
Hi xuguodong,
Sorry but still is not clear enough. Do you mean how muck it takes to wake up?
Thanks, PM_Dialog