chargeController/APP/businessLogic/Src/bl_chargControl.c

200 lines
2.7 KiB
C

#include "bl_chargControl.h"
#include "parameter.h"
#include "comm_types.h"
static void stopChargWork(void);
static int stopChargConditions(void);
static int floatChargConditions(void);
static int mpptChargConditions(void);
static int constantVChargConditions(void);
static void mpptCharge(void);
static void constantVoltageCharge(void);
static void floatCharge(void);
/**
* @brief 停止充电
* @param
* @retval
*
*/
void stopChargWork(void)
{
}
/**
* @brief 判断达到停止充电的条件
* @param
* @retval TRUE 达到停止充电
* FALSE 未达到
*
*/
BOOL stopChargConditions(void)
{
return FALSE;
}
/**
* @brief 判断达到浮充充电的条件
* @param
* @retval TRUE 达到
* FALSE 未达到
*
*/
BOOL floatChargConditions(void)
{
return FALSE;
}
/**
* @brief 判断达到最大功率充电的条件
* @param
* @retval TRUE 达到
* FALSE 未达到
*
*/
BOOL mpptChargConditions(void)
{
return FALSE;
}
/**
* @brief 判断达到恒压充电的条件
* @param
* @retval TRUE 达到
* FALSE 未达到
*
*/
BOOL constantVChargConditions(void)
{
return FALSE;
}
/**
* @brief 判断充电控制的模式
* @param
* @retval 返回充电控制器的模式
*
*/
int chargControlMode(void)
{
if (stopChargConditions()) {
stopChargWork();
return noWork;
}
if (floatChargConditions()) {
return floatCharg;
}
if (mpptChargConditions()) {
return MPPT;
}
if (constantVChargConditions()) {
return constantVoltage;
}
}
/**
* @brief 得到充电控制器控制所需的电流电压
* @param
* @retval
*
*/
void getCVData(void)
{
}
/**
* @brief 判断有无电池
* @param
* @retval
*
*/
void judgeYNBattery(void)
{
}
/**
* @brief 无电池时控制
* @param
* @retval
*
*/
void noBatteryChargControl(void)
{
}
/**
* @brief 最大功率充电
* @param
* @retval
*
*/
void mpptCharge(void)
{
}
/**
* @brief 恒压充电
* @param
* @retval
*
*/
void constantVoltageCharge(void)
{
}
/**
* @brief 浮充充电
* @param
* @retval
*
*/
void floatCharge(void)
{
}
/**
* @brief 有电池时控制
* @param
* @retval
*
*/
void BatteryChargControl(void)
{
switch(g_otherParameter.MPPT_Mode) {
case CONSTANTCURRENT:
mpptCharge();
break;
case CONSTANTVOLTAGE:
constantVoltageCharge();
break;
case FLOAT:
floatCharge();
break;
default:
stopChargWork();
break;
}
}