Hello Dialog,
I'm using 3.0.8 beacon reference design and I understand that the "sleep_mode" valuable needs to be "mode_sleeping"
and then become "mode_ext_sleep" to enter the extended sleep mode.
The function which change the sleep_mode is rwip_sleep(), but most of the code of this funtion is effective to the "Deep
sleep" defined and just returns mode_idle if the Extended sleep is defined. This will never put the device in sleep mode,
My question is that what portion I should change to enter the extended sleep mode?
Best Regards,
yukio
.
Device:
Hi yterasaki,
In the beacon software in order to get it to function in etxended sleep mode you have to define in the da14580_config the CFG_EXT_SLEEP.
Thanks MT_dialog
Dear Dialog staff,
Thanks for your support,but I already define the CFG_EXT_SLEEP. I don't think defining this parameter is enough to get the device go to
extendd sleep because the variable of sleep_mode is kept as "idle_mode" and the sleep preparation part of the main(1) function such as
turning off the peripheral blocks is never excuted. I also checked this by putting the test code which turn on and off the LED connected
to IO port.
Please check this also at your side.
Best Regards,
yukio
Hi yterasaki,
I 've just noticed the version of the beacon reference design you are using (3.0.8) can you please move to the current version of the beacon (3.40.6), you can download it from herehttp://support.dialog-semiconductor.com/reference-designs, the default state of this reference design is etxended sleep, you can verify it by using Smart Snippets.
Thanks MT_dialog
Thanks Dialog staff,
I downloaded 3.80.2 and will try it. Before that, I would like to ask one question about "DEEP_SLEEP".
I want to use extended sleep mode, so I define "CFG_EXT_SLEEP" and undefine ""CFG_DEEP_SLEEP", but I found that another
parameter "DEEP_SLEEP" is defined and because of this, most of rwip_sleep(void) code is effective. To use extended sleep mode,
I need to keep define "DEEP_SLEEP" or should undefine it?
Best Regards,
yukio
Hi yterasaki,
In order to set the beacon in extended sleep you dont have to do anything else in the original code besides defining CFG_EXT_SLEEP and keep the CFG_DEEP_SLEEP undefined. You can check that your device is entering extended sleep mode by using the Smart Snippets tool. Also you can find the available beacon reference design herehttp://support.dialog-semiconductor.com/resource/da14580-reference-desig....
Thanks MT_dialog
Dear Dialog,
I am also developing the extended sleeping by defining CFG_EXT_SLEEP and keep the CFG_DEEP_SLEEP undefined (which I am changing is based on the SDK5.0 and example of ble_app_barebone on the development board 14583 ), however I can not find my program go into the sleep mode, it still cost 0.75MA of current, could you please guide me how to do it step by step, since I am not experience developer on the 14583?
Hi liuluan002,
What is the developement board that you are using, a pro or a basic kit, if you are using a prokit you can use Smart Snippets and check if your device is sleeping between the connection or the advertising events. From code perpective you dont have to do anything more besides changing the app_default_sleep_mode in ARCH_EXT_SLEEP_ON in order for your device to be in extended sleep mode, please check if you change the sleep mode at all when the device operates (disable_sleep()).
Thansk MT_dialog