summaryrefslogtreecommitdiffstats
path: root/conf.d/project/data/signal-composer-daemon-10-event.lua
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-04-23 14:22:26 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2018-07-05 15:43:07 +0200
commit4e68c9f6d3b303dd326a42e69556b22e0fe88438 (patch)
tree0661fe2e03568d19969127def348ecb2f6368303 /conf.d/project/data/signal-composer-daemon-10-event.lua
parentfadb09c791fca941cadf39c467a54bf150417c54 (diff)
Make 2 set of configurations
1 for normal multi low level sources 1 for TXC-demo Future goal will be to merge them Also reorganize data resources files Bump app-template: Submodule conf.d/app-templates dd0cec7..30e78a5: > Adding cmake file at the root directory > Adds commit hash to the version. > Change default sample settings. Change-Id: I31838723da58fc33b25bc7cd5f42396a1805e34d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'conf.d/project/data/signal-composer-daemon-10-event.lua')
-rw-r--r--conf.d/project/data/signal-composer-daemon-10-event.lua74
1 files changed, 74 insertions, 0 deletions
diff --git a/conf.d/project/data/signal-composer-daemon-10-event.lua b/conf.d/project/data/signal-composer-daemon-10-event.lua
new file mode 100644
index 0000000..7724dec
--- /dev/null
+++ b/conf.d/project/data/signal-composer-daemon-10-event.lua
@@ -0,0 +1,74 @@
+--[[
+ Copyright (C) 2016 "IoT.bzh"
+ Author Fulup Ar Foll <fulup@iot.bzh>
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+ Provide Sample Timer Handing to push event from LUA
+--]]
+
+-- Create event on Lua script load
+_MyContext={}
+
+-- WARNING: call back are global and should start with '_'
+function _Timer_Test_CB (timer, context)
+
+ local evtinfo= AFB:timerget(source, timer)
+ printf ("[-- _Timer_Test_C --] evtInfo=%s", Dump_Table(evtinfo))
+
+ --send an event an event with count as value
+ AFB:evtpush (source, _MyContext["event"], {["label"]= evtinfo["label"], ["count"]=evtinfo["count"], ["info"]=context["info"]})
+
+ -- note when timerCB return!=0 timer is kill
+ return 0
+
+end
+
+-- sendback event depending on count and delay
+function _Simple_Timer_Test (request, client)
+
+ local context = {
+ ["info"]="My 1st private Event",
+ }
+
+ -- if event does not exit create it now.
+ if (_MyContext["event"] == nil) then
+ _MyContext["event"]= AFB:evtmake(source, client["label"])
+ end
+
+ -- if delay not defined default is 5s
+ if (client["delay"]==nil) then client["delay"]=5000 end
+
+ -- if count is not defined default is 10
+ if (client["count"]==nil) then client["count"]=10 end
+
+ -- we could use directly client but it is a sample
+ local myTimer = {
+ ["label"]=client["label"],
+ ["delay"]=client["delay"],
+ ["count"]=client["count"],
+ }
+ AFB:notice (source, "Test_Timer myTimer=%s", myTimer)
+
+ -- subscribe to event
+ AFB:subscribe (source, request, _MyContext["event"])
+
+ -- settimer take a table with delay+count as input (count==0 means infinite)
+ AFB:timerset (source, myTimer, "_Timer_Test_CB", context)
+
+ -- nothing special to return send back
+ AFB:success (source, request, myTimer)
+
+ return 0
+end