aboutsummaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/can/can-bus.cpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-04-24 19:15:07 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-04-24 19:15:07 +0200
commit84264431ca5a9958b3bb00b3de481336cf0cccb1 (patch)
tree068c4a89e3b79db33f0ee6e607ae6cbbbf1eb14b /CAN-binder/low-can-binding/can/can-bus.cpp
parent901a27b0631909647137f49ccf12f4e9bfe38817 (diff)
Create a received job for BCM Socket to handle filtering.
Filter is created using can_signals description and send with appropriate BCM header structure. This is the simplest way to do, no temporal filtering for now is available. Change-Id: Iee49f011ba9316880735d2765c1c23a8b2d3c4d2 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding/can/can-bus.cpp')
-rw-r--r--CAN-binder/low-can-binding/can/can-bus.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/CAN-binder/low-can-binding/can/can-bus.cpp b/CAN-binder/low-can-binding/can/can-bus.cpp
index 6e6fba22..66657443 100644
--- a/CAN-binder/low-can-binding/can/can-bus.cpp
+++ b/CAN-binder/low-can-binding/can/can-bus.cpp
@@ -335,6 +335,15 @@ void can_bus_t::push_new_vehicle_message(const openxc_VehicleMessage& v_msg)
vehicle_message_q_.push(v_msg);
}
+/// @brief Create a RX_SETUP receive job for the BCM socket of a CAN signal.
+///
+/// @return 0 if ok.
+ int can_bus_t::create_rx_filter(const can_signal_t& s)
+ {
+ const std::string& bus = s.get_message().get_bus_name();
+ return can_bus_t::can_devices_[bus]->create_rx_filter(s);
+ }
+
/// @brief Return a map with the can_bus_dev_t initialized
///
/// @return map can_bus_dev_m_ map