/**
******************************************************************************
* @file temp.h
* @author AMG Energy Solution Team
* @version V1.0.0
* @date 07-Feb-2022
* @brief This file provides all the headers of temperature functions.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
*
© COPYRIGHT 2022 AMG
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef _TEMP_H_
#define _TEMP_H_
/* Includes ------------------------------------------------------------------*/
#include "hc32_ddl.h"
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Public define ------------------------------------------------------------*/
#define AD_NORMAL 0x0000
#define AD_DISABLE 0x0000
#define AD_FAIL 0x0001
#define AD_HIGH 0x0002
#define AD_LOW 0x0003
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */
uint16_t ReadAdc(uint8_t adc_input);
void SetAdc(uint8_t adc_input);
uint16_t GetAdc(void);
void AdcInit(void);
void ADC_Process(void);
void ADC_Param_Load(void);
int16_t CalcThermistor(int16_t iADC_value);
float ADValueF(uint8_t ch);
int16_t CalcTemperatureST32(uint16_t volt);
int16_t ADValue(uint8_t ch);
uint16_t ADState(uint8_t ch);
void AppTaskTempAdc(void);
int16_t GetBmsTemp(int ch);
uint8_t IsTempSensorFailed(void);
#ifdef CONSOLE_DEBUG
void ODisplayAdcStatus(uint8_t p);
void PrintTempAdData(uint8_t ch);
#endif // #ifdef CONSOLE_DEBUG
#endif
/*******************(C)COPYRIGHT 2022 AMG ********************END OF FILE******/