/**
 * @file hal_system.h
 * @brief 系统工具 HAL 接口
 */

#ifndef HAL_SYSTEM_H
#define HAL_SYSTEM_H

#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>

#ifdef __cplusplus
extern "C" {
#endif

/** @brief 获取系统时间（毫秒，单调递增）*/
uint32_t hal_system_get_time_ms(void);

/** @brief 获取系统 tick 计数 */
uint32_t hal_system_get_ticks(void);

/** @brief 系统重启（不返回）*/
void hal_system_reboot(void);

/** @brief 获取空闲堆内存字节数 */
size_t hal_system_get_free_heap(void);

#ifdef __cplusplus
}
#endif

#endif /* HAL_SYSTEM_H */
