diff options
Diffstat (limited to 'conf.d/project/lua.d')
-rw-r--r-- | conf.d/project/lua.d/CMakeLists.txt | 32 | ||||
-rw-r--r-- | conf.d/project/lua.d/signal-composer-daemon-00-utils.lua | 85 | ||||
-rw-r--r-- | conf.d/project/lua.d/signal-composer-daemon-04-oncall.lua | 110 | ||||
-rw-r--r-- | conf.d/project/lua.d/signal-composer-daemon-10-event.lua | 74 |
4 files changed, 0 insertions, 301 deletions
diff --git a/conf.d/project/lua.d/CMakeLists.txt b/conf.d/project/lua.d/CMakeLists.txt deleted file mode 100644 index 07d39af..0000000 --- a/conf.d/project/lua.d/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -########################################################################### -# Copyright 2017 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. -########################################################################### - - -################################################## -# Control Policy Config file -################################################## -PROJECT_TARGET_ADD(lua.d) - - file(GLOB LUA_FILES "*.lua") - - add_input_files("${LUA_FILES}") - - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - LABELS "DATA" - OUTPUT_NAME ${TARGET_NAME} - ) diff --git a/conf.d/project/lua.d/signal-composer-daemon-00-utils.lua b/conf.d/project/lua.d/signal-composer-daemon-00-utils.lua deleted file mode 100644 index 943c6c6..0000000 --- a/conf.d/project/lua.d/signal-composer-daemon-00-utils.lua +++ /dev/null @@ -1,85 +0,0 @@ ---[[ - 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. - - Note: this file should be called before any other to assert declare function - is loaded before anything else. - - References: - http://lua-users.org/wiki/DetectingUndefinedVariables - ---]] - - ---=================================================== ---= Niklas Frykholm --- basically if user tries to create global variable --- the system will not let them!! --- call GLOBAL_lock(_G) --- ---=================================================== -function GLOBAL_lock(t) - local mt = getmetatable(t) or {} - mt.__newindex = lock_new_index - setmetatable(t, mt) -end - ---=================================================== --- call GLOBAL_unlock(_G) --- to change things back to normal. ---=================================================== -function GLOBAL_unlock(t) - local mt = getmetatable(t) or {} - mt.__newindex = unlock_new_index - setmetatable(t, mt) -end - -function lock_new_index(t, k, v) - if (string.sub(k,1,1) ~= "_") then - GLOBAL_unlock(_G) - error("GLOBALS are locked -- " .. k .. - " must be declared local or prefix with '_' for globals.", 2) - else - rawset(t, k, v) - end -end - -function unlock_new_index(t, k, v) - rawset(t, k, v) -end - --- return serialised version of printable table -function Dump_Table(o) - if type(o) == 'table' then - local s = '{ ' - for k,v in pairs(o) do - if type(k) ~= 'number' then k = '"'..k..'"' end - s = s .. '['..k..'] = ' .. Dump_Table(v) .. ',' - end - return s .. '} ' - else - return tostring(o) - end -end - --- simulate C prinf function -printf = function(s,...) - io.write(s:format(...)) - io.write("\n") - return -end - --- lock global variable -GLOBAL_lock(_G) diff --git a/conf.d/project/lua.d/signal-composer-daemon-04-oncall.lua b/conf.d/project/lua.d/signal-composer-daemon-04-oncall.lua deleted file mode 100644 index 9d31f25..0000000 --- a/conf.d/project/lua.d/signal-composer-daemon-04-oncall.lua +++ /dev/null @@ -1,110 +0,0 @@ ---[[ - 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 LUA routines to be used with AGL control "lua_docall" API ---]] - ---global counter to keep track of calls -_count=0 - - -_interval={ - {"km/h",1}, --the "1" should never really get used but - {"mi/h",0.62137119223733}, - {"m/s",0.27777777777778}, -} - -_result = {} -_positions={} -for i=1,3 do - _positions[_interval[i][1]]=i -end - ---function _Unit_Converter(value, sourceunits, targetunits) -function _Unit_Converter(source, args, event) - local value = event["value"] - local sourceunits = args["from"] - local targetunits = args["to"] - local sourcei, targeti = _positions[sourceunits], _positions[targetunits] - assert(sourcei and targeti) - - if sourcei<targeti then - - local base=1 - for i=sourcei+1,targeti do - base=base*_interval[i][2] - end - - event["value"] = value/base - elseif sourcei>targeti then - - local base=1 - for i=targeti+1,sourcei do - base=base*interval[i][2] - end - - event["value"] = value/base - else - print("No conversion") - end - - print('Converted value is: '.. event['value'] .. args["to"]) - - _lua2c['setSignalValueWrap'](source, event) -end - --- Display receive arguments and echo them to caller -function _Simple_Echo_Args (source, args, event) - _count=_count+1 - AFB:notice(source, "LUA OnCall Echo Args count=%d args=%s event=%s", count, args, event) - - print ("--inlua-- source=", Dump_Table(source)) - print ("--inlua-- args=", Dump_Table(args)) - print ("--inlua-- event=", Dump_Table(event)) -end - -local function Test_Async_CB (request, result, context) - response={ - ["result"]=result, - ["context"]=context, - } - - AFB:notice (source, "Test_Async_CB result=%s context=%s", result, context) - AFB:success (request, response) -end - -function _Test_Call_Async (request, args) - local context={ - ["value1"]="abcd", - ["value2"]=1234 - } - - AFB:notice (source, "Test_Call_Async args=%s cb=Test_Async_CB", args) - AFB:service(source, "monitor","ping", "Test_Async_CB", context) -end - -function _Simple_Monitor_Call (request, args) - - AFB:notice (source, "_Simple_Server_Call args=%s", args) - local err, result= AFB:servsync (source, "monitor","get", args) - if (err) then - AFB:fail (source, "AFB:service_call_sync fail"); - else - AFB:success(source, request, result["response"]) - end -end - diff --git a/conf.d/project/lua.d/signal-composer-daemon-10-event.lua b/conf.d/project/lua.d/signal-composer-daemon-10-event.lua deleted file mode 100644 index 7724dec..0000000 --- a/conf.d/project/lua.d/signal-composer-daemon-10-event.lua +++ /dev/null @@ -1,74 +0,0 @@ ---[[ - 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 |