diff options
author | Arthur Guyader <arthur.guyader@iot.bzh> | 2019-07-29 12:19:13 +0200 |
---|---|---|
committer | Arthur Guyader <arthur.guyader@iot.bzh> | 2019-08-12 15:06:45 +0200 |
commit | 88077fb4b383cf7f35093b6cc0d2d9d86c6f1bf3 (patch) | |
tree | ae7df9ff1f6981c629bb4456ae8d17fc383e71ef /low-can-binding/utils/socketcan.cpp | |
parent | 8c0a3d45ca37f710100afab065b07e82682dc1ef (diff) |
Add feature to build messages and fix some functions
Allows to build a message (J1939,BCM) with a signal and a value.
Bug-AGL: SPEC-2386
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: Iadca13a927ff83f713f39da441c88356695a1285
Diffstat (limited to 'low-can-binding/utils/socketcan.cpp')
-rw-r--r-- | low-can-binding/utils/socketcan.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/low-can-binding/utils/socketcan.cpp b/low-can-binding/utils/socketcan.cpp index b943d1d7..f542f4e8 100644 --- a/low-can-binding/utils/socketcan.cpp +++ b/low-can-binding/utils/socketcan.cpp @@ -96,4 +96,32 @@ namespace utils { return socket_; } + + /// @brief Connect the socket. + /// @return 0 if success. + int socketcan_t::connect(const struct sockaddr* addr, socklen_t len) + { + return socket_ != INVALID_SOCKET ? ::connect(socket_, addr, len) : 0; + } + + /// @brief Bind the socket. + /// @return 0 if success. + int socketcan_t::bind(const struct sockaddr* addr, socklen_t len) + { + return socket_ != INVALID_SOCKET ? ::bind(socket_, addr, len) : 0; + } + + int socketcan_t::write_message(std::vector<message_t>& vobj) + { + for(int i=0;i<vobj.size();i++) + { + if(write_message(vobj[i])<0) + { + AFB_ERROR("Error send message %d",i); + return -1; + } + } + return 0; + } + } |