OpenCPN Partial API docs
Loading...
Searching...
No Matches
comm_drv_n2k_socketcan.h
1
/***************************************************************************
2
*
3
* Project: OpenCPN
4
* Purpose: Low-level driver for socketcan devices (linux only).
5
* Author: David Register, Alec Leamas
6
*
7
***************************************************************************
8
* Copyright (C) 2022 by David Register, Alec Leamas *
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
* This program is distributed in the hope that it will be useful, *
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18
* GNU General Public License for more details. *
19
* *
20
* You should have received a copy of the GNU General Public License *
21
* along with this program; if not, write to the *
22
* Free Software Foundation, Inc., *
23
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
24
**************************************************************************/
25
26
#ifndef _COMMDRIVERN2KSOCKETCAN_H
27
#define _COMMDRIVERN2KSOCKETCAN_H
28
29
#include <memory>
30
#include <string>
31
32
#include "model/comm_drv_n2k.h"
33
#include "model/conn_params.h"
34
35
class
CommDriverN2KSocketCAN
:
public
CommDriverN2K
{
36
public
:
37
static
std::unique_ptr<CommDriverN2KSocketCAN> Create(
38
const
ConnectionParams
* params,
DriverListener
& listener);
39
40
virtual
~CommDriverN2KSocketCAN
();
41
42
void
SetListener
(
DriverListener
& l)
override
{ m_listener = l; }
43
44
bool
SendMessage(std::shared_ptr<const NavMsg> msg,
45
std::shared_ptr<const NavAddr> addr) = 0;
// override;
46
47
virtual
bool
Open() = 0;
48
virtual
void
Close() = 0;
49
50
void
UpdateAttrCanAddress();
51
52
protected
:
53
CommDriverN2KSocketCAN
(
const
ConnectionParams
* params,
54
DriverListener
& listener);
55
ConnectionParams
m_params;
56
DriverListener
& m_listener;
57
58
private
:
59
bool
m_ok;
60
std::string m_portstring;
61
std::string m_baudrate;
62
};
63
64
#endif
// guard
CommDriverN2KSocketCAN
Definition
comm_drv_n2k_socketcan.h:35
CommDriverN2KSocketCAN::SetListener
void SetListener(DriverListener &l) override
Set the entity which will receive incoming data.
Definition
comm_drv_n2k_socketcan.h:42
CommDriverN2K
Definition
comm_drv_n2k.h:32
ConnectionParams
Definition
conn_params.h:75
DriverListener
Interface implemented by transport layer and possible other parties like test code which should handl...
Definition
comm_driver.h:48
model
include
model
comm_drv_n2k_socketcan.h
Generated on Sat Mar 1 2025 02:28:51 for OpenCPN Partial API docs by
1.9.8