forked from achamaikin/CCSModuleSW30Web
latest version
This commit is contained in:
98
Core/Inc/charger_control.h
Executable file
98
Core/Inc/charger_control.h
Executable file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
* charger_control.h
|
||||
*
|
||||
* Created on: Jul 29, 2024
|
||||
* Author: colorbass
|
||||
*/
|
||||
|
||||
#ifndef INC_CHARGER_CONTROL_H_
|
||||
#define INC_CHARGER_CONTROL_H_
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
|
||||
// Статус
|
||||
// статус подключения к автомобилю
|
||||
|
||||
typedef enum __attribute__((packed)) {
|
||||
Unknown,
|
||||
Unplugged,
|
||||
Disabled,
|
||||
Preparing,
|
||||
AuthRequired,
|
||||
WaitingForEnergy,
|
||||
ChargingPausedEV,
|
||||
ChargingPausedEVSE,
|
||||
Charging,
|
||||
AuthTimeout,
|
||||
Finished,
|
||||
FinishedEVSE,
|
||||
FinishedEV,
|
||||
Replugging
|
||||
} CONN_State_t;
|
||||
|
||||
// Управление
|
||||
// Разрешение на зарядку
|
||||
|
||||
typedef enum __attribute__((packed)){
|
||||
CMD_NONE = 0,
|
||||
CMD_STOP = 1,
|
||||
CMD_START = 2,
|
||||
CMD_FORCE_UNLOCK = 3,
|
||||
CMD_REPLUG = 4,
|
||||
} CONN_Control_t;
|
||||
|
||||
typedef enum __attribute__((packed)){
|
||||
CONN_NO_ERROR = 0,
|
||||
CONN_ERR_INSULATION = 1, // Утечка тока
|
||||
CONN_ERR_EMERGENCY = 2, // Нажата кнопка аварийной остановки
|
||||
CONN_ERR_DOOR_OPEN = 3, // Открыта дверь
|
||||
CONN_ERR_LOCK = 4, // Ошибка замка
|
||||
CONN_ERR_CONN_TEMP = 5, // Перегрев коннектора
|
||||
CONN_ERR_AC_FAULT = 6, // Нет напряжения сети
|
||||
CONN_ERR_CONTACTOR = 7, // Контактор неисправен
|
||||
CONN_ERR_HOTPLUG = 8, // Коннектор неожиданно отключился
|
||||
CONN_ERR_EV_COMM = 9, // Ошибка протокола связи с электромобилем
|
||||
CONN_ERR_PSU_FAULT = 10, // Ошибка PSU
|
||||
|
||||
}CONN_Error_t;
|
||||
|
||||
typedef struct{
|
||||
CONN_Control_t connControl; //0
|
||||
CONN_State_t connState; //1
|
||||
uint8_t SOC; // State of charge [%] //2
|
||||
uint32_t Power; // Power [W] //3..6
|
||||
uint32_t Energy; // Energy [Wh] //7..10
|
||||
uint32_t RequestedPower; //1W/bit
|
||||
uint16_t RequestedVoltage; //1V/bit
|
||||
uint16_t RequestedCurrent; //0.1A/bit
|
||||
uint16_t MeasuredVoltage; //1V/bit
|
||||
uint16_t MeasuredCurrent; //0.1A/bit
|
||||
uint8_t EnableOutput;
|
||||
uint8_t outputEnabled;
|
||||
int16_t UnmetDemand;
|
||||
uint16_t WantedCurrent; //0.1A/bit
|
||||
CONN_Error_t chargingError; // 0 if okay
|
||||
uint8_t EvConnected;
|
||||
|
||||
} ChargingConnector_t;
|
||||
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
extern ChargingConnector_t CONN;
|
||||
|
||||
//информация о зарядке
|
||||
|
||||
//база данных с хранением инфы
|
||||
//главный блок хранит в себе инфу о конфиге возможно во флеше
|
||||
//либо в charger_config.h
|
||||
//OCPP - универсальный блок типа
|
||||
|
||||
void CONN_Init();
|
||||
void CONN_Loop();
|
||||
|
||||
void CONN_PrintChargingTotal();
|
||||
|
||||
#endif /* INC_CHARGER_CONTROL_H_ */
|
||||
Reference in New Issue
Block a user