セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-11-14 現在

packet_rx

受信パケット
    このクラスはTWENETのtsRxDataApp構造体のラッパークラスです。

    このクラスオブジェクトは、ビヘイビアのコールバック関数またはon_rx_packets()により取得できます。

    packet_rxでは、特にパケットのデータペイロードをsmplbufコンテナで取り扱えるようにし、expand_bytes()などのユーティリティ関数によりペイロードの解釈記述を簡素化しています。

    メソッド

    get_payload()

    smplbuf_u8_attach& get_payload()

    パケットのデータペイロードを取得する。

    get_psRxDataApp()

    const tsRxDataApp* get_psRxDataApp()

    TWENET Cライブラリの受信構造体を得る。

    get_length()

    uint8_t get_length()

    ペイロードのデータ長を返す。.get_payload().size()と同じ値になる。

    get_lqi()

    uint8_t get_lqi()

    LQI値 (Link Quality Indicator)を得る。

    get_addr_src_long(), get_addr_src_lid()

    uint32_t get_addr_src_long()
    uint8_t get_addr_src_lid()

    送信元のアドレスを得る。

    get_addr_src_long()は送信元のシリアル番号で、MSB(bit31)が必ず1になります。

    get_addr_src_lid()は送信元の論理IDで0x00-0xFEまでの値をとります(<NWK_SIMPLE>で指定する論理IDです)。

    get_addr_dst()

    uint32_t get_addr_dst()

    宛先アドレスを得ます。

    宛先アドレスは、送信元で指定され、宛先の種別によって値の範囲が変わります。

    解説
    MSB(bit31)がセットされている宛先としてシリアル番号を指定しています。
    0x00-0xFF宛先として論理ID(8bit)が指定されています。

    is_secure_pkt()

    bool is_secure_pkt()

    暗号化パケットの場合は true を返し、平文の時はfalse を返します。

    get_network_type()

    uint8_t get_network_type()

    ネットワークビヘイビアで識別されるパケットのネットワークタイプを返す。

    解説
    mwx::NETWORK::LAYERED<NWK_LAYERED> からのパケット
    mwx::NETWORK::SIMPLE<NWK_SIMPLE> からのパケット
    mwx::NETWORK::NONEネットワークを介さないパケット (App_Tweliteなど)
    その他エラーまたは識別できないパケット