/**
  **********************************************************************************
  * @file    RESET_hal.c
  * @author  Product application department
  * @version V1.0
  * @date    2020.03.20
  * @brief   RESET HAL层驱动.
  * @note 这个文件为应用层提供了操作RESET的接口:
  *     - RESET软复位处理函数.
  *     - RESET状态获取函数.
  *     - RESET获取复位原因.
  *     - RESET关闭复位源复位功能.
  *
  @verbatim
  ===================================================================================
                                  ##### 更新 #####
  ===================================================================================
  [..] 更新时间:
  [..] 更新人:
  [..] 更新内容:
        1. nothing.
  @endverbatim
  */

#include "reset_hal.h"
/*** 全局变量定义 ***************************************************************/
/** @
  * @{volatile
  */
/** @ 
  * @}
  */
/** @ 
  * @{static
  */
/** @ 
  * @}
  */
/*** 常量定义 *******************************************************************/
/** @
  * @{const
  */
/** @ 
  * @}
  */

/*** 函数定义 *******************************************************************/



/**
 * @brief 系统执行软件复位.
 *
 * @retval NONE
 */
void HAL_RESET_SoftReset(void)
{
	DRV_RESET_SoftReset();
}

/**
 * @brief 获取复位原因.
 * @param[out] reset
 * - HAL_RESET_CARD  SimCard导致复位.
 * - HAL_RESET_FD    频率检测导致复位.
 * - HAL_RESET_POR   POR上电复位.
 * - HAL_RESET_WD    看门狗导致复位.
 * - HAL_RESET_SOFT  软件复位.
 * - HAL_RESET_VD    电压检测导致复位.
 * - HAL_RESET_TC    TC定时器导致复位.
 * @retval NONE
 */
void HAL_RESET_GetStatus(RESET_StatusTypeDef *reset)
{
	*reset = DRV_RESET_GetStatus();
}

/**
 * @brief 关闭复位源复位功能.
 * @param[in] source
 * - HAL_RESET_SRC_CARD  SimCard复位源.
 * - HAL_RESET_SRC_HFD   高频复位源.
 * - HAL_RESET_SRC_LFD   低频复位源.
 * - HAL_RESET_SRC_HVD   高压复位源.
 * - HAL_RESET_SRC_LVD   低压复位源.
 * @retval NONE
 */
void HAL_RESET_Disable(RESET_SourceTypeDef source)
{
	if (HAL_RESET_SRC_CARD == source)
	{
		_reset_dis_simcard_rst;
	}

	if (HAL_RESET_SRC_HFD == source)
	{
		_reset_dis_hfd_rst;
	}

	if (HAL_RESET_SRC_LFD == source)
	{
		_reset_dis_lfd_rst;
	}

	if (HAL_RESET_SRC_HVD == source)
	{
		_reset_dis_hvd_rst;
	}

	if (HAL_RESET_SRC_LVD == source)
	{
		_reset_dis_lvd_rst;
	}
}
