# TwePacketAppIO

`TwePacketAppIO`クラスは、標準アプリApp\_IOのシリアルメッセージ(0x81)を解釈したものです。

```cpp
class TwePacketAppIO : public TwePacket, public DataAppIO { ... };
```

パケットデータ内の諸情報は`parse()`実行後に`DataTwelite`に格納されます。

### spTwePacketからの参照

```cpp
TwePacketAppIO& refTwePacketAppIO(spTwePacket& p)
```

`spTwePacket`オブジェクトから`TwePacketAppIO`オブジェクトを参照します。`spTwePacket`に`TwePacketAppIO`以外が格納されている場合は、未解釈のオブジェクトを戻します。

### 実行例

```cpp
if (parse_ascii) { // アスキー形式のパーサーの解釈完了
  auto&& pkt = newTwePacket(parse_ascii.get_payload());
		
	if (identify_packet_type(pkt) == E_PKT::PKT_APPIO) { // パケット解釈成功時
	  auto&& x = refTwePacketAppIO(pkt);
		  
		the_screen // LCDスクリーン上のターミナルに情報を表示
				<< printfmt(":Lq=%d:Ad=%08X", x.u8lqi, x.u32addr_src)
				<< printfmt(":ID=%02X", x.u8addr_src)
				<< printfmt(":DI=%08b", x.DI_mask)
				;
	}
}
```
