Files
GbTModuleEV/Core/Src/gbt_packet.c
T

62 lines
1.8 KiB
C
Executable File

/*
* gbt_packet.c
*
* Created on: Jul 23, 2024
* Author: colorbass
*/
// GB/T Time Synchronization Packet (CTS EVSE->EV)
#include "main.h"
#include "soft_rtc.h"
#include "charger_gbt.h"
// --- EV side GB/T packets (EV->EVSE) ---
// BHM: максимальное напряжение батареи/запрос зарядного напряжения
void GBT_SendBHM(void){
J_SendPacket(0x2700, 6, sizeof(GBT_MaxVoltage), (uint8_t*)&GBT_MaxVoltage);
}
// BRM: базовая информация о батарее/EV
void GBT_SendBRM(void){
J_SendPacket(0x0200, 6, sizeof(GBT_EVInfo), (uint8_t*)&GBT_EVInfo);
}
// BCP: ограничения и статусы батареи
void GBT_SendBCP(void){
J_SendPacket(0x0600, 6, sizeof(GBT_BATStat), (uint8_t*)&GBT_BATStat);
}
// BRO: ответ готовности EV (0x00 / 0xAA)
void GBT_SendBRO(uint8_t state){
uint8_t data[1];
data[0] = state;
J_SendPacket(0x0900, 6, 1, data);
}
// BCL: запрос по напряжению/току от EV
void GBT_SendBCL(void){
J_SendPacket(0x1000, 6, sizeof(GBT_ReqPower), (uint8_t*)&GBT_ReqPower);
}
// BCS: текущий статус заряда с точки зрения EV
void GBT_SendBCS(void){
J_SendPacket(0x1100, 6, sizeof(GBT_ChargingStatus), (uint8_t*)&GBT_ChargingStatus);
}
// BSM: дополнительные статусы батареи
void GBT_SendBSM(void){
J_SendPacket(0x1300, 6, sizeof(GBT_BatteryStatus), (uint8_t*)&GBT_BatteryStatus);
}
// BST: запрос остановки зарядки со стороны EV
void GBT_SendBST(uint32_t causeCode){
J_SendPacket(0x1900, 6, sizeof(causeCode), (uint8_t*)&causeCode);
}
// BSD: статус батареи при завершении
void GBT_SendBSD(void){
J_SendPacket(0x1C00, 6, sizeof(GBT_BATStat), (uint8_t*)&GBT_BATStat);
}