diff options
Diffstat (limited to 'conf.d/project/lua.d')
-rw-r--r-- | conf.d/project/lua.d/doscript-helloworld.lua | 36 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload-audio-controls.lua (renamed from conf.d/project/lua.d/onload-audio-policy.lua) | 13 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload-audio-oncall.lua | 88 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload-audio-samples.lua | 93 | ||||
-rw-r--r-- | conf.d/project/lua.d/onload-audio-utils.lua (renamed from conf.d/project/lua.d/helloworld-lua-script.lua) | 35 |
5 files changed, 146 insertions, 119 deletions
diff --git a/conf.d/project/lua.d/doscript-helloworld.lua b/conf.d/project/lua.d/doscript-helloworld.lua new file mode 100644 index 0000000..b70ba8d --- /dev/null +++ b/conf.d/project/lua.d/doscript-helloworld.lua @@ -0,0 +1,36 @@ +--[[ + 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. + + + Simple API script to be use with AGL control LuaDoCall API + - After the script is loaded by lua_docall + - Controller start function=xxxx where xxxx is taken from script filename doscript-xxxx-anything + +--]] + +function helloworld (request, query) + + AFB:notice ("LUA HelloWorld: simple test query=%s", query); + + if (query == nil) then + AFB:error ("LUA HelloWorld:FX query should not be empty"); + AFB:fail (request, "LUA HelloWorld: query should not be empty"); + else + AFB:error ("LUA HelloWorld:OK query=%s", query); + AFB:sucess (request, {arg0="Demat", arg1="Bonjours", arg2="Gootentag", arg3="Morning"}); + end + +end
\ No newline at end of file diff --git a/conf.d/project/lua.d/onload-audio-policy.lua b/conf.d/project/lua.d/onload-audio-controls.lua index 0b7c358..eb6a61b 100644 --- a/conf.d/project/lua.d/onload-audio-policy.lua +++ b/conf.d/project/lua.d/onload-audio-controls.lua @@ -37,10 +37,15 @@ end function Audio_Set_Navigation(args, query) - AFB:notice ("--LUA:Audio_Set_Use_Case args=%s query=%s", args, query, {myint=1234, mystring="abcd"}); - -- Print_Table("args", args) - - + AFB:notice ("--LUA:Audio_Set_Use_Case args=%s query=%s", args, query); + + -- synchronous call to alsacore service + local error,data= AFB:callsync ('alsacore', 'ping', {}) + if (error) then + AFB:error ("--LUA:Audio_Set_Use_Case FAIL args=%s", args) + else + AFB:notice ("--LUA:Audio_Set_Use_Case DONE args=%s response=%s", args, data["response"]) + end -- return OK return 0 diff --git a/conf.d/project/lua.d/onload-audio-oncall.lua b/conf.d/project/lua.d/onload-audio-oncall.lua new file mode 100644 index 0000000..22cba85 --- /dev/null +++ b/conf.d/project/lua.d/onload-audio-oncall.lua @@ -0,0 +1,88 @@ +--[[ + 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 + +-- Adjust Volume function of vehicle speed +function Oncall_Helloworld (request, args) + count=count+1 + + AFB:notice("LUA OnCall Helloworld count=%d args=%s", count, args); + AFB:success (request, {"count"=count}) +end + +function Test_Async_CB (request, result, context) + + AFB:notice ("Test_Async_CB result=%s context=%s", result, context) + AFB:success (request, {"response"=result, "context"=context}) +end + +function Test_Call_Async (request, args) + local context={ + "value1"="abcd", + "value2"=1234 + } + + AFB:notice ("Test_Call_Async args=%s", args) + AFB:service("alsacore","ping", args, "Test_Async_CB", context) +end + +function Test_Call_Sync (request, args) + + AFB:notice ("Test_Call_Sync args=%s", args) + local err, response= AFB:service_sync ("alsacore","ping", args) + if (err) then + AFB:fail ("AFB:service_call_sync fail"); + else + AFB:success (request, response) + end +end + +-- create a new event name +function Test_Event_Make (request, args) + + AFB:notice ("Test_Event_Make args=%s", args) + local err eventFD AFB:event (args["evtname"]) + if (err) then + AFB:fail ("AFB:Test_Event_Make fail event=%s", args["evtname"]); + else + AFB:success (request, {}) + end + + local evtData = { + val1="My 1st private Event", + val2=5678 + } + + AFB:notify (eventFD, evtData) +end + +-- send an event on default binder event +function Test_Event_Notify (request, args) + + AFB:notice ("Test_Event_Notify args=%s", args) + local err AFB:notify (args) + if (err) then + AFB:fail ("AFB:Test_Event_Make fail event=%s", args["evtname"]); + else + AFB:success (request, {}) + end +end diff --git a/conf.d/project/lua.d/onload-audio-samples.lua b/conf.d/project/lua.d/onload-audio-samples.lua deleted file mode 100644 index 055a15d..0000000 --- a/conf.d/project/lua.d/onload-audio-samples.lua +++ /dev/null @@ -1,93 +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 policy function for AGL Advance Audio Agent ---]] - -count=0 - --- Adjust Volume function of vehicle speed -function Adjust_Volume_Speed (request, speed_meters_second) - - AFB:notice("In Adjust_Volume_Speed speed=%d", speed_meters_second); - - print (string.format("*****(From Lua) Adjust_Volume_Speed speed=%d count=%d", speed_meters_second, count)); - - -- compute volume - volume = speed_meters_second * 2 - count=count+1 - - AFB:success (request, 1234, volume, count, 5678) -end - - -function Test_Binder_CB (result, context) - - local myTable= { ["arg1"] = "myString", ["arg2"] = 1234, ["arg4"] = true, ["arg5"] = 3.1416 } - - AFB:notice ("In Test_Binder_CB", result, context) - - AFB:success (1234, "ABCD", myTable, 5678) - -end - -function Test_Binder_Call_Async () - - local query= { - ["arg1"] = "myString", - ["arg2"] = 1234, - ["arg4"] = true, - ["arg5"] = 3.1416, - } - - AFB:service("alsacore","ping", query, Test_Binder_CB, "myContext") - -end - -function Test_Binder_Call_Sync () - - local query= { - ["arg1"] = "myString", - ["arg2"] = 1234, - ["arg4"] = true, - ["arg5"] = 3.1416, - } - - err= AFB:service_sync ("alsacore","ping", query) - - if (err) then - AFB:fail ("AFB:service_call_sync fail"); - else - AFB:success (1234, "ABCD", myTable) - end - - -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 diff --git a/conf.d/project/lua.d/helloworld-lua-script.lua b/conf.d/project/lua.d/onload-audio-utils.lua index 7dd0459..40ef8a3 100644 --- a/conf.d/project/lua.d/helloworld-lua-script.lua +++ b/conf.d/project/lua.d/onload-audio-utils.lua @@ -14,28 +14,19 @@ See the License for the specific language governing permissions and limitations under the License. - - Simple API script --]] - -- retrieve calling arguments - args= ... - - print ("Helloworld script arguments:") - - - for key,value in pairs(args) - do - print("args: ", key,value) - end - - -- loop on script arguments - --for i=1,#args - --do - -- print(" -- ", i, args[i]) - --end - - - -- return two arguments on top of status - return true, 1234, "ABCD", 5678 +-- 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 |