TwePacketPal

TWELITE PALのパケット

TwePacketPalクラスは、TWELITE PALのパケットデータを解釈したものです。このクラスはTWELITE PAL(センサーデータなど上り方向)共通に取り扱います。

class TwePacketPal : public TwePacket, public DataPal { ... };

PAL共通データはDataPalに定義されています。

PALの各センサー基板特有のデータを取り出すためのジェネレータ関数を用意しています。

spTwePacketからの参照

TwePacketPal& refTwePacketPal(spTwePacket& p)

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

実行例

if (parse_ascii) { // アスキー形式のパーサーの解釈完了
  if (identify_packet_type(parse_ascii.get_payload()) == E_PKT::PKT_PAL) {
    auto&& pkt = newTwePacket(parse_ascii.get_payload(), E_PKT::PKT_PAL);
    
    if (pkt == E_PKT::PKT_PAL) { // パケット解釈成功時
      auto&& pal = refTwePacketPal(pkt);
      
      // 開閉センサーパル
      if (pal.u8palpcb == E_PAL_PCB::MAG) {
        PalMag mag = pal.get_PalMag();
        if (mag.u8MagStat == 0) {
          // OPEN
        } else {
          // CLOSE
        }
      }
    }
  }
}

パケットデータ定関数

has_palEvent()

bool has_PalEvent()
bool is_PalEvent()

パケットにイベント情報が含まれるかを判定します。

get_PalDataType()

E_PAL_DATA_TYPE get_PalDataType()

パケットの種別を判定します。種別はE_PAL_DATA_TYPEとして判定されます。

has_data_info()

bool has_data_info()

パケットプロパティ(パケットの補助情報)が含まれているか判定します。含まれている場合はPalDataInfoで定義されるメンバーにアクセスできます。

is_data_source_timer()

bool is_data_source_timer()

パケットプロパティが存在する場合に呼び出しは有効。タイマー由来からの送信の場合trueを返します。

ジェネレータ関数

センサーPALの各種データを取り出すためのジェネレータ関数です。

get_PalMag()

PalMag get_PalMag()

.u8palpcb==E_PAL_PCB::MAGの場合、開閉センサーパルのデータPalMagを取り出します。

get_PalAmb()

PalAmb get_PalAmb()

.u8palpcb==E_PAL_PCB::AMBの場合、環境センサーパルのデータPalAmbを取り出します。

get_PalMot()

PalMot get_PalMot()

.u8palpcb==E_PAL_PCB::MOTの場合、動作センサーパルのデータPalMotを取り出します。

get_PalEvent()

PalEvent get_PalEvent()

.is_PalEvent()trueの場合PalEvent(PALイベント)を取り出します。

最終更新