#include "can-signals.hpp"
#include "can-message.hpp"
#include "can-bus-dev.hpp"
+#include "../obd2/active-diagnostic-request.hpp"
#include "../low-can-binding.hpp"
void can_decode_message();
std::thread th_decoding_; /// < thread that'll handle decoding a can frame
- bool is_decoding_; /// < boolean member controling thread while loop
+ bool is_decoding_ = false; /// < boolean member controling thread while loop
void can_event_push();
std::thread th_pushing_; /// < thread that'll handle pushing decoded can frame to subscribers
- bool is_pushing_; /// < boolean member controling thread while loop
+ bool is_pushing_ = false; /// < boolean member controling thread while loop
std::condition_variable new_can_message_cv_; /// < condition_variable use to wait until there is a new CAN message to read
std::mutex can_message_mutex_; /// < mutex protecting the can_message_q_ queue.
void start_threads();
void stop_threads();
+ int process_can_signals(can_message_t& can_message);
+ int process_diagnostic_signals(active_diagnostic_request_t* adr, const can_message_t& can_message);
+
can_message_t next_can_message();
void push_new_can_message(const can_message_t& can_msg);
std::mutex& get_can_message_mutex();