# TwePacketTwelite

`TwePacketTwelite`クラスは、標準アプリApp\_Tweliteの0x81コマンドを解釈したものです。

```cpp
class TwePacketTwelite : public TwePacket, public DataTwelite { ... };
```

パケットデータ内の諸情報は[`parse()`](https://mwm5.twelite.info/latest/references/parser/twepacket#parse)実行後に[`DataTwelite`](https://mwm5.twelite.info/latest/references/parser/twefmt/packet-types/twepackettwelite/datatwelite)に格納されます。

### spTwePacketからの参照

```cpp
TwePacketTwelite& refTwePacketTwelite(spTwePacket& p)
```

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

### 実行例

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