/**
 * @file Common_Delay.h
 * @brief 通用延时函数,实现非阻塞性延时
 * @author Landworld0321 (Landworld@landworld.com)
 * @version V1.0
 * @date 2025-06-13
 * @copyright Copyright (c) 2025 by Landworld.Co.Ltd. All rights reserved
 * 修改记录：
 * 版本号    修改日期        修改人        修改内容
 * ---------------------------------------------------------------------------
 * v1.0    2025-06-13     wuhonghui       初版代码
 * v1.1    2025-08-05     wuhonghui       增加拓展延时功能,提供可关闭的定时器
 */
#ifndef COMMON_DELAY_H_
#define COMMON_DELAY_H_

/*INCLUDE HEAD*********************************************************/

#include "CommonInc.h"
/*MICRO *********************************************************/

/// @brief 拓展延时接受体
typedef struct exDelay
{
    uint32_t exDelayTick; // 计数Tick
    bool exEnable;        // 使能标识.false 关闭定时器功能,持续返回已溢出
}exDelay_St;
/*FUNCTION DECLARATION*********************************************************/

void IncSysTick(void);
void Delay_Init(uint32_t* pStartTick);
uint8_t Delay_IsTimeout(uint32_t* pStartTick,uint16_t delayMs);
void exDelay_Init(exDelay_St* pExDelayTick);
uint8_t exDelay_IsTimeout(exDelay_St* pExDelayTick,uint16_t delayMs);
#endif
