summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcheapie <no-email-for-you@example.com>2017-01-13 00:53:26 -0600
committercheapie <no-email-for-you@example.com>2017-01-13 00:53:26 -0600
commit2dd4db0c890292a8304d37ac730a60033ded0f67 (patch)
treebeb716aed1eb73e48c66c4057f0e6dfccf0e20c4
parent09ce968d579f24eb86e07c929f33511472909ab0 (diff)
downloadltc4000e-2dd4db0c890292a8304d37ac730a60033ded0f67.tar
ltc4000e-2dd4db0c890292a8304d37ac730a60033ded0f67.tar.gz
ltc4000e-2dd4db0c890292a8304d37ac730a60033ded0f67.tar.bz2
ltc4000e-2dd4db0c890292a8304d37ac730a60033ded0f67.tar.xz
ltc4000e-2dd4db0c890292a8304d37ac730a60033ded0f67.zip
Fix crash when two controllers are connected
-rw-r--r--fw.lua10
-rw-r--r--init.lua2
2 files changed, 11 insertions, 1 deletions
diff --git a/fw.lua b/fw.lua
index 6a04ac5..54aa933 100644
--- a/fw.lua
+++ b/fw.lua
@@ -15,6 +15,16 @@ modes = {"Sensor","Timer","Phase Lock"}
panellock = {"Unlocked","Locked"}
logmodes = {"Quiet","Normal","Verbose"}
+--Only accept digilines signals on the necessary channels
+local event_ok = false
+if event.type ~= "digiline" then event_ok = true end
+if (not event_ok) and (string.find(event.channel,"detector") or string.find(event.channel,"preempt")) then event_ok = true end
+if (not event_ok) and (event.channel == "touchscreen") then event_ok = true end
+if not event_ok then
+ --Digilines signal on unimportant channel, stop execution
+ return
+end
+
--Used for reverse lookups
function pivot(table)
local out = {}
diff --git a/init.lua b/init.lua
index 7506b83..d0b63cf 100644
--- a/init.lua
+++ b/init.lua
@@ -528,7 +528,7 @@ minetest.register_lbm({
action = function(pos)
local meta = minetest.get_meta(pos)
local mem = minetest.deserialize(meta:get_string("mem"))
- if mem.cycle then
+ if mem and mem.cycle then
local event = {}
event.type = "interrupt"
event.iid = "tick"