Initial commit
This commit is contained in:
59
Core/Inc/AIR_State_Maschine.h
Normal file
59
Core/Inc/AIR_State_Maschine.h
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* AIR_State_Maschine.h
|
||||
*
|
||||
* Created on: Jun 15, 2022
|
||||
* Author: max
|
||||
*/
|
||||
|
||||
#ifndef INC_AIR_STATE_MASCHINE_H_
|
||||
#define INC_AIR_STATE_MASCHINE_H_
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#include "stm32g441xx.h"
|
||||
#include "stm32g4xx_hal.h"
|
||||
|
||||
#define TS_INACTIVE 0
|
||||
#define TS_PRECHARGE 2
|
||||
#define TS_DISCHARGE 3
|
||||
#define TS_ERROR 4
|
||||
#define TS_ACTIVE 1
|
||||
|
||||
#define ADC_READ_TIMEOUT 500 // in ms
|
||||
#define SDC_LOWER_THRESHOLD 2500 // in ADC Values
|
||||
// FIXME
|
||||
#define LOWER_VEHICLE_SIDE_VOLTAGE_LIMIT 150000 // in mV
|
||||
|
||||
typedef struct {
|
||||
|
||||
int32_t BatteryVoltageVehicleSide;
|
||||
int32_t BatteryVoltageBatterySide;
|
||||
uint8_t targetTSState;
|
||||
uint8_t currentTSState;
|
||||
uint16_t AIRPrechargeCurrent; // ADC Value
|
||||
uint16_t AIRPositiveCurrent; // ADC Value
|
||||
uint16_t AIRNegativeCurrent; // ADC Value
|
||||
uint16_t RelaisSupplyVoltage;
|
||||
uint16_t ShutdownCircuitVoltage;
|
||||
|
||||
} AIRStateHandler;
|
||||
|
||||
AIRStateHandler init_AIR_State_Maschine(ADC_HandleTypeDef* relay_adc,
|
||||
ADC_HandleTypeDef* sc_adc,
|
||||
DMA_HandleTypeDef* relay_dma,
|
||||
DMA_HandleTypeDef* sc_dma);
|
||||
|
||||
void Update_AIR_Info(AIRStateHandler* airstate);
|
||||
uint8_t Update_AIR_State(AIRStateHandler* airstate);
|
||||
void Activate_TS(AIRStateHandler* airstate);
|
||||
void Deactivate_TS(AIRStateHandler* airstate);
|
||||
|
||||
void AIR_Precharge_Position();
|
||||
void AIR_Inactive_Position();
|
||||
void AIR_Discharge_Position();
|
||||
void AIR_Active_Position();
|
||||
void AIR_Error_Position();
|
||||
|
||||
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc);
|
||||
|
||||
#endif /* INC_AIR_STATE_MASCHINE_H_ */
|
||||
Reference in New Issue
Block a user