diff options
author | Arthur Guyader <arthur.guyader@iot.bzh> | 2019-05-24 12:16:28 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-26 17:55:05 +0200 |
commit | a6fb72a70f90c35e0968f2460d324a8505410562 (patch) | |
tree | 6f975e72a72585563c2bb7c4a279db7f26626b40 /low-can-binding/binding | |
parent | 2eda264a201385f5073362207b7de84bf71f9ec1 (diff) |
Implement a new socket type CAN for j1939 protocol
This commit implements a new socket class for the j1939 protocol and
prepares the bases classes by modifying the write and read methods.
Bug-AGL: SPEC-2386
Change-Id: I16ba493418a4bb37a0262b61a2a2629be6ab5051
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/binding')
-rw-r--r-- | low-can-binding/binding/low-can-cb.cpp | 8 | ||||
-rw-r--r-- | low-can-binding/binding/low-can-subscription.cpp | 6 |
2 files changed, 7 insertions, 7 deletions
diff --git a/low-can-binding/binding/low-can-cb.cpp b/low-can-binding/binding/low-can-cb.cpp index f200b192..750baeff 100644 --- a/low-can-binding/binding/low-can-cb.cpp +++ b/low-can-binding/binding/low-can-cb.cpp @@ -85,13 +85,13 @@ int read_message(sd_event_source *event_source, int fd, uint32_t revents, void * low_can_subscription_t* can_subscription = (low_can_subscription_t*)userdata; if ((revents & EPOLLIN) != 0) { - can_message_t cm; + std::shared_ptr<can_message_t> cm; utils::socketcan_bcm_t& s = can_subscription->get_socket(); - s >> cm; + cm = s.read_message(); // Sure we got a valid CAN message ? - if(! cm.get_id() == 0 && ! cm.get_length() == 0) - {push_n_notify(cm);} + if(! cm->get_id() == 0 && ! cm->get_length() == 0) + {push_n_notify(*cm);} } // check if error or hangup diff --git a/low-can-binding/binding/low-can-subscription.cpp b/low-can-binding/binding/low-can-subscription.cpp index fe1ede81..d8149b64 100644 --- a/low-can-binding/binding/low-can-subscription.cpp +++ b/low-can-binding/binding/low-can-subscription.cpp @@ -337,7 +337,7 @@ int low_can_subscription_t::create_rx_filter(utils::bcm_msg& bcm_msg) // else monitor all standard 8 CAN OBD2 ID response. if(bcm_msg.msg_head.can_id != OBD2_FUNCTIONAL_BROADCAST_ID) { - socket_ << bcm_msg; + socket_.write_message(bcm_msg); if(! socket_) return -1; } @@ -347,7 +347,7 @@ int low_can_subscription_t::create_rx_filter(utils::bcm_msg& bcm_msg) { bcm_msg.msg_head.can_id = OBD2_FUNCTIONAL_RESPONSE_START + i; - socket_ << bcm_msg; + socket_.write_message(bcm_msg); if(! socket_) return -1; } @@ -384,7 +384,7 @@ int low_can_subscription_t::tx_send(struct canfd_frame& cfd, const std::string& if(open_socket(bus_name) < 0) {return -1;} - socket_ << bcm_msg; + socket_.write_message(bcm_msg); if(! socket_) return -1; |