From 0e153f12cac6edce0665d1e7ca2eba39a6133a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Wed, 31 Jul 2019 15:45:38 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/pip@835 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src_main/io_devices/pican.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src_main/io_devices/pican.cpp b/src_main/io_devices/pican.cpp index 91b51d7a..77a85eab 100644 --- a/src_main/io_devices/pican.cpp +++ b/src_main/io_devices/pican.cpp @@ -51,6 +51,10 @@ bool PICAN::openDevice() { piCoutObj << "Error! while determin the interface ioctl"; return false; } + struct timeval tv; + tv.tv_sec = 1; + tv.tv_usec = 0; + setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char*)&tv, sizeof tv); // bind socket to all CAN interface sockaddr_can addr; addr.can_family = AF_CAN; @@ -83,7 +87,7 @@ int PICAN::readDevice(void * read_to, int max_size) { can_frame frame; int ret = 0; ret = ::read(sock, &frame, sizeof(can_frame)); - if(ret < 0) {piCoutObj << "Error while read CAN frame " << ret; return -1;} + if(ret < 0) {/*piCoutObj << "Error while read CAN frame " << ret;*/ return -1;} //piCoutObj << "receive CAN frame Id =" << frame.can_id; memcpy(read_to, frame.data, piMini(frame.can_dlc, max_size)); readed_id = frame.can_id;