aboutsummaryrefslogtreecommitdiffstats
path: root/src/can/can-bus.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-13 14:58:22 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:15:55 +0100
commitf0d7a6523955ee94a32ec4b62e2a207b23f62316 (patch)
tree1856801bfd7f2718689888ccc488643dc99e436a /src/can/can-bus.hpp
parentb606db2b74d5c92d33a126071062c9eb2a548beb (diff)
Get decoding diagnostic request from decoding thread of can_bus_t
Decoding divided in 2 subfunctions dedicated to decode either pure CAN messages or diagnostic (obd2) message. About now, a diagnostic request has a name then it will be pushed on the event_queue as a SimpleMessage. Without name full details of diagnostic response will be pushed as diagnostic response. This behavior follows the one from OpenXC. Change-Id: I255f3f6487fa9511ea47c74606014995a7b0f720 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/can/can-bus.hpp')
-rw-r--r--src/can/can-bus.hpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/can/can-bus.hpp b/src/can/can-bus.hpp
index a001d1ef..b4f1a3ee 100644
--- a/src/can/can-bus.hpp
+++ b/src/can/can-bus.hpp
@@ -29,6 +29,7 @@
#include "can-signals.hpp"
#include "can-message.hpp"
#include "can-bus-dev.hpp"
+#include "../obd2/active-diagnostic-request.hpp"
#include "../low-can-binding.hpp"
@@ -79,6 +80,9 @@ public:
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();