From deb7525f8e54859a8b271258cf01fe7e6fbe4b94 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 31 May 2017 17:14:39 +0200 Subject: Use default signal frequency if no filter provided Change-Id: I60bc1cdd62a75b539684032bbb58c38256149944 Signed-off-by: Romain Forlot --- CAN-binder/low-can-binding/binding/low-can-cb.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CAN-binder/low-can-binding/binding/low-can-cb.cpp b/CAN-binder/low-can-binding/binding/low-can-cb.cpp index 2e3a10f..48e2241 100644 --- a/CAN-binder/low-can-binding/binding/low-can-cb.cpp +++ b/CAN-binder/low-can-binding/binding/low-can-cb.cpp @@ -139,6 +139,9 @@ int low_can_subscription_t::create_rx_filter(std::shared_ptr sig) /// @return 0 if ok else -1 int low_can_subscription_t::create_rx_filter() { + if (can_signal_ == nullptr) + {return -1;} + // Make sure that socket has been opened. if(! socket_) { @@ -154,7 +157,7 @@ int low_can_subscription_t::create_rx_filter() float val = (float)(1 << can_signal_->get_bit_size()) - 1; struct timeval freq; - frequency_clock_t f(event_filter_.frequency); + frequency_clock_t f = event_filter_.frequency > 0.0f ? frequency_clock_t(event_filter_.frequency) : can_signal_->get_frequency(); freq = f.get_timeval_from_period(); bcm_msg.msg_head.opcode = RX_SETUP; -- cgit 1.2.3-korg