libmDot-mbed5 – deep sleep not supported??
- This topic has 4 replies, 2 voices, and was last updated 8 years ago by Mike Fiore.
-
AuthorPosts
-
October 22, 2016 at 9:39 am #15107Andrew LindsayParticipant
I’ve tried to upgrade to mbed5 with code successfully running on mbed3, now I see this warning:
[WARNING] This mDot hardware version does not support deep sleep… using sleep.
This must be a bug in the library due to the fact this is the same hardware that has been using deep sleep for a while now.
So what has changed, certainly not my hardware?
libmDot 2.0.15-mbed127
mbed-os 2246:a6f3fd1mDot DOM: 2016-08-15
Can you get this fixed asap as this is a needed feature. Seriously, this sort of inconsistency is not good. I’ve just started on a xDot project and am now seriously reconsidering my hardware choices.
thanks
Andrew
- This topic was modified 8 years, 1 month ago by Andrew Lindsay.
- This topic was modified 8 years, 1 month ago by Andrew Lindsay.
October 23, 2016 at 6:00 am #15110Andrew LindsayParticipantAs another side effect of this bug, the function getStandbyFlag() no longer works. Previously it returned true when waking up from deep sleep, now deep sleep is not working it always returns false.
Thanks
Andrew
October 23, 2016 at 1:30 pm #15111Mike FioreBlockedAndrew,
We discovered an issue on the mDot where the current draw wasn’t consistently at the levels it should be in deepsleep. Some customers were seeing over 1mA instead of the expected <50uA levels.
Because of that, we rolled out a change in the mDot 2.0 release that prevents the mDot from going into deepsleep and uses sleep mode (now also at <50uA draw) instead.
Hope this helps!
Cheers,
Mike
October 23, 2016 at 2:35 pm #15112Andrew LindsayParticipantAre you now saying that all of the libraries, whatever version I use will not allow deep sleep on the mDot?
I had tried mbed5 and got these issues, I’ve now had to roll back to the previously working libraries. I also found further issues with the mbed5 version of the library:
- it would not wake up if using INTERRUPT
- RTC failed to return the correct time, is starting from 0 when the mDot is powered on
Disabling the deep sleep should be up to the end user after they have done their own tests to see if its worked. Just disabling it without even creating a changelog is not acceptable.
Andrew
November 1, 2016 at 11:12 am #15215Mike FioreBlockedAndrew,
You are correct that deepsleep has been disabled in the dev and production libraries for mDots. We did this because we discovered that the feature was unreliable, sometimes drawing over 1mA of current while sleeping, and was causing confusion and frustration for many of our customers.
The new libraries have improved the sleep current consumption to the point where it is approximately equivalent to what deepsleep achieved. That improvement plus the fact that RAM is retained across sleep and the application can resume instead of restarting makes sleep much more desirable than deepsleep. For these reasons, we made the decision to disable deepsleep for the mDot until we do a HW revision and fix the deepsleep unreliability.
The getStandbyFlag() function returns false because the mDot isn’t actually entering deepsleep mode.
WRT the issues you listed, can you supply more information? mbed-os version, libmDot-mbed5/libmDot-dev-mbed5 version, which GPIO is being used as the wake pin, which DK board you’re using, etc.
Please note that the deepsleep limitation only affects this specific HW version of the mDot and does not affect the xDot at all.
Cheers,
Mike
-
AuthorPosts
- You must be logged in to reply to this topic.