/******************************************************************
*  Copyright (C) 2023 - 2023 OneChip, Inc. All rights reserved.
* File name: VAN_ITCallBack.c
* Author: fanyidong 	 Date:2020.11.21
* Description:		STM32串口回调函数
* Others:
* History:
        1. Date:
                 Author:
                 Modification:

*****************************************************************/
#include "onechip_include_header.h"



/****************************************************************
* 函数名:    HAL_UART_Rec_IDLE
* 创建时间:  2021/04/22
* 创建人:    范义东
* 函数说明：空闲处理函数
* 输入参数:   dev  传 NULL 采用本地定义
						devNum   数码
* 输出参数:   *name
* 返回值 :   void
****************************************************************/

void HAL_UART_Rec_IDLE(UART_HandleTypeDef *huart)
{
	UART_HandleTypeDef *Uart = (UART_HandleTypeDef *)sysinf.debugUart;
	if (huart->Instance == Uart->Instance)
	{
		Van_Debug_UART_Rec_IDLE(huart);
	  return;
	}
	Uart = (UART_HandleTypeDef *)sysinf.scannerUart;
	if (huart->Instance == Uart->Instance){
		svanner_receive_Rec_IDLE(huart);
	  return;
	}
	
	Uart = (UART_HandleTypeDef *)sysinf.ESPUart;
	if (huart->Instance == Uart->Instance){
		esp_receive_Rec_IDLE(huart);
	  return;
	}
	
	return;
}

/****************************************************************
* 函数名:    HAL_UART_Rec_IDLE
* 创建时间:  2021/04/22
* 创建人:    范义东
* 函数说明：空闲处理函数
* 输入参数:   dev  传 NULL 采用本地定义
						devNum   数码
* 输出参数:   *name
* 返回值 :   void
****************************************************************/
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
//	Van_UART_Fun_RxCpltCallback(huart);

}


/****************************************************************
* 函数名:    HAL_UART_TxCpltCallback
* 创建时间:  2021/04/22
* 创建人:    范义东
* 函数说明：发送处理处理回调函数
* 输入参数:   dev  传 NULL 采用本地定义
						devNum   数码
* 输出参数:   *name
* 返回值 :   void
****************************************************************/
// DMA发送完成中断回调函数
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
	UART_HandleTypeDef *debugUart = (UART_HandleTypeDef *)sysinf.debugUart;
	
	if (huart->Instance == debugUart->Instance)
	{
		if (huart->hdmatx->State != HAL_DMA_STATE_BUSY)
		{
			Van_Debug_UART_TxCpltCallback(huart);
		}
	}else{
		if (huart->hdmatx->State != HAL_DMA_STATE_BUSY)
		{
	//		Van_UART_Fun_TxCpltCallback(huart);
		}
	}
}


/**
  * @brief  EXTI line detection callback.
  * @param  GPIO_Pin: Specifies the port pin connected to corresponding EXTI line.
  * @retval None
  */



/****************************************************************
* 函数名:    HAL_UART_Rec_IDLE
* 创建时间:  2021/04/22
* 创建人:    范义东
* 函数说明：空闲处理函数
* 输入参数:   dev  传 NULL 采用本地定义
						devNum   数码
* 输出参数:   *name
* 返回值 :   void
****************************************************************/

void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
	UART_HandleTypeDef *debugUart = (UART_HandleTypeDef *)sysinf.debugUart;
	
	if (huart->Instance == debugUart->Instance)
	{
		Van_Debug_UART_ErrorCallback(huart);
	}else{
//		Van_UART_Fun_ErrorCallback(huart);
	}
	return;
}


/**
  * @brief  EXTI line detection callback.
  * @param  GPIO_Pin: Specifies the port pin connected to corresponding EXTI line.
  * @retval None
  */

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(GPIO_Pin);
	if(GPIO_Pin == MINI7_V2_KEY_Pin){
		KYE_IRQHandler();
	}
	
	if(GPIO_Pin == MINI7_V2_REF_SW2_Pin){
		OPTO_IRQHandler();
	}
	
  /* NOTE: This function Should not be modified, when the callback is needed,
           the HAL_GPIO_EXTI_Callback could be implemented in the user file
   */
}
