Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
PALイベントは、センサーなどの情報を直接送るのではなく、センサー情報を加工し一定の条件が成立したときに送信される情報です。例えば加速度センサーの静止状態から一定以上の加速度が検出された場合などです。
イベントデータが存在する場合はTwePacketPal
の.is_PalEvent()
がtrueになることで判定でき、.get_PalEvent()
によりPalEvent
データ構造を得られます。
PAL共通データ
PALは接続されるセンサーなどによってパケットデータ構造が異なりますが、DataPal
では共通部のデータ構造を保持します。
PALのパケットデータ構造は大まかに2つのブロックからなり、全てのPAL共通部と個別のデータ部になります。個別のデータ部は、パケットの解釈を行わずそのまま格納しています。取り扱いを単純化するため32バイトを超えるデータは動的に確保するuptr_snsdata
に格納します。
個別のデータ部は、PalBase
をベースクラスに持つ構造体に格納されます。この構造体は、TwePacketPal
に定義されるジェネレータ関数により生成されます。
u8pkt_type
が0
の時はPalDataInfo
データ構造が付与された形式となります。比較的複雑な情報を格納するための形式です。1
の場合はPAL基板ごとに決められた標準的な形式でデータが格納されています。
パケット送信要因。PalDataInfo::e_data_cause
で使用されます。
TWELITE PAL/CUEのパケットはTwePacketPal::get_PalDataType()
により、どういった形式で格納されているかを判定します。
TwePacketPal::u8palpcb
による判定の場合、より新しい形式に対応できません。
MAG/AMB/MOTの3種類の場合、下記例の^7の位置にある値(PAL基板種別)のMSB(0x80)が設定されている場合に限りu8palpcb
による判定からget_PalMag()
,get_PalAmb()
,get_PalMot()
によりオブジェクトを取り出すことが出来ます。
PALセンサー共通データ
PALの各センサーのデータ構造体はすべてPalBase
を継承します。センサーデータの格納状況u32StoredMask
の情報が含まれます。
派生構造体に定義されるSTORE_COMP_MASK
とu32StoreMask
が一致すれば、全てのセンサーのデータが適切に解釈され、格納されていることになります。
環境センサーパル(AMB)のセンサーデータ
PAL/CUEのパケットがどのような原因で送信されたかなどを付加する補助情報です。例えばタイマー送信かセンサーの発報によるものかなどの情報が含まれます。が本構造体を継承しており単独では使用しません。
PAL基板種別
下記のPAL基板に対応します。
開閉センサーパル(MAG)のセンサーデータ
動作センサーパル(MOT)のセンサーデータ
※ パケット間の各サンプルの連続性を確認するには、パケットのシーケンス番号の抜けが無いことを確認してください。
TWELITE PALのパケット
TwePacketPal
クラスは、TWELITE PALのパケットデータを解釈したものです。このクラスはTWELITE PAL(センサーデータなど上り方向)共通に取り扱います。
PAL共通データはに定義されています。
PALの各センサー基板特有のデータを取り出すためのジェネレータ関数を用意しています。
spTwePacket
オブジェクトからTwePacketPal
オブジェクトを参照します。spTwePacket
にTwePacketPal
以外が格納されている場合は、未解釈のオブジェクトを戻します。
パケットにイベント情報が含まれるかを判定します。
パケットプロパティ(パケットの補助情報)が含まれているか判定します。含まれている場合はPalDataInfo
で定義されるメンバーにアクセスできます。
パケットプロパティが存在する場合に呼び出しは有効。タイマー由来からの送信の場合trueを返します。
センサーPALの各種データを取り出すためのジェネレータ関数です。
.is_PalEvent()
がtrue
の場合PalEvent
(PALイベント)を取り出します。
TWELITE CUE(CUE)のセンサーデータ
※ パケット間の各サンプルの連続性を確認するには、パケットのシーケンス番号の抜けが無いことを確認してください。
パケットの種別を判定します。種別はとして判定されます。
.u8palpcb==E_PAL_PCB::MAG
の場合、開閉センサーパルのデータを取り出します。
.u8palpcb==E_PAL_PCB::AMB
の場合、環境センサーパルのデータを取り出します。
.u8palpcb==E_PAL_PCB::MOT
の場合、動作センサーパルのデータを取り出します。
名前
解説
EVENT
イベントが発生した。
VALUE_CHANGED
センサー値が変更された。
VALUE_OVER_LIMIT
センサー値が閾値以上である。
VALUE_UNDER_LIMIT
センサー値が閾値以下である。
VALUE_WITHIN_RANGE
センサー値が範囲内である。
NODEF
要因としては未定義である。
定義
内容
MAG_STD
マグネットセンサー付きのMAG (開閉センサーパル) 標準の形式。
AMB_STD
温湿度センサー、照度センサー付きのAMB (環境センサーパル) 標準の形式。
MOT_STD
加速度センサー付きのMOT (動作センサーパル) 標準の形式。
EVENT_ONLY
MOT 動作センサーパル, NOTICE (通知パル) などで、特定条件を要件としてイベントを送信した場合。
EX_CUE_STD
TWELITE CUE 標準の形式。パケットプロパティ、イベントが含まれます。
EX_ARIA_STD
TWELITE ARIA 標準の形式。パケットプロパティ、イベントが含まれます。
名前 | 解説 |
NOPCB | 基板未接続、エラー |
MAG | マグネットセンサー付きのMAG (開閉センサーパル) |
AMB | 温湿度センサー、照度センサー付きのAMB (環境センサーパル) |
MOT | 加速度センサー付きのMOT (動作センサーパル) |
NOTICE | LED付きのMOT (通知パル) |
CUE | TWELITE CUE |
ARIA | TWELITE ARIA |
メンバー名 | 内容 |
| パケット送信を行う原因となるセンサーやタイマー。 |
|
|
TWELITE ARIA(ARIA)のセンサーデータ
※ パケット間の各サンプルの連続性を確認するには、パケットのシーケンス番号の抜けが無いことを確認してください。