diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-08-24 12:48:05 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-10-17 10:40:30 +0200 |
commit | 019a32aebc159ea7108b977747fed56f24c05da4 (patch) | |
tree | 88bf2f9b11c1d42caff1b184f22dcb1eaf535e1b | |
parent | 238cabda41dd88a9ac482b3b28886acd0a31ca6c (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.json | 69 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload_daemon-00-init.lua | 48 |
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 |