クラス namespace |
関数名 | |
共有ライブラリ | lazurite | int lazurite_read (void* raw, uint16_t* size) |
Ruby | LazGem | LazGem.read() |
Python | PyLaz | PyLaz.read |
JAVA | Liblzaurite | int Liblazurite.read (byte[] raw, short[] size) |
データの読み出しを行います。readはパケット単位での読み出しとなります。
readをするとドライバ内にバッファされている一番古いパケットを返します。ドライバは読み出しが完了したパケットのデータを廃棄を破棄し、そのデータ受信時のRSSIや時刻情報を読み出しできるようにします。
共有ライブラリ、JAVA
読み出すデータはrawに格納され、データ長はsizeに格納されます。
データを格納するメモリとして関数を呼び出す前にメモリ領域を256バイト確保し、その先頭ポインタを関数の引数にしてください。
Ruby、Python
読み出したデータは戻り値として返します。RubyはHASH型、PythonはDIC型を渡しますので、必要な要素を取り出して使用してください。
raw
rawデータを格納するメモリのポインタを渡します。
256バイト以上を確保してください。
size
rawデータのサイズを返しますshort型のポインタを渡してください
共有ライブラリ、JAVA
0以上 受信したデータのバイト数
0 データなし
0以下 エラー
Python
DIC型のデータを返します。データを受信しないときは空のデータを返します。
Ruby
0
データを受信していません
HASH型データ 受信したデータを返します
例外(Javaのみ)
IOException 失敗
Ruby, Pythonの受信データフォーマット
HASH/DIC型でデータを返します。以下に示すkeyを含んでいます。
データ | 用途 |
header | 16bitのMACヘッダ情報です |
frame_type | MACヘッダ内のframe_typeを抽出したデータです |
sec_enb | MACヘッダ内のsec_enbフラグを抽出したデータです |
pending | MACヘッダ内のpendingフラグを抽出したデータです |
ack_req | MACヘッダ内のACKフラグを抽出したデータです |
panid_comp | MACヘッダ内のPANID_COMPフラグを抽出したデータです |
seq_comp | MACヘッダ内のseq_compフラグを抽出したデータです |
ielist | MACヘッダ内のielistフラグを抽出したデータです |
tx_addr_type | MACヘッダ内のtx_addr_typeフラグを抽出したデータです |
frame_ver | MACヘッダ内のframe_verフラグを抽出したデータです |
rx_addr_type | MACヘッダ内のrx_addr_typeフラグを抽出したデータです |
seq_num | IEEE802154eのシーケンサ番号です |
addr_type | アドレスのタイプを0~7で示したデータです。 |
rx_panid | 受信側PANIDのデータです。 |
rx_addr | 受信アドレスです。 |
tx_panid | 送信側PANIDのデータです。 |
tx_addr | 送信アドレスです。 |
payload | rawデータの中でpayloadが格納されているオフセットアドレスを示します。 |
sec | データを受信した時間(秒)を示します。1971年1月1日 0時0分0秒を0とする時間です。 |
nsec | 受信した時刻のnsec単位の時間を示します。 |
rssi | 受信したデータのrssiを示します |