|
|
@ -90,6 +90,15 @@ void SocketCan::initialize(shared_ptr<SocketCanConfig> socketCanConfig) { // |
|
|
|
|
|
|
|
socketcanInitialize(); |
|
|
|
} |
|
|
|
SocketCan::~SocketCan() { |
|
|
|
if (m_thread) { |
|
|
|
endListenThread(); |
|
|
|
} |
|
|
|
if (m_socketCanFd > 0) { |
|
|
|
close(m_socketCanFd); |
|
|
|
m_socketCanFd = -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void SocketCan::startListen() { startListenThread(); } |
|
|
|
|
|
|
@ -375,7 +384,9 @@ void SocketCan::socketCanReadThreadLoop() { |
|
|
|
|
|
|
|
if (canframe.can_id & CAN_ERR_FLAG) { |
|
|
|
// /usr/include/linux/can/error.h
|
|
|
|
logger->error("rx can-bus error event {:x},{}", canframe.can_id, StringUtils().bytesToString(canframe.data, canframe.len)); |
|
|
|
// logger->error("rx can-bus error event {:x},{}", canframe.can_id, StringUtils().bytesToString(canframe.data, canframe.len));
|
|
|
|
m_canTriggerError = true; |
|
|
|
break; |
|
|
|
} else { |
|
|
|
// logger->info("TX:{} {} {}", canframe.can_id, canframe.__res0, canframe.__res1);
|
|
|
|
if (!tryUpdateTxState(canframe)) { |
|
|
|