
The main call was named loseSomeTime() to reflect the fact that the watchdog timer is not very accurate. / This must be called from your watchdog interrupt code. / 1 if all went normally, or 0 if some other interrupt occurred / msecs Number of milliseconds to sleep, in range 0.65535. / Spend some time in low-power mode, the timing is only approximate. / enter low-power mode, wake up with watchdog, INT0/1, or pin-change Static void watchdogInterrupts (char mode) / mode Enable watchdog trigger after "16 << mode" milliseconds / start the watchdog timer (or disable it if mode < 0) one year after starting on this low-power journey, the Sleepy class was added to JeeLib, as a way to make it easy to enter low-power mode: By far the most important parameter to optimise for is sleep-mode power consumption of the entire circuit. Over the years, it led to some new (for me) insights, such as: transmission draws a “huge” 25 mA, but it’s still negligible because the duration is only a few milliseconds.

Thus started the long and fascinating journey of trying to run a JeeNode on as little power as possible – something most people probably know this weblog best for. It really didn’t add up, in terms of cost, and especially since the data was already being exchanged wirelessly! Not only do you need a power outlet nearby, you need fat power adapters, and you have to claim all those power outlets for permanent use. So far, I just worked off the premise that these nodes needed to be plugged into a power adapter – but there are plenty of cases where that is extremely cumbersome. Untethered operation also implies being self-powered:Įvidently, having lots of nodes around the house would not work if batteries had to be swapped every few weeks.

#Nvalt change name propagate to all notea full#
It took me a full year to realise that a wireless “node” tied to a wire to run for an extended period of time made no sense. Being “untethered” in many projects at that time, meant being able to do something for a few hours or a day, and swapping or recharging batteries at night was easy, right? Everyone was running Arduino’s off either a 5V USB adapter or – occasionally – off a battery pack, and never much more than a few days. The necessity to run on battery power was something I had completely missed in the beginning. But I completely ignored the power issue… During all this early experimentation in 20, I quickly zoomed in on the little ATmega + RFM12B combo as a way to collect data around the house.
