WakeUp

Class to make wake up a microcontroller from deepsleep using a low-power timer. More...

Public Static Functions

Type

Name

static void

static void

static void

static void

Detailed Description

Class to make wake up a microcontroller from deepsleep using a low-power timer.

// Depending on the LED connections either the LED is off the 2 seconds
// the target spends in deepsleep(), and on for the other second. Or it is inverted 

#include "mbed.h"
#include "WakeUp.h"

DigitalOut myled(LED1);

int main() {
    wait(5);

    //The low-power oscillator can be quite inaccurate on some targets
    //this function calibrates it against the main clock
    WakeUp::calibrate();

    while(1) {
        //Set LED to zero
        myled = 0;

        //Set wakeup time for 2 seconds
        WakeUp::set_ms(2000);

        //Enter deepsleep, the program won't go beyond this point until it is woken up
        deepsleep();

        //Set LED for 1 second to one
        myled = 1;
        wait(1);
    }
}

Public Static Functions Documentation

function set

static void WakeUp::set (
    uint32_t s
)

Set the timeout

Parameters:

  • s required time in seconds

function set_ms

static void WakeUp::set_ms (
    uint32_t ms
)

Set the timeout

Parameters:

  • ms required time in milliseconds

function attach

static void WakeUp::attach (
    Callback< void()> function
)

Attach a function to be called after timeout This is optional, if you just want to wake up you do not need to attach a function. Important: Many targets will run the wake-up routine at reduced clock speed, afterwards clock speed is restored. This means that clock speed dependent functions, such as printf might end up distorted.

// Attaching regular function
WakeUp::attach(&yourFunc);
// Attaching member function inside another library    
WakeUp::attach(callback(this, &YourLib::yourLibFunction));

It uses the new Callback system to attach functions.

Parameters:

  • *function function to call

function calibrate

static void WakeUp::calibrate (
    void 
)

Calibrate the timer Some of the low-power timers have very bad accuracy. This function calibrates it against the main timer. Warning: Blocks for 100ms!

The documentation for this class was generated from the following file: D:/w/hw-libs/\_libs\_/libraries/WakeUp.h

Last updated