2f3ea9494e
* gpio, hsem, crypto: switch from HAL to LL/registers * Moved GPIO initialization to furi_hal * More HAL removed * All HAL modules disabled * HAL is finally removed * hal_gpio -> furi_hal_gpio, main.h removed * Bootloader build fix * RTOS config moved to freertos-glue * delay -> furi_hal_delay Co-authored-by: あく <alleteam@gmail.com>
49 lines
785 B
C
49 lines
785 B
C
/**
|
|
* @file furi_hal_delay.h
|
|
* Delay HAL API
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern uint32_t instructions_per_us;
|
|
|
|
/** Init DWT
|
|
*/
|
|
void furi_hal_delay_init(void);
|
|
|
|
/** Increase tick counter.
|
|
* Should be called from SysTick ISR
|
|
*/
|
|
void furi_hal_tick(void);
|
|
|
|
/** Get current tick counter
|
|
*
|
|
* System uptime, may overflow.
|
|
*
|
|
* @return Current ticks in milliseconds
|
|
*/
|
|
uint32_t furi_hal_get_tick(void);
|
|
|
|
/** 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
|