20#ifndef MBED_LOW_POWER_TICKER_WRAPPER_H
21#define MBED_LOW_POWER_TICKER_WRAPPER_H
25#include "hal/ticker_api.h"
26#include "hal/us_ticker_api.h"
27#include "drivers/Timeout.h"
29#include "platform/mbed_chrono.h"
30#include "platform/mbed_critical.h"
122 void disable_interrupt();
127 void clear_interrupt();
132 void fire_interrupt();
149 const uint32_t _min_count_between_writes;
155 const uint32_t _min_count_until_match;
165 bool _pending_timeout;
176 bool _pending_fire_now;
181 bool _set_interrupt_allowed;
191 uint32_t _last_set_interrupt;
196 uint32_t _last_actual_set_interrupt;
206 uint32_t _us_per_tick;
219 void _timeout_handler();
231 mbed::chrono::microseconds_u32 _lp_ticks_to_us(uint32_t);
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.
bool timeout_pending()
Check if a Timeout object is being used.
void suspend()
Suspend wrapper operation and pass through interrupts.
void resume()
Resume wrapper operation and filter interrupts normally.
void irq_handler(ticker_irq_handler_type handler)
Interrupt handler called by the underlying driver/hardware.
uint32_t timestamp_t
Legacy format representing a timestamp in us.
Information about the ticker implementation.
Ticker's interface structure - required API for a ticker.