diff options
author | Arthur Guyader <arthur.guyader@iot.bzh> | 2019-07-29 14:53:14 +0200 |
---|---|---|
committer | Arthur Guyader <arthur.guyader@iot.bzh> | 2019-08-12 15:06:45 +0200 |
commit | 22e1fe8db6686ee6ae32cfe58a10aad9f7dfb3a7 (patch) | |
tree | 05c6a378a3ff2d846fc05141789e8225687d42a4 /low-can-binding/utils/socketcan-j1939.hpp | |
parent | 88077fb4b383cf7f35093b6cc0d2d9d86c6f1bf3 (diff) |
Integrate the J1939 features : address claiming and write.
This commit allows to write J1939 messages and add the management
of the address claiming.
Bug-AGL: SPEC-2386
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: I1bb95a7ba6f6ebe463319c3972d9d46897181d51
Diffstat (limited to 'low-can-binding/utils/socketcan-j1939.hpp')
-rw-r--r-- | low-can-binding/utils/socketcan-j1939.hpp | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/low-can-binding/utils/socketcan-j1939.hpp b/low-can-binding/utils/socketcan-j1939.hpp deleted file mode 100644 index 2b370179..00000000 --- a/low-can-binding/utils/socketcan-j1939.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2018, 2019 "IoT.bzh" - * Author "Arthur Guyader" <arthur.guyader@iot.bzh> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include <linux/can/j1939.h> - -#include "./socketcan.hpp" -#include "../can/message/j1939-message.hpp" - -namespace utils -{ - - class socketcan_j1939_t : public socketcan_t - { - public: - using socketcan_t::socketcan_t; - virtual int open(std::string device_name); - int open(std::string device_name, name_t name, pgn_t pgn, uint8_t addr); - virtual std::shared_ptr<message_t> read_message(); - virtual void write_message(std::shared_ptr<message_t> obj); - virtual void write_message(std::vector<std::shared_ptr<message_t>>& vobj); - virtual int write_message(message_t& obj); - - private: - int connect(const struct sockaddr* addr, socklen_t len); - int bind(const struct sockaddr* addr, socklen_t len); - void filter(name_t name, pgn_t pgn, uint8_t addr, uint64_t name_mask=0, uint32_t pgn_mask=0, uint8_t addr_mask=0); - }; -} |