aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-08-24 12:48:05 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-10-17 10:40:30 +0200
commit019a32aebc159ea7108b977747fed56f24c05da4 (patch)
tree88bf2f9b11c1d42caff1b184f22dcb1eaf535e1b
parent238cabda41dd88a9ac482b3b28886acd0a31ca6c (diff)
Added afb-controller files
Change-Id: I47ea676a4528dcdcb7cbbf751bb96c7f37e8db46 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--conf.d/project/json.d/onload-daemon-config.json69
-rw-r--r--conf.d/project/lua.d/onload_daemon-00-init.lua48
2 files changed, 117 insertions, 0 deletions
diff --git a/conf.d/project/json.d/onload-daemon-config.json b/conf.d/project/json.d/onload-daemon-config.json
new file mode 100644
index 0000000..b3f2b1a
--- /dev/null
+++ b/conf.d/project/json.d/onload-daemon-config.json
@@ -0,0 +1,69 @@
+{
+ "$schema": "ToBeDone",
+ "metadata": {
+ "label": "ViWi-standalone-control",
+ "info": "High Level ViWi Standalone Controller Config",
+ "name": "afb-viwi-controller",
+ "version": "1.0"
+ },
+ "onload": [{
+ "label": "onload-default",
+ "info": "onload initialisation config",
+ "require": ["high-viwi"],
+ "actions":
+ {
+ "label": "control-init",
+ "lua": "_Sample_Controller_Init",
+ "args": {
+ "xxxx": 1234,
+ "yyyy": "Bien le bonjours à vous",
+ "zzzz": "simple-evt"
+ }
+ }
+ }],
+ "controls":
+ [
+ {
+ "label": "Button-Happy",
+ "actions": {
+ "label": "Action Happy",
+ "lua": "_Button_Happy",
+ "args": {
+ "button": 5678
+ }
+ }
+ }, {
+ "label": "Button-UnHappy",
+ "actions": {
+ "label": "Action Unhappy",
+ "lua": "_Button_UnHappy",
+ "args": {
+ "button": "abcd"
+ }
+ }
+ }
+ ],
+ "events":
+ [
+ {
+ "label": "Event1",
+ "actions": {
+ "label": "Action Event 1",
+ "lua": "_Event_Received",
+ "args": {
+ "evtname": "xxx"
+ }
+ }
+ },
+ {
+ "label": "Event2",
+ "actions": {
+ "label": "Action Event 2",
+ "lua": "_Event_Received",
+ "args": {
+ "evtname": "yyy"
+ }
+ }
+ }
+ ]
+}
diff --git a/conf.d/project/lua.d/onload_daemon-00-init.lua b/conf.d/project/lua.d/onload_daemon-00-init.lua
new file mode 100644
index 0000000..26ff08a
--- /dev/null
+++ b/conf.d/project/lua.d/onload_daemon-00-init.lua
@@ -0,0 +1,48 @@
+--[[
+ 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.
+--]]
+
+-- Global variable SHOULD start with _
+_Global_Context={}
+
+--[[
+ This function is call during controller init phase as describe in onload-daemon-sample.json
+ It receives two argument 1st one is the source (here on load) second one is the arguments
+ as expose in config file.
+
+ In this sample we create an event that take the name of args["zzzz"], the resulting handle
+ is save into _Global_Context for further use.
+
+ Note: init functions are not call from a client and thus do not receive query
+
+--]]
+function _Sample_Controller_Init(source, control)
+
+ printf ("[-- Sample_Controller_Init --] source=%d control=%s", source, Dump_Table(control))
+
+ -- if no argument return now
+ if (control==nil or control["zzzz"]==nil) then
+ printf ("[-- Sample_Controller_Init --] no event name given")
+ return
+ end
+
+ -- set a count to make more visible each call
+ _Global_Context["counter"]=0
+
+ -- just for fun create an event
+ _Global_Context["event"]=AFB:evtmake(control["zzzz"])
+
+end