mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-06 03:50:13 +02:00
Move 10ms sending before 100ms
This commit is contained in:
parent
2a16a430ba
commit
8e8b9d6ce1
1 changed files with 39 additions and 36 deletions
|
@ -647,43 +647,7 @@ void receive_can_battery(CAN_frame_t rx_frame) {
|
||||||
}
|
}
|
||||||
void send_can_battery() {
|
void send_can_battery() {
|
||||||
unsigned long currentMillis = millis();
|
unsigned long currentMillis = millis();
|
||||||
// Send 100ms CAN Message
|
|
||||||
if (currentMillis - previousMillis100 >= INTERVAL_100_MS) {
|
|
||||||
previousMillis100 = currentMillis;
|
|
||||||
|
|
||||||
//When battery requests heating pack status change, ack this
|
|
||||||
if (Batt_Heater_Mail_Send_Request) {
|
|
||||||
LEAF_50B.data.u8[6] = 0x20; //Batt_Heater_Mail_Send_OK
|
|
||||||
} else {
|
|
||||||
LEAF_50B.data.u8[6] = 0x00; //Batt_Heater_Mail_Send_NG
|
|
||||||
}
|
|
||||||
|
|
||||||
// VCM message, containing info if battery should sleep or stay awake
|
|
||||||
ESP32Can.CANWriteFrame(&LEAF_50B); // HCM_WakeUpSleepCommand == 11b == WakeUp, and CANMASK = 1
|
|
||||||
|
|
||||||
LEAF_50C.data.u8[3] = mprun100;
|
|
||||||
switch (mprun100) {
|
|
||||||
case 0:
|
|
||||||
LEAF_50C.data.u8[4] = 0x5D;
|
|
||||||
LEAF_50C.data.u8[5] = 0xC8;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
LEAF_50C.data.u8[4] = 0xB2;
|
|
||||||
LEAF_50C.data.u8[5] = 0x31;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
LEAF_50C.data.u8[4] = 0x5D;
|
|
||||||
LEAF_50C.data.u8[5] = 0x63;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
LEAF_50C.data.u8[4] = 0xB2;
|
|
||||||
LEAF_50C.data.u8[5] = 0x9A;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
ESP32Can.CANWriteFrame(&LEAF_50C);
|
|
||||||
|
|
||||||
mprun100 = (mprun100 + 1) % 4; // mprun100 cycles between 0-1-2-3-0-1...
|
|
||||||
}
|
|
||||||
//Send 10ms message
|
//Send 10ms message
|
||||||
if (currentMillis - previousMillis10 >= INTERVAL_10_MS) {
|
if (currentMillis - previousMillis10 >= INTERVAL_10_MS) {
|
||||||
// Check if sending of CAN messages has been delayed too much.
|
// Check if sending of CAN messages has been delayed too much.
|
||||||
|
@ -810,6 +774,45 @@ void send_can_battery() {
|
||||||
|
|
||||||
mprun10 = (mprun10 + 1) % 4; // mprun10 cycles between 0-1-2-3-0-1...
|
mprun10 = (mprun10 + 1) % 4; // mprun10 cycles between 0-1-2-3-0-1...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Send 100ms CAN Message
|
||||||
|
if (currentMillis - previousMillis100 >= INTERVAL_100_MS) {
|
||||||
|
previousMillis100 = currentMillis;
|
||||||
|
|
||||||
|
//When battery requests heating pack status change, ack this
|
||||||
|
if (Batt_Heater_Mail_Send_Request) {
|
||||||
|
LEAF_50B.data.u8[6] = 0x20; //Batt_Heater_Mail_Send_OK
|
||||||
|
} else {
|
||||||
|
LEAF_50B.data.u8[6] = 0x00; //Batt_Heater_Mail_Send_NG
|
||||||
|
}
|
||||||
|
|
||||||
|
// VCM message, containing info if battery should sleep or stay awake
|
||||||
|
ESP32Can.CANWriteFrame(&LEAF_50B); // HCM_WakeUpSleepCommand == 11b == WakeUp, and CANMASK = 1
|
||||||
|
|
||||||
|
LEAF_50C.data.u8[3] = mprun100;
|
||||||
|
switch (mprun100) {
|
||||||
|
case 0:
|
||||||
|
LEAF_50C.data.u8[4] = 0x5D;
|
||||||
|
LEAF_50C.data.u8[5] = 0xC8;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
LEAF_50C.data.u8[4] = 0xB2;
|
||||||
|
LEAF_50C.data.u8[5] = 0x31;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
LEAF_50C.data.u8[4] = 0x5D;
|
||||||
|
LEAF_50C.data.u8[5] = 0x63;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
LEAF_50C.data.u8[4] = 0xB2;
|
||||||
|
LEAF_50C.data.u8[5] = 0x9A;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ESP32Can.CANWriteFrame(&LEAF_50C);
|
||||||
|
|
||||||
|
mprun100 = (mprun100 + 1) % 4; // mprun100 cycles between 0-1-2-3-0-1...
|
||||||
|
}
|
||||||
|
|
||||||
//Send 10s CAN messages
|
//Send 10s CAN messages
|
||||||
if (currentMillis - previousMillis10s >= INTERVAL_10_S) {
|
if (currentMillis - previousMillis10s >= INTERVAL_10_S) {
|
||||||
previousMillis10s = currentMillis;
|
previousMillis10s = currentMillis;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue