mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-05 10:49:42 +02:00
Remove lots of unnecessary CAN sending
This commit is contained in:
parent
3368bea471
commit
1e18c119d9
2 changed files with 34 additions and 24 deletions
|
@ -1321,10 +1321,12 @@ void EcmpBattery::transmit_can(unsigned long currentMillis) {
|
|||
transmit_can_frame(&ECMP_0C5, can_config.battery); //DC2_0C5
|
||||
transmit_can_frame(&ECMP_17B, can_config.battery); //VCU_PCANInfo_17B
|
||||
transmit_can_frame(&ECMP_0F2, can_config.battery); //CtrlMCU1_0F2
|
||||
if (simulateEntireCar) {
|
||||
transmit_can_frame(&ECMP_111, can_config.battery);
|
||||
transmit_can_frame(&ECMP_110, can_config.battery);
|
||||
transmit_can_frame(&ECMP_114, can_config.battery);
|
||||
}
|
||||
}
|
||||
|
||||
// Send 20ms periodic CAN Message simulating the car still being attached
|
||||
if (currentMillis - previousMillis20 >= INTERVAL_20_MS) {
|
||||
|
@ -1355,7 +1357,7 @@ void EcmpBattery::transmit_can(unsigned long currentMillis) {
|
|||
ECMP_27A.data = {0x4F, 0x58, 0x00, 0x02, 0x24, 0x00, 0x00, 0x00};
|
||||
}
|
||||
transmit_can_frame(&ECMP_230, can_config.battery); //OBC3_230
|
||||
transmit_can_frame(&ECMP_27A, can_config.battery); //PSA specific VCU message (VCU_BSI_Wakeup_27A)
|
||||
transmit_can_frame(&ECMP_27A, can_config.battery); //VCU_BSI_Wakeup_27A
|
||||
}
|
||||
// Send 100ms periodic CAN Message simulating the car still being attached
|
||||
if (currentMillis - previousMillis100 >= INTERVAL_100_MS) {
|
||||
|
@ -1463,21 +1465,24 @@ void EcmpBattery::transmit_can(unsigned long currentMillis) {
|
|||
transmit_can_frame(&ECMP_345, can_config.battery); //DC1_345
|
||||
transmit_can_frame(&ECMP_3A2, can_config.battery); //OBC2_3A2
|
||||
transmit_can_frame(&ECMP_3A3, can_config.battery); //OBC1_3A3
|
||||
transmit_can_frame(&ECMP_010, can_config.battery); //VCU_BCM_Crash
|
||||
if (simulateEntireCar) {
|
||||
transmit_can_frame(&ECMP_31E, can_config.battery);
|
||||
transmit_can_frame(&ECMP_383, can_config.battery);
|
||||
transmit_can_frame(&ECMP_010, can_config.battery);
|
||||
transmit_can_frame(&ECMP_0A6, can_config.battery); //Not in all logs
|
||||
transmit_can_frame(&ECMP_37F, can_config.battery); //Seems to be temperatures of some sort
|
||||
transmit_can_frame(&ECMP_372, can_config.battery);
|
||||
transmit_can_frame(&ECMP_351, can_config.battery);
|
||||
transmit_can_frame(&ECMP_31D, can_config.battery);
|
||||
}
|
||||
}
|
||||
// Send 500ms periodic CAN Message simulating the car still being attached
|
||||
if (currentMillis - previousMillis500 >= INTERVAL_500_MS) {
|
||||
previousMillis500 = currentMillis;
|
||||
|
||||
if (simulateEntireCar) {
|
||||
transmit_can_frame(&ECMP_0AE, can_config.battery);
|
||||
}
|
||||
}
|
||||
// Send 1s CAN Message
|
||||
if (currentMillis - previousMillis1000 >= INTERVAL_1_S) {
|
||||
previousMillis1000 = currentMillis;
|
||||
|
@ -1499,20 +1504,23 @@ void EcmpBattery::transmit_can(unsigned long currentMillis) {
|
|||
ECMP_552.data.u8[2] = ((ticks_552 & 0x0000FF00) >> 8);
|
||||
ECMP_552.data.u8[3] = (ticks_552 & 0x000000FF);
|
||||
|
||||
transmit_can_frame(&ECMP_439, can_config.battery); //PSA Specific? Not in all logs
|
||||
transmit_can_frame(&ECMP_439, can_config.battery); //OBC4
|
||||
transmit_can_frame(&ECMP_552, can_config.battery); //VCU_552 timetracking
|
||||
if (simulateEntireCar) {
|
||||
transmit_can_frame(&ECMP_486, can_config.battery); //Not in all logs
|
||||
transmit_can_frame(&ECMP_041, can_config.battery); //Not in all logs
|
||||
transmit_can_frame(&ECMP_786, can_config.battery); //Not in all logs
|
||||
transmit_can_frame(&ECMP_591, can_config.battery); //Not in all logs
|
||||
transmit_can_frame(&ECMP_552, can_config.battery); //VCU_552 timetracking
|
||||
transmit_can_frame(&ECMP_794, can_config.battery); //Not in all logs
|
||||
}
|
||||
}
|
||||
// Send 5s periodic CAN Message simulating the car still being attached
|
||||
if (currentMillis - previousMillis5000 >= INTERVAL_5_S) {
|
||||
previousMillis5000 = currentMillis;
|
||||
|
||||
if (simulateEntireCar) {
|
||||
transmit_can_frame(&ECMP_55F, can_config.battery);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EcmpBattery::setup(void) { // Performs one time setup at startup
|
||||
|
|
|
@ -39,6 +39,8 @@ class EcmpBattery : public CanBattery {
|
|||
static const int MIN_CELL_VOLTAGE_MV = 2700;
|
||||
#define NOT_SAMPLED_YET 255
|
||||
#define COMPLETED_STATE 0
|
||||
bool simulateEntireCar =
|
||||
false; //Set this to true to simulate the whole car (useful for when using external diagnostic tools)
|
||||
bool battery_RelayOpenRequest = false;
|
||||
bool battery_InterlockOpen = false;
|
||||
uint8_t ContactorResetStatemachine = 0;
|
||||
|
@ -217,7 +219,7 @@ class EcmpBattery : public CanBattery {
|
|||
uint16_t poll_state = PID_WELD_CHECK;
|
||||
uint16_t incoming_poll = 0;
|
||||
|
||||
CAN_frame ECMP_010 = {.FD = false, .ext_ID = false, .DLC = 1, .ID = 0x010, .data = {0xB4}};
|
||||
CAN_frame ECMP_010 = {.FD = false, .ext_ID = false, .DLC = 1, .ID = 0x010, .data = {0xB4}}; //VCU_BCM_Crash 100ms
|
||||
CAN_frame ECMP_041 = {.FD = false, .ext_ID = false, .DLC = 1, .ID = 0x041, .data = {0x00}};
|
||||
CAN_frame ECMP_0A6 = {.FD = false,
|
||||
.ext_ID = false,
|
||||
|
@ -333,7 +335,7 @@ class EcmpBattery : public CanBattery {
|
|||
.DLC = 8,
|
||||
.ID = 0x3A3,
|
||||
.data = {0x4A, 0x4A, 0x40, 0x00, 0x00, 0x08, 0x00, 0x0F}};
|
||||
CAN_frame ECMP_439 = {.FD = false, //??? 1s periodic (Perfectly emulated in Battery-Emulator)
|
||||
CAN_frame ECMP_439 = {.FD = false, //OBC4 1s periodic (Perfectly emulated in Battery-Emulator)
|
||||
.ext_ID = false, //Same content always, fully static
|
||||
.DLC = 8,
|
||||
.ID = 0x439,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue