MWM5 Library
1.0
1.0
  • The MWM5 Library / TWELITE STAGE
  • Changes & Download
  • License
  • Getting started
    • Environment
    • Building
    • Hardware
    • Examples
      • AppTwelite_Recv
      • PAL_Recv
    • Examples (console)
      • glancer_con
    • Using Library
      • Parser
      • Terminal
  • References
    • the_app
    • Parser
      • TWESERCMD
        • IParser
        • AsciiParser
      • TWEFMT
        • TwePacket, spTwePacket
          • E_PKT
          • idenify_packet_type()
          • newTwePacket()
          • refTwePacket()
        • Packet Types
          • TwePacketAppIO
            • DataAppIO
          • TwePacketPal
            • DataPal
            • E_PAL_PCB
            • E_PAL_DATA_TYPE
            • E_CAUSE
            • PalEvent
            • PalDataInfo
            • PalBase
              • PalMag
              • PalAmb
              • PalMot
          • TwePacketActStd
            • DataAppUART (Act用)
          • TwePacketTwelite
            • DataTwelite
          • TwePacketAppUart
            • DataAppUART
    • Terminal
      • TWETERM
        • ESC Sequence
        • TermAttr
        • ITerm
        • TWETerm_M5_Console
      • TWEFONT
        • FontDef
        • createFont???()
        • drawChar()
        • queryFont()
    • Basics
      • TWE
        • IStreamOut
        • Print Formatted
      • TWEUTILS
        • FixedQueue
        • InputQueue
        • SimpleBuffer
          • SmplBuf_Byte
          • SmplBuf_ByteL<N>
          • SmplBuf_ByteSL<N>
          • SmplBuf_WChar
          • SmplBuf_WCharL<int>
GitBook提供
このページ内
  • spTwePacketからの参照
  • 実行例
  • パケットデータ定関数
  • has_palEvent()
  • get_PalDataType()
  • has_data_info()
  • is_data_source_timer()
  • ジェネレータ関数
  • get_PalMag()
  • get_PalAmb()
  • get_PalMot()
  • get_PalEvent()
PDFとしてエクスポート
  1. References
  2. Parser
  3. TWEFMT
  4. Packet Types

TwePacketPal

TWELITE PALのパケット

前へDataAppIO次へDataPal

最終更新 4 年前

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

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

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

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
        }
      }
    }
  }
}

パケットデータ定関数

has_palEvent()

bool has_PalEvent()
bool is_PalEvent()

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

get_PalDataType()

E_PAL_DATA_TYPE get_PalDataType()

has_data_info()

bool has_data_info()

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

is_data_source_timer()

bool is_data_source_timer()

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

ジェネレータ関数

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

get_PalMag()

PalMag get_PalMag()

get_PalAmb()

PalAmb get_PalAmb()

get_PalMot()

PalMot get_PalMot()

get_PalEvent()

PalEvent get_PalEvent()

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

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

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

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

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

DataPal
E_PAL_DATA_TYPE
PalMag
PalAmb
PalMot