I set the broadcast interval to 1s/30s(high duration), and the connection interval is set to (1600 slot-min & 1600 slot-max). I upload the hello sensor to my custom board(BCM20737S). I measure the power consumption with my custom board. I got the power consumption with my custom board. But the power consumption is still high.
1.Broadcast mode: send adv(~20mA)
2.Connect with my smart phone: Connection event(~26mA)
So the Wiced firmware will not automatically go to SLEEP mode when the chip is idle. As I know the BLE will sleep when the chip isn't in the connection event.I already try the deep sleep mode,but the module will disconnect with the master. Any suggestion about reduce the power consumption when the chip is idle(not deep sleep)? I hope the power consumption can reduce to 20~60 uA when the module is in connected mode.
You may try out the attachment included in the below thread. It basically put the hello_sensor to sleep after 30s, then do your power measurements. And it is reasonable to say that the best power saving mode would be to enter deep sleep with link off.
Thanks for your help. I have test the sleep example firmware with hello_client. I have few question after test.
1. Question of broadcast mode
Power on the hello_sensor =>high interval(send adv in each 20ms for 10 second long) => switch to low interval after 10 sec[my_APP_advertisement_stopped callback =>bleprofile_Discoverable(LOW_UNDIRECTED_DISCOVERABLE, my_APP_hostinfo.bdaddr ]=> Low duration(send adv in each 640ms for 20 second long). This is my understanding after reading code.
I check this on the oscilloscope.The hello_sensor will send adv in each 10~15 sec after 30 sec(10 sec high interval + 20 sec low interval).
Did the hello_sensor set to other broadcast interval after 30 sec ?
2. Question of connection mode
The hello_sensor will disconnect with the hell_client after few connection events. So the hello_client must be connect to hello_sensor again. Is it possible stay connect in low power mode?
1 of 1 people found this helpful
I found the answers of two questions.
Q1:Because I change the fine timer interval,so the pulse is RF active and fine timer.
Q2:I connect the hello sensor with the smart phone + nRF connect APP,and I got error code "8". I also add "emconinfo_getDiscReason()" to connection down callback,and the result is "8". So I change the crystal warm up time to 5000 in mandatory.cgs. The hello sensor work fine with hello client and smart phone.