
file_id = "XBEE_TDCP_DATA"

--[[
******************************************************************************
既存のXBEE_TDCP_DATA.luaファイルをファイルで置き換えるか、または
XBEE_TDCP_DATA.lua スクリプトファイルに以下のコード部分を追加してください。
******************************************************************************

******************************************************************************
* イベントハンドラスクリプト実行時間について                                 *
******************************************************************************

一つのスクリプトの実行は長くても数秒以内で必ず終了するようにしてください。
処理に時間がかかると、イベント処理の終了を待つサーバー側でタイムアウトが発生します。

また、同時実行可能なスクリプトの数に制限があるため、他のスクリプトの実行開始が
待たされる原因にもなります。

頻繁には発生しないイベントで、処理時間がかかるスクリプトを実行したい場合は
スクリプトを別に作成して、このイベントハンドラ中から script_fork_exec() を使用して
別スレッドで実行することを検討してください。

******************************************************************************


XBEE_TDCP_DATA スクリプト起動時に渡される追加パラメータ

---------------------------------------------------------------------------------
キー値			値		            									値の例
---------------------------------------------------------------------------------
APIType			フレームデータ中のAPI Type(16進数2桁)					81

SourceAddress	フレームデータ中のSourceAddress
				16bit アドレスの場合(16進数4桁)							0A01
				64bit アドレスの場合(16進数16桁)						0013A200404AC397

SerialNumber	XBee デバイスの SerialNumber
				DeviceServer に保持されたマスターファイルを使用して、
				SourceAddress から変換した値が設定される。				0013A200404AC397

NodeIdentifier	XBee デバイスの NodeIdentifier。
				DeviceServer に保持されたマスターファイルを使用して、
				SourceAddress から変換した値が設定される。				Device1

RSSI			フレームデータ中のRSSI(16進数2桁)						45

Options			フレームデータ中Options									00

TDCP_COUNT		TDCP データカラム数										2

TDCP_<Column#>	TDCP データ値(ASCII 文字列)
				TDCP_1 は常にコマンドプリフィックス文字列を表す			"$$$1234"
				"$$$" で始まり、0文字以上の任意の文字列が後に続く。

				TDCP_2 はコマンド実行ステータスを表す					"1"
				"1" はコマンド実行成功、"0" は失敗を示す				
				イベントデータの場合にはイベント名が入る


				TDCP_3以降のデータはTDCPコマンド毎に決められた、
				オプション文字列が入る	

				<Column#> には 最大、TDCP_COUNT まで 1から順番に
				インクリメントされた値が入る。

]]

log_msg(g_params["NodeIdentifier"] .. "[" .. g_params["SourceAddress"] .. "," .. g_params["SerialNumber"] .. "] TDCPData = " .. g_params["TDCP_WHOLE"],file_id)


--[[
******************************************************************************
既存のXBEE_TDCP_DATA.luaファイルをこのファイルで置き換えるか、または
XBEE_TDCP_DATA.lua スクリプトファイルに以下のコード部分を追加してください。
******************************************************************************
]]


------------------------------------------------------------------------------------------
-- FM3 CPU で動作しているTDCP プログラムからのサンプリングイベントのみを対象にします
-- このとき、TDCP for FM3 SAMPLING イベントのフォーマットは以下の構造になっています
--
-- "$$$,SAMPLING,<my_addr16>,<app_mode>,<dio>,<freq>,<counter>,<adc0>,<adc1>,
--                                      <adc2>,<adc3>,<adc4>,<adc5>,<adc6>,<adc7>"
--
-- 7 番目の TDCP イベントデータに IRセンサーのカウント値が入っています
-- IR センサーのカウントが 0 以上の場合にはグローバル共有変数 "HOME_ACTIVITIES_FLAG"に "1" 
-- をセットします
------------------------------------------------------------------------------------------
if g_params["TDCP_2"] == "SAMPLING" and g_params["TDCP_4"] == "40" then
	local ir_val = tonumber(g_params["TDCP_7"])
	if ir_val > 0 then
		if not set_shared_data("HOME_ACTIVITIES_FLAG","1") then error() end
	end
end


