--- nono/vm/mpscc.h 2026/04/29 17:05:45 1.1.1.7 +++ nono/vm/mpscc.h 2026/04/29 17:05:50 1.1.1.8 @@ -11,7 +11,6 @@ #pragma once #include "device.h" -#include "event.h" #include "message.h" #include @@ -31,11 +30,11 @@ class HostCOMDevice; class InterruptDevice; // 1チャンネル分の共通部分 -class MPSCCChan +class MPSCCChan final { public: MPSCCChan(); - virtual ~MPSCCChan(); + ~MPSCCChan(); void Init(int id_); @@ -571,13 +570,13 @@ class MPSCCDevice : public IODevice // シリアルから1バイト受信のメッセージとイベントコールバック void HostRxCallback(uint32); void RxMessage(MessageID, uint32); - void RxCallback(Event&); + void RxCallback(Event *); // 送受信関連 void TrySend(MPSCCChan&); void SetTxPeriod(MPSCCChan&); void SetRxPeriod(MPSCCChan&); - void TxCallback(Event&); + void TxCallback(Event *); // 割り込み void ChangeInterrupt(); @@ -601,8 +600,8 @@ class MPSCCDevice : public IODevice MPSCC mpscc {}; // 送受信用イベント - std::array txevent {}; - std::array rxevent {}; + std::array txevent {}; + std::array rxevent {}; // シリアルポート。 // 本当は共通層でやることではないがどう考えても同じコードになるので。