esp_timer: Add ESP_TIMER_ISR dispatch method

Using own spinlock for each list (TASK and ISR disp method)
Reduced the dependency of ISR on the TASK dispatch method
This commit is contained in:
KonstantinKondrashov
2020-02-10 21:45:09 +08:00
parent bcbee89030
commit 63d4911cdb
11 changed files with 551 additions and 159 deletions

View File

@@ -51,6 +51,21 @@ void esp_timer_impl_deinit(void);
*/
void esp_timer_impl_set_alarm(uint64_t timestamp);
/**
* @brief Set up the timer interrupt to fire at a particular time for a particular alarm module.
*
* If the alarm time is too close in the future, implementation should set the
* alarm to the earliest time possible.
*
* @param timestamp time in microseconds when interrupt should fire (relative to
* boot time, i.e. as returned by esp_timer_impl_get_time)
*
* @param alarm_id Id alarm:
* 0 - alarm_0 for the ESP_TIMER_TASK dispatch method,
* 1 - alarm_1 for the ESP_TIMER_ISR dispatch method.
*/
void esp_timer_impl_set_alarm_id(uint64_t timestamp, unsigned alarm_id);
/**
* @brief Notify esp_timer implementation that APB frequency has changed
*