Hi,
I am facing problem while waking up CPU from extended sleep mode. My application is based on DSPS SDK 5 in central mode running on DA14580. Sleep mode is working good and the CPU consumes 2 to 5 uA current during extended sleep mode.
For wakeup I am not seeing wakeup interrupt event. I am using pin P0.5 for both UART Rx function and external wakeup interrupt.
唤醒过程不是在dsp中实现central mode application. I have added code based on documents “AN-B-026_DA14580 External wake-up mechanisms” and “UM-B-006 - sleep mode configuration”
Can you suggest some reference application based on SDK 5 where wakeup process through external processor implemented. Also suggest document that explains wake up procedure flow in detail.
thanks,
sabasit
Device:
Hi sabasit,
Yes, the DSPS example doesn't implement an external wake up, not only on the central but also in the peripheral side. Regarding the wake up mechanism there is no document espesially for the SDK5 since there aren't any significant changes applied. You can check the UM-B-051 and also you can check on the new 5.0.4 SDK the project ble_app_sleepmode example which uses the external wakeup controller.
Thanks MT_dialog
Hi MT_dialog,
Thanks for your help. I did it. It is working good.
I have couple of questions:
1- what is difference between scanning mode “GAP_OBSERVER_MODE” and mode “GAP_GEN_DISCOVERY”? Does the "scan duplicate filtering policy" work in “GAP_OBSERVER_MODE”. According to document "RW-BLE-GAP-IS" article 4.7.2 no filtering is performed in observer mode.
Is no filtering mean “white list device filtering”, “directed/undirected advertising device filtering” or “scan duplicate filtering”?
2- I have set scan window size and scan interval time same for both 125 ms. I am scanning for two seconds and then send GAPM_CANCEL_CMD command to BLE radio to stop scanning. I don’t want to drop any advertising packet and I want to scan at full power.
Will BLE radio continuously scan for two seconds? or it will scan for 125 ms, stop scan 125 ms then continue scanning again with same pattern for two seconds?
thanks,
sabasit
Hi sabasit,
1. The GAP_OBSERVER_MODE will report back to your application all the advertising strings that can be found on air, undirectly or non-connectable advertising strings. If you have a look at the GAPM_START_ADVERTISE_CMD you can check the available ways of advertising. The parameters that controls the reporting from the white list is the filt_policy parameter.
2. Yes, if the scan_window is the same with the interval the 580 will scan almost at the full length of the scan interval (almost, the stack stops scanning in order to report back any advertising strings and to change the scan frequency). So if you do this you change the scanning channel in about 125ms every time and in every interval your scan window would be about 2.4 ms shorter than the one declared by your code.
Thanks MT_dialog
Hi MT_dialog,
Thanks for useful information. I got it.
Thanks,
sabasit