diff options
author | 2019-11-26 16:18:41 +0100 | |
---|---|---|
committer | 2019-11-28 16:11:46 +0100 | |
commit | 451598fa9ce4e57a00c9312c04839e0b3dcdf320 (patch) | |
tree | 49a6341d98f1a6ca34320d5f6512ac08df1cccfd /low-can-binding/utils/socketcan-j1939.hpp | |
parent | 68d8bc019fab3e73654a330baf6b8dd7c11859ca (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
Bug-AGL: SPEC-2976
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Change-Id: I1bb95a7ba6f6ebe463319c3972d9d46897181d51
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
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); - }; -} |