diff --git a/can/parser.cc b/can/parser.cc index 315fd50..54e4ebe 100644 --- a/can/parser.cc +++ b/can/parser.cc @@ -57,6 +57,11 @@ bool MessageState::parse(uint64_t sec, uint16_t ts_, uint8_t * dat) { if (!update_counter_generic(tmp, sig.b2)) { return false; } + } else if (sig.type == SignalType::SUBARU_CHECKSUM) { + if (subaru_checksum(address, dat_be, size) != tmp) { + INFO("0x%X CHECKSUM FAIL\n", address); + return false; + } } else if (sig.type == SignalType::CHRYSLER_CHECKSUM) { if (chrysler_checksum(address, dat_le, size) != tmp) { INFO("0x%X CHECKSUM FAIL\n", address);