UdonLibrary 1.0.0
機械システム研究部 C++ ライブラリ
読み取り中…
検索中…
一致する文字列を見つけられません
SivSerialWriter.hpp
[詳解]
1//
2// OpenSiv3D用 Serial 送信クラス
3//
4// Copyright (c) 2022-2024 udonrobo
5//
6// Sender --[Serial]--> Receiver
7// ^^^^^^
8//
9
10#pragma once
11
12#include <Siv3D/Serial.hpp>
14#include <Udon/Utility/Show.hpp>
15
16namespace Udon
17{
18
21 template <typename Message>
23 {
24 static constexpr size_t Size = Udon::SerializedSize<Message>();
25
26 s3d::Serial& serial;
27
28 public:
29
32 SivSerialWriter(s3d::Serial& bus)
33 : serial(bus)
34 {
35 }
36
39 void setMessage(const Message& message)
40 {
41 if (serial.isOpen())
42 {
43 uint8_t buffer[Size];
44 Udon::Serialize(message, buffer);
45 serial.write(buffer, Size);
46 }
47 }
48 };
49} // namespace Udon
OpenSiv3D用 Serial 送信クラス
Definition SivSerialWriter.hpp:23
SivSerialWriter(s3d::Serial &bus)
コンストラクタ
Definition SivSerialWriter.hpp:32
void setMessage(const Message &message)
メッセージの送信
Definition SivSerialWriter.hpp:39
Definition Bit.hpp:12
bool Serialize(const T &object, ArrayView< uint8_t > buffer)
バッファにシリアル化する
Definition Serializer.hpp:35
constexpr size_t SerializedSize() noexcept
Tをシリアライズした際のバイト列の要素数を取得する
Definition Serializer.hpp:22