Replaced boolean flags to uint_8t for state can packet

This commit is contained in:
Yury Shuvakin
2023-03-29 19:52:43 +03:00
parent 9db1fb42e0
commit 485480e042

View File

@@ -1271,8 +1271,7 @@ void transmitCan2Packet()
uint8_t buffer[8] = {0};
// sending heartbeat command
const uint32_t rtr = 1;
memcpy(buffer, &rtr, sizeof(rtr));
memset(buffer, 0xFF, sizeof(buffer));
CAN_Transmit(0x500, buffer, 8, &hcan2);
// sending common current and voltage command
@@ -1308,16 +1307,14 @@ void transmitCan2Packet()
CAN_Transmit(0x504, buffer, 8, &hcan2);
// sending charge permission, charge ending and charge/discharge state command
const bool chargeAllowed = packState.chargeAllowed;
const bool chargeEnding = packState.SoC > 95;
const bool chargeSwitchState = charge_switch_state;
uint32_t data = chargeAllowed;
data |= (chargeEnding << 1);
data |= (chargeSwitchState << 2);
const uint8_t chargeAllowed = packState.chargeAllowed ? 0xFF : 0x00;
const uint8_t chargeEnding = packState.SoC > 95 ? 0xFF : 0x00;
const uint8_t chargeSwitchState = charge_switch_state ? 0xFF : 0x00;
memset(buffer, '\0', sizeof(buffer));
memcpy(buffer, &data, sizeof(data));
memcpy(buffer + 0, &chargeAllowed, sizeof(chargeAllowed));
memcpy(buffer + 1, &chargeEnding, sizeof(chargeEnding));
memcpy(buffer + 2, &chargeSwitchState, sizeof(chargeSwitchState));
CAN_Transmit(0x505, buffer, 8, &hcan2);
}