TwePacketPal
TWELITE PALのパケット
TwePacketPal
クラスは、TWELITE PALのパケットデータを解釈したものです。このクラスはTWELITE PAL(センサーデータなど上り方向)共通に取り扱います。
class TwePacketPal : public TwePacket, public DataPal { ... };
PAL共通データはDataPal
に定義されています。
PALの各センサー基板特有のデータを取り出すためのジェネレータ関数を用意しています。
spTwePacketからの参照
TwePacketPal& refTwePacketPal(spTwePacket& p)
spTwePacket
オブジェクトからTwePacketPal
オブジェクトを参照します。spTwePacket
にTwePacketPal
以外が格納されている場合は、未解釈のオブジェクトを戻します。
実行例
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
}
}
}
}
}
ジェネレータ関数
センサー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イベント)を取り出します。
最終更新