/* * AMS_HighLevel.h * * Created on: 20.07.2022 * Author: max */ #ifndef INC_AMS_HIGHLEVEL_H_ #define INC_AMS_HIGHLEVEL_H_ #include "ADBMS_Abstraction.h" #include "ADBMS_CMD_MAKROS.h" #include "ADBMS_LL_Driver.h" #include "can.h" #include typedef enum { AMSDEACTIVE, AMSIDLE, AMSCHARGING, AMSIDLEBALANCING, AMSDISCHARGING, AMSWARNING, AMSERROR } amsState; extern amsState currentAMSState; extern Cell_Module module; extern uint32_t balancedCells; extern bool BalancingActive; extern uint8_t numberofCells; extern uint8_t numberofAux; void AMS_Init(SPI_HandleTypeDef* hspi); void AMS_Loop(); uint8_t AMS_Balancing_Loop(); uint8_t AMS_Idle_Loop(); uint8_t AMS_Warning_Loop(); uint8_t AMS_Error_Loop(); uint8_t AMS_Charging_Loop(); uint8_t AMS_Discharging_Loop(); #endif /* INC_AMS_HIGHLEVEL_H_ */