X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fbinding%2Flow-can-hat.cpp;h=7258074424135eb7a5f56b0b79a600fbe9dbee0f;hb=52daf5215513cb7378adebe4fa05bb3c50016793;hp=26795f40148eea544e615ddece0df5410bb081da;hpb=025a8623df6a6d1f501d932ffa7ec1466dfd488d;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/binding/low-can-hat.cpp b/low-can-binding/binding/low-can-hat.cpp index 26795f40..72580744 100644 --- a/low-can-binding/binding/low-can-hat.cpp +++ b/low-can-binding/binding/low-can-hat.cpp @@ -66,13 +66,19 @@ int read_message(sd_event_source *event_source, int fd, uint32_t revents, void * if(can_subscription->get_index() != -1) { std::shared_ptr s = can_subscription->get_socket(); - if(s->socket() && s->socket() != -1) + if(s->socket() > 0) { std::shared_ptr message = s->read_message(); // Sure we got a valid CAN message ? - if (! message->get_id() == 0 && ! message->get_length() == 0 && message->get_flags() & INVALID_FLAG) + if (message->get_id() && + message->get_length() && + ! (message->get_flags() & INVALID_FLAG) ) + { + if(can_subscription->get_signal() != nullptr && can_subscription->get_signal()->get_message()->get_flags() & BYTE_FRAME_IS_BIG_ENDIAN) + message->frame_swap(); push_n_notify(message); + } } } }