libmDot-mbed5 – deep sleep not supported??

Home Forums mDot/xDot libmDot-mbed5 – deep sleep not supported??

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #15107
    Andrew Lindsay
    Participant

    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:a6f3fd1

    mDot 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

    #15110
    Andrew Lindsay
    Participant

    As 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

    #15111
    Mike Fiore
    Blocked

    Andrew,

    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

    #15112
    Andrew Lindsay
    Participant

    Are 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:

    1. it would not wake up if using INTERRUPT
    2. 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

    #15215
    Mike Fiore
    Blocked

    Andrew,

    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

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.