X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fcan_reader.cpp;h=7ae981b80edb5f4a136a176ebe1b9c4a4c02eb4a;hb=9a8dcb99c3efb5b00b0a014e4699655d479d9925;hp=b8ada8d2e7feba3d01154d20148a173f116acc3f;hpb=cba9b59fab054d3a33a4d58ed227fc3d4b6f6d9d;p=apps%2Flow-level-can-service.git diff --git a/src/can_reader.cpp b/src/can_reader.cpp index b8ada8d..7ae981b 100644 --- a/src/can_reader.cpp +++ b/src/can_reader.cpp @@ -16,15 +16,23 @@ * limitations under the License. */ +#include "can_reader.hpp" + #include "low-can-binding.hpp" +#include "can-utils.hpp" -void can_reader(can_bus__dev_t &can_bus) +void can_reader(can_bus_dev_t &can_bus_dev, can_bus_t& can_bus) { can_message_t can_message; - while(can_bus.is_running()) + while(can_bus_dev.is_running()) { - can_message.convert_from_canfd_frame(can_bus.read(interface)); - can_bus.push_new_can_message(can_message); + can_message.convert_from_canfd_frame(can_bus_dev.read()); + + { + std::lock_guard can_message_lock(can_message_mutex); + can_bus.push_new_can_message(can_message); + } + new_can_message.notify_one(); } } \ No newline at end of file