39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
#ifndef __MODSTATEOFCHARGE_H
|
|
#define __MODSTATEOFCHARGE_H
|
|
|
|
#include "stdint.h"
|
|
#include "stdbool.h"
|
|
#include "modPowerElectronics.h"
|
|
#include "modConfig.h"
|
|
|
|
typedef struct {
|
|
float generalStateOfCharge;
|
|
float generalStateOfHealth;
|
|
float remainingCapacityAh;
|
|
float remainingCapacityWh;
|
|
} modStateOfChargeStructTypeDef;
|
|
|
|
|
|
extern float real_capacity;
|
|
extern float previous_capacity;
|
|
extern float previous_SoC;
|
|
//static float current_SoC = 0;
|
|
extern float soc_diff;
|
|
extern float capacity_diff;
|
|
extern uint8_t SoC_Save_Flag;
|
|
|
|
typedef enum {
|
|
EVENT_FULL = 0,
|
|
EVENT_EMPTY,
|
|
} modStateOfChargeVoltageEventTypeDef;
|
|
|
|
modStateOfChargeStructTypeDef* modStateOfChargeInit(modPowerElectronicsPackStateTypedef *packState, modConfigGeneralConfigStructTypedef *generalConfigPointer);
|
|
void modStateOfChargeProcess(void);
|
|
bool modStateOfChargeStoreAndLoadDefaultStateOfCharge(void);
|
|
bool modStateOfChargeStoreStateOfCharge(void);
|
|
bool modStateOfChargeLoadStateOfCharge(void);
|
|
bool modStateOfChargePowerDownSave(void);
|
|
void modStateOfChargeVoltageEvent(modStateOfChargeVoltageEventTypeDef eventType);
|
|
|
|
#endif
|