* 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(interface);
+ 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<std::mutex> 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