# TwePacketTwelite

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

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

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

### spTwePacketからの参照

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

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

### 実行例

```cpp
if (parse_ascii) { // アスキー形式のパーサーの解釈完了
  if (identify_packet_type(parse_ascii.get_payload()) == E_PKT::PKT_TWELITE) {
    auto&& pkt = newTwePacket(parse_ascii.get_payload(), E_PKT::PKT_TWELITE);
    
    if (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)
  				;
    }
  }
}
```
