From d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 26 Jun 2019 10:34:04 +0200 Subject: Change can_message_t class usage for new j1939 This commit transforms the class can_message_t as the base class and creates two derived classes: j1939_message_t and can_message_t. Bug-AGL: SPEC-2386 Change-Id: I6d3afd8e4f5abff2cd0ec4e9910bd52a2893de76 Signed-off-by: Arthur Guyader Signed-off-by: Stephane Desneux Signed-off-by: Romain Forlot --- low-can-binding/binding/low-can-subscription.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'low-can-binding/binding/low-can-subscription.hpp') diff --git a/low-can-binding/binding/low-can-subscription.hpp b/low-can-binding/binding/low-can-subscription.hpp index ded600c5..c9cd2e3f 100644 --- a/low-can-binding/binding/low-can-subscription.hpp +++ b/low-can-binding/binding/low-can-subscription.hpp @@ -54,7 +54,7 @@ private: std::shared_ptr can_signal_; ///< can_signal_ - the CAN signal subscribed std::vector > diagnostic_message_; ///< diagnostic_message_ - diagnostic messages meant to receive OBD2 /// responses. Normal diagnostic request and response are not tested for now. - std::shared_ptr socket_; ///< socket_ - socket_ that receives CAN messages. + std::shared_ptr socket_; ///< socket_ - socket_ that receives CAN messages. int set_event(); @@ -89,14 +89,16 @@ public: void set_min(float min); void set_max(float max); - struct utils::bcm_msg make_bcm_head(uint32_t opcode, uint32_t can_id = 0, uint32_t flags = 0, const struct timeval& timeout = {0,0}, const struct timeval& frequency_thinning = {0,0}) const; - void add_one_bcm_frame(struct canfd_frame& cfd, struct utils::bcm_msg& bcm_msg) const; + struct bcm_msg make_bcm_head(uint32_t opcode, uint32_t can_id = 0, uint32_t flags = 0, const struct timeval& timeout = {0,0}, const struct timeval& frequency_thinning = {0,0}) const; + void add_one_bcm_frame(struct canfd_frame& cfd, struct bcm_msg& bcm_msg) const; int open_socket(const std::string& bus_name = ""); int create_rx_filter(std::shared_ptr sig); int create_rx_filter(std::shared_ptr sig); - int create_rx_filter(utils::bcm_msg& bcm_msg); + static int create_rx_filter_can(low_can_subscription_t &subscription, std::shared_ptr sig); + static int create_rx_filter_j1939(low_can_subscription_t &subscription, std::shared_ptr sig); + static int create_rx_filter_bcm(low_can_subscription_t &subscription, struct bcm_msg& bcm_msg); - int tx_send(struct canfd_frame& cfd, const std::string& bus_name); + static int tx_send(low_can_subscription_t &subscription, struct canfd_frame& cfd, const std::string& bus_name); }; -- cgit 1.2.3-korg