Mistake on this page?
Report an issue in GitHub or email us
Public Member Functions | Static Public Member Functions
Ticker Class Reference

A Ticker is used to call a function at a recurring interval. More...

#include <Ticker.h>

Inheritance diagram for Ticker:
TimerEvent NonCopyable< Ticker > NonCopyable< TimerEvent > LowPowerTicker Timeout LowPowerTimeout

Public Member Functions

template<typename F >
MBED_FORCEINLINE void attach (F &&func, float t)
 Attach a function to be called by the Ticker, specifying the interval in seconds. More...
 
template<typename T , typename M >
void attach (T *obj, M method, float t)
 Attach a member function to be called by the Ticker, specifying the interval in seconds. More...
 
void attach_us (Callback< void()> func, us_timestamp_t t)
 Attach a function to be called by the Ticker, specifying the interval in microseconds. More...
 
template<typename T , typename M >
void attach_us (T *obj, M method, us_timestamp_t t)
 Attach a member function to be called by the Ticker, specifying the interval in microseconds. More...
 
void detach ()
 Detach the function. More...
 

Static Public Member Functions

static void irq (uint32_t id)
 The handler registered with the underlying timer interrupt. More...
 

Detailed Description

A Ticker is used to call a function at a recurring interval.

You can use as many separate Ticker objects as you require.

Note
Synchronization level: Interrupt safe

Example:

// Toggle the blinking LED after 5 seconds
#include "mbed.h"
Ticker timer;
DigitalOut led1(LED1);
DigitalOut led2(LED2);
int flip = 0;
void attime() {
flip = !flip;
}
int main() {
timer.attach(&attime, 5);
while(1) {
if(flip == 0) {
led1 = !led1;
} else {
led2 = !led2;
}
wait(0.2);
}
}

Definition at line 69 of file Ticker.h.

Member Function Documentation

MBED_FORCEINLINE void attach ( F &&  func,
float  t 
)

Attach a function to be called by the Ticker, specifying the interval in seconds.

The method forwards its arguments to attach_us() rather than copying them which may not be trivial depending on the callback copied. The function is forcibly inlined to not use floating-point operations. This is possible given attach_us() expects an integer value for the callback interval.

Parameters
funcpointer to the function to be called
tthe time between calls in seconds

Definition at line 91 of file Ticker.h.

void attach ( T *  obj,
method,
float  t 
)

Attach a member function to be called by the Ticker, specifying the interval in seconds.

Parameters
objpointer to the object to call the member function on
methodpointer to the member function to be called
tthe time between calls in seconds
Deprecated:
The attach function does not support cv-qualifiers. Replaced by attach(callback(obj, method), t).

Definition at line 109 of file Ticker.h.

void attach_us ( Callback< void()>  func,
us_timestamp_t  t 
)

Attach a function to be called by the Ticker, specifying the interval in microseconds.

Parameters
funcpointer to the function to be called
tthe time between calls in micro-seconds
Note
setting t to a value shorter than it takes to process the ticker callback causes the system to hang. Ticker callback is called constantly with no time for threads scheduling.
void attach_us ( T *  obj,
method,
us_timestamp_t  t 
)

Attach a member function to be called by the Ticker, specifying the interval in microseconds.

Parameters
objpointer to the object to call the member function on
methodpointer to the member function to be called
tthe time between calls in microseconds
Deprecated:
The attach_us function does not support cv-qualifiers. Replaced by attach_us(callback(obj, method), t).

Definition at line 139 of file Ticker.h.

void detach ( )

Detach the function.

static void irq ( uint32_t  id)
staticinherited

The handler registered with the underlying timer interrupt.

Parameters
idTimer Event ID
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.