|
|
|
Is_AutoClose = true;
|
|
|
|
LightArr = {[1]=false,[2]=false,[3]=false,[4]=false}
|
|
|
|
--Init GPIO params
|
|
|
|
function InitGPIO()
|
|
|
|
gpio.mode(0,gpio.OUTPUT);
|
|
|
|
gpio.mode(1,gpio.OUTPUT);
|
|
|
|
gpio.mode(2,gpio.OUTPUT);
|
|
|
|
gpio.mode(3,gpio.OUTPUT);
|
|
|
|
gpio.mode(4,gpio.OUTPUT);
|
|
|
|
gpio.write(0,gpio.LOW);
|
|
|
|
gpio.write(1,gpio.LOW);
|
|
|
|
gpio.write(2,gpio.LOW);
|
|
|
|
gpio.write(3,gpio.LOW);
|
|
|
|
gpio.write(4,gpio.LOW);
|
|
|
|
end
|
|
|
|
--Push gpio to high
|
|
|
|
function GPIOOn(gpioId)
|
|
|
|
if gpioId>=0 and gpioId<=4 then
|
|
|
|
gpio.write(gpioId,gpio.HIGH);
|
|
|
|
LightArr[gpioId] = true;
|
|
|
|
PageLight(LightArr);
|
|
|
|
if Is_AutoClose then
|
|
|
|
AutoClose(gpioId);
|
|
|
|
end
|
|
|
|
end
|
|
|
|
if gpioId == 99 then
|
|
|
|
gpio.write(0,gpio.HIGH);
|
|
|
|
gpio.write(1,gpio.HIGH);
|
|
|
|
gpio.write(2,gpio.HIGH);
|
|
|
|
gpio.write(3,gpio.HIGH);
|
|
|
|
gpio.write(4,gpio.HIGH);
|
|
|
|
LightArr = {[1]=true,[2]=true,[3]=true,[4]=true}
|
|
|
|
PageLight(LightArr);
|
|
|
|
if Is_AutoClose then
|
|
|
|
AutoCloseAll();
|
|
|
|
end
|
|
|
|
end
|
|
|
|
if gpioId == 10 then
|
|
|
|
Is_AutoClose = true;
|
|
|
|
end
|
|
|
|
end
|
|
|
|
--Push gpio to low
|
|
|
|
function GPIOOff(gpioId)
|
|
|
|
if gpioId>=0 and gpioId<=4 then
|
|
|
|
gpio.write(gpioId,gpio.LOW);
|
|
|
|
LightArr[gpioId] = false;
|
|
|
|
PageLight(LightArr);
|
|
|
|
end
|
|
|
|
if gpioId == 99 then
|
|
|
|
gpio.write(0,gpio.LOW);
|
|
|
|
gpio.write(1,gpio.LOW);
|
|
|
|
gpio.write(2,gpio.LOW);
|
|
|
|
gpio.write(3,gpio.LOW);
|
|
|
|
gpio.write(4,gpio.LOW);
|
|
|
|
LightArr = {[1]=false,[2]=false,[3]=false,[4]=false}
|
|
|
|
PageLight(LightArr);
|
|
|
|
end
|
|
|
|
if gpioId == 10 then
|
|
|
|
Is_AutoClose = false;
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
function AutoClose(gpioId)
|
|
|
|
local mytimer = tmr.create()
|
|
|
|
mytimer:register(1000, tmr.ALARM_SINGLE, function()
|
|
|
|
gpio.write(gpioId,gpio.LOW);
|
|
|
|
LightArr[gpioId] = false;
|
|
|
|
PageLight(LightArr);
|
|
|
|
end)
|
|
|
|
mytimer:start()
|
|
|
|
end
|
|
|
|
|
|
|
|
function AutoCloseAll()
|
|
|
|
local mytimer = tmr.create()
|
|
|
|
mytimer:register(1000, tmr.ALARM_SINGLE, function()
|
|
|
|
gpio.write(0,gpio.LOW);
|
|
|
|
gpio.write(1,gpio.LOW);
|
|
|
|
gpio.write(2,gpio.LOW);
|
|
|
|
gpio.write(3,gpio.LOW);
|
|
|
|
gpio.write(4,gpio.LOW);
|
|
|
|
LightArr = {[1]=false,[2]=false,[3]=false,[4]=false}
|
|
|
|
PageLight(LightArr);
|
|
|
|
end)
|
|
|
|
mytimer:start()
|
|
|
|
end
|
|
|
|
InitGPIO();
|
|
|
|
print("gpio1-5 init over,turn all gpio to output,low")
|