diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2018-04-23 14:22:26 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-07-05 15:43:07 +0200 |
commit | 4e68c9f6d3b303dd326a42e69556b22e0fe88438 (patch) | |
tree | 0661fe2e03568d19969127def348ecb2f6368303 /conf.d/project/data/signal-composer-daemon-10-event.lua | |
parent | fadb09c791fca941cadf39c467a54bf150417c54 (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.lua | 74 |
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 |