diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-26 10:34:04 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-26 17:55:06 +0200 |
commit | d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51 (patch) | |
tree | 13e7c1069252dbadb2b430414f3722132d1d7013 /low-can-binding/utils/socketcan-bcm.hpp | |
parent | 82b45e3de8c92816c8080178224c5bd4be60a091 (diff) |
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 <arthur.guyader@iot.bzh>
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'low-can-binding/utils/socketcan-bcm.hpp')
-rw-r--r-- | low-can-binding/utils/socketcan-bcm.hpp | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/low-can-binding/utils/socketcan-bcm.hpp b/low-can-binding/utils/socketcan-bcm.hpp index 00028905..5e86aa4f 100644 --- a/low-can-binding/utils/socketcan-bcm.hpp +++ b/low-can-binding/utils/socketcan-bcm.hpp @@ -18,21 +18,10 @@ #pragma once #include "socketcan.hpp" -#include "../can/can-message.hpp" - -#define MAX_BCM_CAN_FRAMES 257 +#include "../can/message/can-message.hpp" namespace utils { - struct bcm_msg - { - struct bcm_msg_head msg_head; - union { - struct canfd_frame fd_frames[MAX_BCM_CAN_FRAMES]; - struct can_frame frames[MAX_BCM_CAN_FRAMES]; - }; - }; - /// @brief derivated socketcan class specialized for BCM CAN socket.make_bcm_head class socketcan_bcm_t : public socketcan_t { @@ -40,10 +29,9 @@ namespace utils using socketcan_t::socketcan_t; virtual int open(std::string device_name); - virtual std::shared_ptr<can_message_t> read_message(); - virtual void write_message(std::vector<std::shared_ptr<can_message_t>>& vobj); - virtual void write_message(std::shared_ptr<can_message_t> obj); - void write_message(struct bcm_msg& obj); + virtual std::shared_ptr<message_t> read_message(); + virtual void write_message(std::vector<std::shared_ptr<message_t>>& vobj); + virtual void write_message(std::shared_ptr<message_t> obj); private: int connect(const struct sockaddr* addr, socklen_t len); |