Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
TwePacketAppIO
のデータ部分。
TWELITE PALのパケット
TwePacketPal
クラスは、TWELITE PALのパケットデータを解釈したものです。このクラスはTWELITE PAL(センサーデータなど上り方向)共通に取り扱います。
PAL共通データはDataPal
に定義されています。
PALの各センサー基板特有のデータを取り出すためのジェネレータ関数を用意しています。
spTwePacket
オブジェクトからTwePacketPal
オブジェクトを参照します。spTwePacket
にTwePacketPal
以外が格納されている場合は、未解釈のオブジェクトを戻します。
センサーPALの各種データを取り出すためのジェネレータ関数です。
.u8palpcb==E_PAL_PCB::MAG
の場合、開閉センサーパルのデータPalMag
を取り出します。
.u8palpcb==E_PAL_PCB::AMB
の場合、環境センサーパルのデータPalAmb
を取り出します。
.u8palpcb==E_PAL_PCB::MOT
の場合、動作センサーパルのデータPalMot
を取り出します。
.is_PalEvent()
がtrue
の場合PalEvent
(PALイベント)を取り出します。
PAL共通データ
PALは接続されるセンサーなどによってパケットデータ構造が異なりますが、DataPal
では共通部のデータ構造を保持します。
PALのパケットデータ構造は大まかに2つのブロックからなり、全てのPAL共通部と個別のデータ部になります。個別のデータ部は、パケットの解釈を行わずそのまま格納しています。取り扱いを単純化するため32バイトを超えるデータは動的に確保するuptr_snsdata
に格納します。
個別のデータ部は、PalBase
をベースクラスに持つ構造体に格納されます。この構造体は、TwePacketPal
に定義されるジェネレータ関数により生成されます。
PALイベントは、センサーなどの情報を直接送るのではなく、センサー情報を加工し一定の条件が成立したときに送信される情報です。例えば加速度センサーの静止状態から一定以上の加速度が検出された場合などです。
イベントデータが存在する場合はTwePacketPal
の.is_PalEvent()
がtrueになることで判定でき、.get_PalEvent()
によりPalEvent
データ構造を得られます。
PALセンサー共通データ
PALの各センサーのデータ構造体はすべてPalBase
を継承します。センサーデータの格納状況u32StoredMask
とモジュール電源電圧u16Volt
の情報が含まれます。
派生構造体に定義されるSTORE_COMP_MASK
とu32StoreMask
が一致すれば、全てのセンサーのデータが適切に解釈され、格納されていることになります。
PAL基板種別
下記のPAL基板に対応します。
TwePacketActStd
のデータ部。 (書式はApp_UARTと同一でDataAppUART
型を流用しています)
開閉センサーパル(MAG)のセンサーデータ
環境センサーパル(AMB)のセンサーデータ
動作センサーパル(MOT)のセンサーデータ
※ パケット間の各サンプルの連続性を確認するには、パケットのシーケンス番号の抜けが無いことを確認してください。
名前
解説
NOPCB
基板未接続、エラー
MAG
マグネットセンサー付きのMAG (開閉センサーパル)
AMB
温湿度センサー、照度センサー付きのAMB (環境センサーパル)
MOT
加速度センサー付きのMOT (動作センサーパル)
NOTICE
LED付きのMOT (通知パル)
App_Twelite データ
TwePacketTwelite
のデータ部分。
TwePacketAppUart
のデータ部。