demostration for TimeoutAbs
Demo absolute timeout.
Event occurs at absolute time instead of relative to when attach()
called. Random delay is added to show independence from when attach()
is called.
main.cpp
- Committer:
- Wayne Roberts
- Date:
- 2018-11-26
- Revision:
- 0:3985faffb331
File content as of revision 0:3985faffb331:
#include "mbed.h" #include "LowPowerTimeoutAbs.h" volatile bool ev; Timer t; LowPowerTimeoutAbs tabs; void my_callback() { ev = true; } us_timestamp_t tabs_started_at; int main() { unsigned prev; t.start(); tabs_started_at = tabs.read_us(); tabs.attach_us(my_callback, tabs_started_at + 100000); prev = t.read_us(); printf("tabs_started_at:%llu prev:%u\r\n", tabs_started_at, prev); for (;;) { unsigned now; if (ev) { unsigned late; now = t.read_us(); tabs_started_at += 1000000; late = rand() % 200000; printf("time %u\t", now - prev); fflush(stdout); wait_us(late); printf("late:%u\r\n", late); tabs.attach_us(my_callback, tabs_started_at); prev = now; ev = false; } } }