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-00-utils.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-00-utils.lua')
-rw-r--r-- | conf.d/project/data/signal-composer-daemon-00-utils.lua | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/conf.d/project/data/signal-composer-daemon-00-utils.lua b/conf.d/project/data/signal-composer-daemon-00-utils.lua new file mode 100644 index 0000000..943c6c6 --- /dev/null +++ b/conf.d/project/data/signal-composer-daemon-00-utils.lua @@ -0,0 +1,85 @@ +--[[ + 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) |