summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/binding/low-can-cb.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-31 12:03:02 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-06-01 18:26:18 +0200
commit69922a959e9c21055e0d0e782bb936c477f0da02 (patch)
treeadc5e08f4e5510f4ff77376f2cf9b8736289e50d /CAN-binder/low-can-binding/binding/low-can-cb.hpp
parent48617b5b0c170a1b711b01d911cb37e653d8f57c (diff)
Use ptr to can_signal instead of copying some members
Change-Id: Ie827559c7da462f59bfe4af8af824f4616c2dd5b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding/binding/low-can-cb.hpp')
-rw-r--r--CAN-binder/low-can-binding/binding/low-can-cb.hpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/CAN-binder/low-can-binding/binding/low-can-cb.hpp b/CAN-binder/low-can-binding/binding/low-can-cb.hpp
index 6490fdc6..6dc2221d 100644
--- a/CAN-binder/low-can-binding/binding/low-can-cb.hpp
+++ b/CAN-binder/low-can-binding/binding/low-can-cb.hpp
@@ -17,6 +17,9 @@
#include <string>
#include <cmath>
+#include <utility>
+
+#include "../can/can-signals.hpp"
#include "../utils/socketcan-bcm.hpp"
struct event_filter_t
@@ -33,17 +36,7 @@ private:
int index_;
/// Signal part
- std::string sig_name_;
- std::string bus_name_;
- uint32_t can_id_;
- uint8_t bit_position_; /*!< bitPosition_ - The starting bit of the signal in its CAN message (assuming
- * non-inverted bit numbering, i.e. the most significant bit of
- * each byte is 0) */
- uint8_t bit_size_; /*!< bit_size_ - The width of the bit field in the CAN message. */
- float factor_; /*!< factor_ - The final value will be multiplied by this factor. Use 1 if you
- * don't need a factor. */
- float offset_; /*!< offset_ - The final value will be added to this offset. Use 0 if you
- * don't need an offset. */
+ std::shared_ptr<can_signal_t> can_signal_;
/// Filtering part
struct event_filter_t event_filter_;
@@ -59,6 +52,7 @@ public:
explicit operator bool() const;
int get_index() const;
+ const std::shared_ptr<can_signal_t> get_can_signal() const;
const std::string get_sig_name() const;
float get_frequency() const;
float get_min() const;
@@ -70,5 +64,5 @@ public:
void set_max(float max);
int create_rx_filter();
- int create_rx_filter(const std::string& bus_name, const std::string& sig_name, uint32_t can_id, uint8_t bit_position, uint8_t bit_size, float factor, float offset);
+ int create_rx_filter(std::shared_ptr<can_signal_t> sig);
};