Browse Source

update

disinfection_machine
zhaohe 2 years ago
parent
commit
3b6ad55660
  1. 13
      core/driver/socketcan/socket_can.cpp
  2. 4
      core/driver/socketcan/socket_can.hpp

13
core/driver/socketcan/socket_can.cpp

@ -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)) {

4
core/driver/socketcan/socket_can.hpp

@ -75,7 +75,6 @@ class SocketCan : public enable_shared_from_this<SocketCan> {
private:
unique_ptr<Thread> m_thread;
unique_ptr<Thread> m_monitorThread;
int m_socketCanFd = -1;
bool m_startListen = false;
SocketCanUtils m_socketCanUtils;
@ -83,6 +82,7 @@ class SocketCan : public enable_shared_from_this<SocketCan> {
shared_ptr<SocketCanConfig> m_socketCanConfig;
TxState m_txState;
bool m_canTriggerError;
public:
typedef enum {
@ -122,8 +122,10 @@ class SocketCan : public enable_shared_from_this<SocketCan> {
nod::signal<void(shared_ptr<SocketCanFrame>)> onSocketCanFrame;
SocketCan(){};
~SocketCan();
void initialize(shared_ptr<SocketCanConfig> socketCanConfig);
bool isError() { return m_canTriggerError; }
void startListen();

Loading…
Cancel
Save