/******************************************************************************
   * \file      Analog_Signals.h
  * \brief     Analog signal processing
  * \attention
  *
  * This file is automatically generated by analog signals configuration tool.
  * Date         : 2021/6/28 10:21:04
  * Cfg Tool Ver : 1.1.0
  * Engineer     : YZHD
  * (c) Heilongjiang TYW electronics co., LTD
  *
******************************************************************************/

#ifndef ANALOG_SIGNALS_H__
#define ANALOG_SIGNALS_H__

/* Includes -----------------------------------------------------------------*/
#include "ADC.h"
#include "Analog_Circuits.h"

/* C binding of definitions if building with C++ compiler */
#ifdef __cplusplus
extern  {
#endif
/*! @{ */

/* Exported types ------------------------------------------------------------*/
enum ADCChName
{
    ADC_CH_KL30_VOLTAGE = 0,
    ADC_CH_AIRPRESSURE_F_VOLTAGE,
    ADC_CH_AIRPRESSURE_R_VOLTAGE,
    ADC_CH_NTC_RES,
};

/* Exported macro ------------------------------------------------------------*/
#define   ADC_TOTAL_CH_NUMBER               (4U)
#define   ADC_SIGNAL_CH_NUMBER              (4U)
#define   ADC_REF_VOLTAGE                   u16ADCRefVoltage

/* Exported variables --------------------------------------------------------*/
extern volatile uint16_t u16ADCRefVoltage;

/* Exported functions --------------------------------------------------------*/
extern void Analog_Signal_Conv_Init(void);
extern void Analog_Signal_Conv_Stop(void);

extern void Analog_Signal_Conv_Service(void);

extern uint16_t ADC_Read_Signal(uint8_t u8ADCCh);
extern uint8_t  ADC_Read_Signal_Valid(uint8_t u8ADCCh);
extern uint16_t ADC_Conv_Single_Channel(uint8_t u8ADCCh);

extern void BatVlt_Filt_Service(void);
extern uint16_t BatVltFlt_Get_Value(void);

/*! @} */
#ifdef __cplusplus
}
#endif

#endif /* ANALOG_SIGNALS_H__ */
