summaryrefslogtreecommitdiffstats
path: root/low-can-binding/utils/socketcan-bcm.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2019-06-26 10:34:04 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2019-06-26 17:55:06 +0200
commitd2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51 (patch)
tree13e7c1069252dbadb2b430414f3722132d1d7013 /low-can-binding/utils/socketcan-bcm.hpp
parent82b45e3de8c92816c8080178224c5bd4be60a091 (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.hpp20
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);