UdonLibrary
1.0.0
機械システム研究部 C++ ライブラリ
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
ICanBus.hpp
[詳解]
1
//
2
// CANバス管理クラス インターフェース
3
//
4
// Copyright (c) 2022 udonrobo
5
//
6
7
#pragma once
8
9
#include <
Udon/Stl/EnableSTL.hpp
>
10
#include <vector>
11
12
namespace
Udon
13
{
14
16
struct
CanTxNode
17
{
18
const
uint32_t
id
;
// メッセージID
19
20
std::vector<uint8_t>
data
;
// 送信データ
21
22
uint32_t
transmitMs
;
// 最終通信時刻
23
};
24
25
27
struct
CanRxNode
28
{
29
const
uint32_t
id
;
// メッセージID
30
31
std::vector<uint8_t>
data
;
// 受信データ
32
33
void (*
onReceive
)(
void
*);
// 受信時コールバック
34
void
*
param
;
// コールバックパラメータ
35
36
uint32_t
transmitMs
;
// 最終通信時刻
37
38
void
callback
()
39
{
40
if
(
onReceive
)
41
onReceive
(
param
);
42
}
43
};
44
45
48
class
ICanBus
49
{
50
public
:
51
virtual
~ICanBus
() {}
52
53
59
virtual
CanTxNode
*
createTx
(uint32_t
id
,
size_t
length) = 0;
60
61
67
virtual
CanRxNode
*
createRx
(uint32_t
id
,
size_t
length) = 0;
68
};
69
}
// namespace Udon
EnableSTL.hpp
Udon::ICanBus
CANバス管理クラス インターフェース
Definition
ICanBus.hpp:49
Udon::ICanBus::createRx
virtual CanRxNode * createRx(uint32_t id, size_t length)=0
受信ノードを作成
Udon::ICanBus::createTx
virtual CanTxNode * createTx(uint32_t id, size_t length)=0
送信ノードを作成
Udon::ICanBus::~ICanBus
virtual ~ICanBus()
Definition
ICanBus.hpp:51
Udon
Definition
Bit.hpp:12
Udon::CanRxNode
CAN受信ノード
Definition
ICanBus.hpp:28
Udon::CanRxNode::id
const uint32_t id
Definition
ICanBus.hpp:29
Udon::CanRxNode::data
std::vector< uint8_t > data
Definition
ICanBus.hpp:31
Udon::CanRxNode::transmitMs
uint32_t transmitMs
Definition
ICanBus.hpp:36
Udon::CanRxNode::param
void * param
Definition
ICanBus.hpp:34
Udon::CanRxNode::onReceive
void(* onReceive)(void *)
Definition
ICanBus.hpp:33
Udon::CanRxNode::callback
void callback()
Definition
ICanBus.hpp:38
Udon::CanTxNode
CAN送信ノード
Definition
ICanBus.hpp:17
Udon::CanTxNode::data
std::vector< uint8_t > data
Definition
ICanBus.hpp:20
Udon::CanTxNode::transmitMs
uint32_t transmitMs
Definition
ICanBus.hpp:22
Udon::CanTxNode::id
const uint32_t id
Definition
ICanBus.hpp:18