Files
CuboBmsFirmware/firmware/Core/Inc/modStateOfCharge.h
2023-03-29 20:05:42 +03:00

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