I'm doing sensor project based on BGM111 and idea is that I send info out only every minute or so.
I'm using soft-timer to wake up the unit, but I was wondering is there better way to wait that time or how much power does soft-timer consume?
At the time I have bluetooth adv on to send adv every 100ms. I think I can stop that too and start it only once every minute or so because I have other BGM111 to listen those and react as soon as it hears them. Not sure though how much the adv takes power, but I'm guessing everything counts in long run.
Do I need to enable the sleep mode somehow or does the system automatically go there once it exits the event it was handling?
To enable sleep, you must have following setting in our hardware.xml:
Have a look at the iBeacon example in SDK, it will go to sleep between advertisements. Advertisements will consume considerable amount of power compared to state where the module is just sleeping. You can use Energy Profiler tool in Simplicity Studio to do some real-time measurements with a BGM111 development kit.
Soft timer does not consume much energy. If you configure the timer to generate event for example every 30 seconds, between those timer events the soft timer does not cause any additional power consumption.
In other words, soft timer itself does not draw power (it is based on RTCC counter that is running under the hood constantly anyway). What matters is how often the module wakes up and how long it stays awake. With Energy Profiler you can easily see what is the case in your own application. And the tool will also show you the average current consumption over the period you have selected in the GUI.
hardware.xml is only used in BGScript based projects.
The Thunderboard sense application is a C project.
If you need some assistance with Thunderboard Sense coding (which is not BGM111 based) then maybe better to start a new topic for that, and clearly state what is the problem / what you are trying to achieve.