aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-09 10:42:20 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:10:40 +0100
commit5ad1fd6926254db46621e252d0da6dc5ec95c390 (patch)
tree13d41b8f4e2764609f8f88761c24960718c70dda
parent3b55101caf70e27cb312f3f7235ed4b30ff6d849 (diff)
Fix: bugs in class due to the wrapping of C socket
into a class. Added missing include and adjust methods signature. Change-Id: Id016b452e0b641a14482c288e4713acae941ee1d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--src/can/can-bus-dev.cpp10
-rw-r--r--src/can/can-bus-dev.hpp5
2 files changed, 8 insertions, 7 deletions
diff --git a/src/can/can-bus-dev.cpp b/src/can/can-bus-dev.cpp
index f4595676..157f7de7 100644
--- a/src/can/can-bus-dev.cpp
+++ b/src/can/can-bus-dev.cpp
@@ -17,7 +17,7 @@
*/
-
+#include <unistd.h>
#include <string.h>
#include <net/if.h>
#include <sys/ioctl.h>
@@ -100,13 +100,13 @@ int can_bus_dev_t::open()
}
/// @brief Close the bus.
-void can_bus_dev_t::close()
+int can_bus_dev_t::close()
{
- can_socket_.close();
+ return can_socket_.close();
}
/// @brief Read the can socket and retrieve canfd_frame
-std::pair<struct canfd_frame&, size_t> can_bus_dev_t::read()
+can_message_t can_bus_dev_t::read()
{
ssize_t nbytes;
struct canfd_frame cfd;
@@ -197,7 +197,7 @@ int can_bus_dev_t::send_can_message(can_message_t& can_msg)
/// @brief Send a can message from a can_message_t object.
/// @param[in] can bus used to send the message
/// @param[in] can_msg the can message object to send
-bool can_bus_dev_t::send_can_message(const uint16_t arbitration_id, const uint8_t* data, const uint8_t size)
+bool can_bus_dev_t::send_can_message(const uint32_t arbitration_id, const uint8_t* data, const uint8_t size)
{
ssize_t nbytes;
canfd_frame f;
diff --git a/src/can/can-bus-dev.hpp b/src/can/can-bus-dev.hpp
index 59d999f1..744f53fa 100644
--- a/src/can/can-bus-dev.hpp
+++ b/src/can/can-bus-dev.hpp
@@ -18,6 +18,7 @@
#pragma once
+#include <stdint.h>
#include <string>
#include <thread>
#include <linux/can.h>
@@ -54,8 +55,8 @@ public:
void stop_reading();
- std::pair<struct canfd_frame&, size_t> read();
+ can_message_t read();
int send_can_message(can_message_t& can_msg);
- static bool send_can_message(const uint16_t arbitration_id, const uint8_t* data, const uint8_t size);
+ static bool send_can_message(const uint32_t arbitration_id, const uint8_t* data, const uint8_t size);
};