/** * @file furi_hal_delay.h * Delay HAL API */ #pragma once #include <stdint.h> #include <stdbool.h> #ifdef __cplusplus extern "C" { #endif /** Init Delay subsystem */ void furi_hal_delay_init(); /** Get instructions per microsecond count */ uint32_t furi_hal_delay_instructions_per_microsecond(); /** Get current tick counter * * System uptime, may overflow. * * @return Current ticks in milliseconds */ uint32_t furi_hal_get_tick(void); /** Convert milliseconds to ticks * * @param[in] milliseconds time in milliseconds * @return time in ticks */ uint32_t furi_hal_ms_to_ticks(float milliseconds); /** Delay in milliseconds * @warning Cannot be used from ISR * * @param[in] milliseconds milliseconds to wait */ void furi_hal_delay_ms(float milliseconds); /** Delay in microseconds * * @param[in] microseconds microseconds to wait */ void furi_hal_delay_us(float microseconds); #ifdef __cplusplus } #endif