Is MetawearC Board capable of self shutdown in the event that running application fails to close?

I've inherited a windows 10 application at work which uses Mbientlab MetawearC boards, using their IGyroBmi160 module and converts the data into approximations for the users RPM reading on a recumbent bicycle. In practice this software is being run on Windows 10 tablets by users who are of low to moderate technical knowledge, and as result we see many unexpected cases where the application can close unexpectedly, and this leaves the MetawearC board in the initialized state and with the LED indicator light on draining the battery indefinitely.

Some things to note, the hardwear we have on hand seems to be a little outdated/no longer supported. We are unable to update the firmware past 1.3.6 and have just recently put in an order for new sensors to test if later firmware also exhibits this behavior. We are also using the following Nuget packaged for development: MetaWear.CSharp v1.2.0 and MetaWear.CSharp.Win10 v.1.0.9

Is it intended behavior that the MetawearC board will remain in a powered state, and not timeout into a sleep mode after sufficient time of inactivity, and is there any way I might be able to have the board automatically go into a power saving state should the application which is using the board fail to do so? We've been updating the software as frequently as possible to ensure a proper shutdown of the board occurs, however, It would be helpful to know if such a failsafe could be implemented and the sensor is indeed capable of a self-shutdown. Thanks in advance, I'll try to provide any further details which might be of assistance.

Comments

  • @golubon said:
    Is it intended behavior that the MetawearC board will remain in a powered state, and not timeout into a sleep mode after sufficient time of inactivity,

    Just because the connection is lost does not mean the board is inactive. In your case, the gyro is sampling data and the LED is shining.

    and is there any way I might be able to have the board automatically go into a power saving state should the application which is using the board fail to do so?

    You can program the board to reset itself after a period of time if connection is unexpectedly lost.

  • @Eric said:
    You can program the board to reset itself

    Reading over the C# SDK documentation, what I'm understanding is that I'd use a macro to write this functionality to the board? Am I correct in this understanding, or is there something else you meant by programming the board which I am missing?

  • edited March 2019

    @golubon said:

    @Eric said:
    You can program the board to reset itself

    Reading over the C# SDK documentation, what I'm understanding is that I'd use a macro to write this functionality to the board? Am I correct in this understanding, or is there something else you meant by programming the board which I am missing?

    "Reset itself after a period of time"

    https://mbientlab.com/csdocs/0/timer.html

  • Thanks for clarifying!

  • edited March 2019

    Hello Eric, could you clarify how to enable reset after disconnect? I'm looking at the timer and macros functionality and I don't see any way to create conditional macros if (disconnected) reset() ?

    I'm using a MetaWearC board and would like to stream accelerometer data only when a ble connection is established, otherwise I would like to consume as little power as possible. I can't trust that users will always cleanly exit the application for the program to put the board into sleep mode.

  • @riataman said:
    Hello Eric, could you clarify how to enable reset after disconnect? I'm looking at the timer and macros functionality and I don't see any way to create conditional macros if (disconnected) reset() ?

    What specifically do you want clarification on?

  • @Eric said:

    @riataman said:
    Hello Eric, could you clarify how to enable reset after disconnect? I'm looking at the timer and macros functionality and I don't see any way to create conditional macros if (disconnected) reset() ?

    What specifically do you want clarification on?

    How to accomplish reset after disconnect? The timer+macro functionality doesn't seems like it can be used in taht way.

  • @riataman said:

    @Eric said:

    @riataman said:
    Hello Eric, could you clarify how to enable reset after disconnect? I'm looking at the timer and macros functionality and I don't see any way to create conditional macros if (disconnected) reset() ?

    What specifically do you want clarification on?

    How to accomplish reset after disconnect? The timer+macro functionality doesn't seems like it can be used in taht way.

    Use the disconnect event to trigger the reset.

    I never mentioned using the macro for this.

Sign In or Register to comment.