/*
 * @Description: 电量采集模块-svc层
 * @Author: yangsw
 * @Date: 2021-06-02 09:30:10
 * @LastEditTime: 2023-02-27 11:25:40
 * @LastEditors: Lida
 * @Reference: 
 */
#include "svc_bat.h"
#include "../../log/svc/svc_log.h"
#include "../../flash/svc/svc_flash.h"
#include "../../com/svc/svc_com.h"

static S_Bat s_bat;
static void Batter_Init(void);


/**
 * @brief: 获取电量模块相关数据结构体
 * @param  {void} 
 * @return {S_Bat} 电量模块相关数据结构体
 * @note: 
 * @see: 
 */
//S_Bat Svc_Bat_Get_Data(void){
//    return s_bat;
//} 

/**
 * @brief: 电量模块初始化
 * @param  {void}
 * @return {void}
 * @note: 
 * @see: 
 */
void Svc_Bat_Init(void){
    //Svc_Log_Printf(LOG_INFO,"%s",__FUNCTION__);
    Bsp_Bat_Init();
    Batter_Init();
}



/**
 * @brief: 电量异常检查
 * @return {E_Result_Check} 检查结果
 * @note: 
 * @see: 
 * @param {gw_u32} u32Adc 电池电压，单位mV，1000=1000mV=1V
 */
E_Result_Check Bat_Check(gw_u32 u32Adc){

    return E_CHECK_OK;
}

/**
 * @brief: 电量相关数据初始化
 * @param  {void}
 * @return {void}
 * @note: 
 * @see: 
 */
static void Batter_Init(void)
{
    gw_u32 u32Adc;
    u32Adc=Bsp_Bat_Get_Adc(); //获取电池电压值
    s_bat.u16BatValtage=u32Adc;
}



/**
 * @brief: 电量检查-每2s检测一次
 * @param  {void}
 * @return {void}
 * @note: 
 * @see:      
 */
void Svc_Bat_Check(void){
    gw_u32 u32Adc;
    u32Adc=Bsp_Bat_Get_Adc();                 //采集当前实际电压
    s_bat.u16BatValtage=u32Adc;
    Bat_Check(u32Adc);
}


