@startuml

title シリアル受信ステートマシン

[*] --> ヘッダ受信中
ヘッダ受信中 -> ヘッダデータ受信中 : ヘッダコード(0xFF)受信

ヘッダデータ受信中 --> ==FORK== : ヘッダデータ受信完了

==FORK== --> Inputデータ受信中 : コマンドが入力信号電文
==FORK== --> Outputデータ受信中 : コマンドが出力信号電文
==FORK== --> ヘッダ受信中 : コマンドが不正

Inputデータ受信中 --> ヘッダ受信中 : 入力信号電文受信完了
Outputデータ受信中 --> ヘッダ受信中 : 出力信号電文受信完了


@enduml