#ifndef BMS_SOP_H_
#define BMS_SOP_H_

#ifdef __cplusplus
extern "C" {
#endif 

#include "kit_macro.h"

typedef enum
{
    kSopData_ChgCur,
    kSopData_DisCur,
    kSopData_ChgPower,
    kSopData_DisPower,	
    kSopData_ChgVolt,
    kSopData_End,
}SopData;

typedef enum
{
    kChgMode_Start,
	kChgMode_CC = kChgMode_Start,  //恒流
    kChgMode_CP,  //恒功率
	kChgMode_CV,  //恒压
    kChgMode_End,
}ChgMode;

void bms_init_sop(void);
void bms_poll_sop(uint32_t base_time);
uint16_t bms_get_sop_data(SopData idx);
void bms_set_dis_forbid_status(void);
void bms_set_chg_forbid_status(void);

#ifdef __cplusplus
}
#endif

#endif

