summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/can/can-bus.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-04-26 00:19:18 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-04-27 01:03:34 +0200
commite00c07be2835dd082862730189c87baacbfbdbeb (patch)
tree01799010ff05c0ec69754bef0d4fde5e0ea5181c /CAN-binder/low-can-binding/can/can-bus.hpp
parent3294f6fd9ad00d9412518b13b528ae14067cb3cf (diff)
Reworked reading CAN devices from BCM socket.
Now reading thread hold in can_bus_t object instead of can_bus_dev_t and reading happens using select(). Change-Id: Ib8cc68c4484679168519f3c0fa485fedd1616c74 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding/can/can-bus.hpp')
-rw-r--r--CAN-binder/low-can-binding/can/can-bus.hpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/CAN-binder/low-can-binding/can/can-bus.hpp b/CAN-binder/low-can-binding/can/can-bus.hpp
index 11b3b7a..94aa042 100644
--- a/CAN-binder/low-can-binding/can/can-bus.hpp
+++ b/CAN-binder/low-can-binding/can/can-bus.hpp
@@ -54,6 +54,10 @@ private:
int process_can_signals(can_message_t& can_message);
int process_diagnostic_signals(diagnostic_manager_t& manager, const can_message_t& can_message);
+ int can_reader();
+ std::thread th_reading_; ///< Thread handling read the socket can device filling can_message_q_ queue of can_bus_t
+ bool is_reading_ = false; ///< boolean telling whether or not reading is running or not
+
void can_decode_message();
std::thread th_decoding_; ///< thread that'll handle decoding a can frame
bool is_decoding_ = false; ///< boolean member controling thread while loop