Public Member Functions | |
LowPowerTickerWrapper (const ticker_data_t *data, const ticker_interface_t *interface, uint32_t min_cycles_between_writes, uint32_t min_cycles_until_match) | |
Create a new wrapped low power ticker object. More... | |
void | irq_handler (ticker_irq_handler_type handler) |
Interrupt handler called by the underlying driver/hardware. More... | |
void | suspend () |
Suspend wrapper operation and pass through interrupts. More... | |
void | resume () |
Resume wrapper operation and filter interrupts normally. More... | |
bool | timeout_pending () |
Check if a Timeout object is being used. More... | |
Definition at line 32 of file LowPowerTickerWrapper.h.
LowPowerTickerWrapper | ( | const ticker_data_t * | data, |
const ticker_interface_t * | interface, | ||
uint32_t | min_cycles_between_writes, | ||
uint32_t | min_cycles_until_match | ||
) |
Create a new wrapped low power ticker object.
data | Low power ticker data to wrap |
interface | new ticker interface functions |
min_cycles_between_writes | The number of whole low power clock periods which must complete before subsequent calls to set_interrupt |
min_cycles_until_match | The minimum number of whole low power clock periods from the current time for which the match timestamp passed to set_interrupt is guaranteed to fire. |
N = min_cycles_between_writes
0 1 N - 1 N N + 1 N + 2 N + 3 |-------|------...------|-------|-------|-------|-------| ^ ^ | | set_interrupt Next set_interrupt allowed
N = min_cycles_until_match
0 1 N - 1 N N + 1 N + 2 N + 3 |-------|------...------|-------|-------|-------|-------| ^ ^ | | set_interrupt Earliest match timestamp allowed
void irq_handler | ( | ticker_irq_handler_type | handler | ) |
Interrupt handler called by the underlying driver/hardware.
handler | The callback which would normally be called by the underlying driver/hardware |
void resume | ( | ) |
Resume wrapper operation and filter interrupts normally.
void suspend | ( | ) |
Suspend wrapper operation and pass through interrupts.
This stops to wrapper layer from using the microsecond ticker. This should be called before using the low power ticker APIs directly.
bool timeout_pending | ( | ) |
Check if a Timeout object is being used.