Lock-Serial-Project/31_0x1F.lua
2026-01-05 09:10:47 +08:00

618 lines
23 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

uart_free_protocol = 1 -- 设置全局变量uart_free_protocol使用自由串口协议
-- 开锁指令数组按地址1-5和锁编号1-12顺序
openlock = {
-- 0x01地址
[0] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x01,0x05}, -- 01锁
[1] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x02,0x06}, -- 02锁
[2] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x03,0x07}, -- 03锁
[3] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x04,0x00}, -- 04锁
[4] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x05,0x01}, -- 05锁
[5] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x06,0x02}, -- 06锁
[6] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x07,0x03}, -- 07锁
[7] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x08,0x0C}, -- 08锁
[8] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x09,0x0D}, -- 09锁
[9] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x0A,0x0E}, -- 10锁
[10] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x0B,0x0F}, -- 11锁
[11] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x04,0x00,0x01,0x0C,0x08}, -- 12锁
-- 0x02地址
[12] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x01,0x06}, -- 13锁
[13] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x02,0x05}, -- 14锁
[14] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x03,0x04}, -- 15锁
[15] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x04,0x03}, -- 16锁
[16] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x05,0x02}, -- 17锁
[17] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x06,0x01}, -- 18锁
[18] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x07,0x00}, -- 19锁
[19] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x08,0x0F}, -- 20锁
[20] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x09,0x0E}, -- 21锁
[21] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x0A,0x0D}, -- 22锁
[22] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x0B,0x0C}, -- 23锁
[23] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x04,0x00,0x01,0x0C,0x0B}, -- 24锁
-- 0x03地址
[24] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x01,0x07}, -- 25锁
[25] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x02,0x04}, -- 26锁
[26] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x03,0x05}, -- 27锁
[27] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x04,0x02}, -- 28锁
[28] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x05,0x03}, -- 29锁
[29] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x06,0x00}, -- 30锁
[30] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x07,0x01}, -- 31锁
[31] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x08,0x0E}, -- 32锁
[32] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x09,0x0F}, -- 33锁
[33] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x0A,0x0C}, -- 34锁
[34] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x0B,0x0D}, -- 35锁
[35] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x04,0x00,0x01,0x0C,0x0A}, -- 36锁
-- 0x04地址
[36] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x01,0x00}, -- 37锁
[37] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x02,0x03}, -- 38锁
[38] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x03,0x02}, -- 39锁
[39] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x04,0x05}, -- 40锁
[40] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x05,0x04}, -- 41锁
[41] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x06,0x07}, -- 42锁
[42] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x07,0x06}, -- 43锁
[43] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x08,0x09}, -- 44锁
[44] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x09,0x08}, -- 45锁
[45] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x0A,0x0B}, -- 46锁
[46] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x0B,0x0A}, -- 47锁
[47] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x04,0x00,0x01,0x0C,0x0D}, -- 48锁
-- 0x05地址
[48] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x01,0x01}, -- 49锁
[49] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x02,0x02}, -- 50锁
[50] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x03,0x03}, -- 51锁
[51] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x04,0x04}, -- 52锁
[52] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x05,0x05}, -- 53锁
[53] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x06,0x06}, -- 54锁
[54] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x07,0x07}, -- 55锁
[55] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x08,0x08}, -- 56锁
[56] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x09,0x09}, -- 57锁
[57] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x0A,0x0A}, -- 58锁
[58] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x0B,0x0B}, -- 59锁
[59] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x04,0x00,0x01,0x0C,0x0C} -- 60锁
}
-- 一键全开指令数组按地址1-5顺序
openAlllock = {
[0] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x05,0x00,0x00,0x04}, -- 0x01地址
[1] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x05,0x00,0x00,0x07}, -- 0x02地址
[2] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x05,0x00,0x00,0x06}, -- 0x03地址
[3] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x05,0x00,0x00,0x01}, -- 0x04地址
[4] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x05,0x00,0x00,0x00} -- 0x05地址
}
-- 读取所有通道状态指令数组按地址1-5顺序
readLockState = {
[0] = {[0] = 0xA5,0xA5,0x00,0x01,0x00,0x0A,0x00,0x00,0x0B}, -- 0x01地址
[1] = {[0] = 0xA5,0xA5,0x00,0x02,0x00,0x0A,0x00,0x00,0x08}, -- 0x02地址
[2] = {[0] = 0xA5,0xA5,0x00,0x03,0x00,0x0A,0x00,0x00,0x09}, -- 0x03地址
[3] = {[0] = 0xA5,0xA5,0x00,0x04,0x00,0x0A,0x00,0x00,0x0E}, -- 0x04地址
[4] = {[0] = 0xA5,0xA5,0x00,0x05,0x00,0x0A,0x00,0x00,0x0F} -- 0x05地址
}
sendID = 0 -- 全局发送ID
sendFlag = 0 -- 全局发送状态,设置优先级 0-查询状态 1-发送开锁
-- 系统加载LUA脚本文件之后,立即调用此回调函数,通常用于执行初始化操作,仅执行一次。
-- on_timer(timer_id)函数是LUA定时器中断函数,timer_id值范围为0-31。
function on_init()
start_timer(1, 200, 0, 0)
end
-- 接收查询所有通道状态指令,改变状态
function on_uart_recv_data(packet, bytelen)
-- 第3个字节packet[2]为锁控板地址第9个字节packet[8 + i]为所有锁状态一个锁控板有12把锁
if packet[0] == 0xA5 and packet[1] == 0xA5 and packet[2] ~= 0x00 and packet[3] == 0x00 and packet[5] == 0x0A and packet[6] == 0x00 and packet[7] == 0x0C then
-- 采用遍历赋值,待验证
-- local screenId = 0
-- if packet[2] == 1 then
-- screenId = 0
-- elseif packet[2] == 2 then
-- screenId = 1
-- elseif packet[2] == 3 then
-- screenId = 2
-- elseif packet[2] == 4 then
-- screenId = 3
-- elseif packet[2] == 5 then
-- screenId = 4
-- end
-- for i = 0, 11 do
-- if packet[8 + i] == 0 then
-- set_value(screenId, i + 1, 1)
-- else
-- set_value(screenId, i + 1, 0)
-- end
-- end
if packet[2] == 1 then -- 0x01地址
if packet[8] == 0 then
set_value(0, 1, 1)
else
set_value(0, 1, 0)
end
if packet[9] == 0 then
set_value(0, 2, 1)
else
set_value(0, 2, 0)
end
if packet[10] == 0 then
set_value(0, 3, 1)
else
set_value(0, 3, 0)
end
if packet[11] == 0 then
set_value(0, 4, 1)
else
set_value(0, 4, 0)
end
if packet[12] == 0 then
set_value(0, 5, 1)
else
set_value(0, 5, 0)
end
if packet[13] == 0 then
set_value(0, 6, 1)
else
set_value(0, 6, 0)
end
if packet[14] == 0 then
set_value(0, 7, 1)
else
set_value(0, 7, 0)
end
if packet[15] == 0 then
set_value(0, 8, 1)
else
set_value(0, 8, 0)
end
if packet[16] == 0 then
set_value(0, 9, 1)
else
set_value(0, 9, 0)
end
if packet[17] == 0 then
set_value(0, 10, 1)
else
set_value(0, 10, 0)
end
end
if packet[2] == 2 then -- 0x02地址
if packet[8] == 0 then
set_value(1, 1, 1)
else
set_value(1, 1, 0)
end
if packet[9] == 0 then
set_value(1, 2, 1)
else
set_value(1, 2, 0)
end
if packet[10] == 0 then
set_value(1, 3, 1)
else
set_value(1, 3, 0)
end
if packet[11] == 0 then
set_value(1, 4, 1)
else
set_value(1, 4, 0)
end
if packet[12] == 0 then
set_value(1, 5, 1)
else
set_value(1, 5, 0)
end
if packet[13] == 0 then
set_value(1, 6, 1)
else
set_value(1, 6, 0)
end
if packet[14] == 0 then
set_value(1, 7, 1)
else
set_value(1, 7, 0)
end
if packet[15] == 0 then
set_value(1, 8, 1)
else
set_value(1, 8, 0)
end
if packet[16] == 0 then
set_value(1, 9, 1)
else
set_value(1, 9, 0)
end
if packet[17] == 0 then
set_value(1, 10, 1)
else
set_value(1, 10, 0)
end
end
if packet[2] == 3 then -- 0x03地址
if packet[8] == 0 then
set_value(2, 1, 1)
else
set_value(2, 1, 0)
end
if packet[9] == 0 then
set_value(2, 2, 1)
else
set_value(2, 2, 0)
end
if packet[10] == 0 then
set_value(2, 3, 1)
else
set_value(2, 3, 0)
end
if packet[11] == 0 then
set_value(2, 4, 1)
else
set_value(2, 4, 0)
end
if packet[12] == 0 then
set_value(2, 5, 1)
else
set_value(2, 5, 0)
end
if packet[13] == 0 then
set_value(2, 6, 1)
else
set_value(2, 6, 0)
end
if packet[14] == 0 then
set_value(2, 7, 1)
else
set_value(2, 7, 0)
end
if packet[15] == 0 then
set_value(2, 8, 1)
else
set_value(2, 8, 0)
end
if packet[16] == 0 then
set_value(2, 9, 1)
else
set_value(2, 9, 0)
end
if packet[17] == 0 then
set_value(2, 10, 1)
else
set_value(2, 10, 0)
end
end
if packet[2] == 4 then -- 0x04地址
if packet[8] == 0 then
set_value(3, 1, 1)
else
set_value(3, 1, 0)
end
if packet[9] == 0 then
set_value(3, 2, 1)
else
set_value(3, 2, 0)
end
if packet[10] == 0 then
set_value(3, 3, 1)
else
set_value(3, 3, 0)
end
if packet[11] == 0 then
set_value(3, 4, 1)
else
set_value(3, 4, 0)
end
if packet[12] == 0 then
set_value(3, 5, 1)
else
set_value(3, 5, 0)
end
if packet[13] == 0 then
set_value(3, 6, 1)
else
set_value(3, 6, 0)
end
if packet[14] == 0 then
set_value(3, 7, 1)
else
set_value(3, 7, 0)
end
if packet[15] == 0 then
set_value(3, 8, 1)
else
set_value(3, 8, 0)
end
if packet[16] == 0 then
set_value(3, 9, 1)
else
set_value(3, 9, 0)
end
if packet[17] == 0 then
set_value(3, 10, 1)
else
set_value(3, 10, 0)
end
end
if packet[2] == 5 then -- 0x05地址
if packet[8] == 0 then
set_value(4, 1, 1)
else
set_value(4, 1, 0)
end
if packet[9] == 0 then
set_value(4, 2, 1)
else
set_value(4, 2, 0)
end
if packet[10] == 0 then
set_value(4, 3, 1)
else
set_value(4, 3, 0)
end
if packet[11] == 0 then
set_value(4, 4, 1)
else
set_value(4, 4, 0)
end
if packet[12] == 0 then
set_value(4, 5, 1)
else
set_value(4, 5, 0)
end
if packet[13] == 0 then
set_value(4, 6, 1)
else
set_value(4, 6, 0)
end
if packet[14] == 0 then
set_value(4, 7, 1)
else
set_value(4, 7, 0)
end
if packet[15] == 0 then
set_value(4, 8, 1)
else
set_value(4, 8, 0)
end
if packet[16] == 0 then
set_value(4, 9, 1)
else
set_value(4, 9, 0)
end
if packet[17] == 0 then
set_value(4, 10, 1)
else
set_value(4, 10, 0)
end
end
end
end
-- 用户触摸修改控件后,执行此回调函数.点击按钮控件,修改文本控件、修改滑动条、滑动选择都会触发此事件。
-- screen 画面ID
-- control 控件ID
-- value 控件值
function on_control_notify(screen, control, value)
-- 按钮点击事件开锁,后期考虑采用一定的规律定制计算公式,如sendID = (screen * 12) + (control - 11)
if screen == 0 and control == 11 and value == 1 then -- 画面0, 0x01地址
sendID = 0
sendFlag = 1
elseif screen == 0 and control == 12 and value == 1 then
sendID = 1
sendFlag = 1
elseif screen == 0 and control == 13 and value == 1 then
sendID = 2
sendFlag = 1
elseif screen == 0 and control == 14 and value == 1 then
sendID = 3
sendFlag = 1
elseif screen == 0 and control == 15 and value == 1 then
sendID = 4
sendFlag = 1
elseif screen == 0 and control == 16 and value == 1 then
sendID = 5
sendFlag = 1
elseif screen == 0 and control == 17 and value == 1 then
sendID = 6
sendFlag = 1
elseif screen == 0 and control == 18 and value == 1 then
sendID = 7
sendFlag = 1
elseif screen == 0 and control == 19 and value == 1 then
sendID = 8
sendFlag = 1
elseif screen == 0 and control == 20 and value == 1 then
sendID = 9
sendFlag = 1
elseif screen == 1 and control == 11 and value == 1 then -- 画面10x02地址
sendID = 12
sendFlag = 1
elseif screen == 1 and control == 12 and value == 1 then
sendID = 13
sendFlag = 1
elseif screen == 1 and control == 13 and value == 1 then
sendID = 14
sendFlag = 1
elseif screen == 1 and control == 14 and value == 1 then
sendID = 15
sendFlag = 1
elseif screen == 1 and control == 15 and value == 1 then
sendID = 16
sendFlag = 1
elseif screen == 1 and control == 16 and value == 1 then
sendID = 17
sendFlag = 1
elseif screen == 1 and control == 17 and value == 1 then
sendID = 18
sendFlag = 1
elseif screen == 1 and control == 18 and value == 1 then
sendID = 19
sendFlag = 1
elseif screen == 1 and control == 19 and value == 1 then
sendID = 20
sendFlag = 1
elseif screen == 1 and control == 20 and value == 1 then
sendID = 21
sendFlag = 1
elseif screen == 2 and control == 11 and value == 1 then -- 画面20x03地址
sendID = 24
sendFlag = 1
elseif screen == 2 and control == 12 and value == 1 then
sendID = 25
sendFlag = 1
elseif screen == 2 and control == 13 and value == 1 then
sendID = 26
sendFlag = 1
elseif screen == 2 and control == 14 and value == 1 then
sendID = 27
sendFlag = 1
elseif screen == 2 and control == 15 and value == 1 then
sendID = 28
sendFlag = 1
elseif screen == 2 and control == 16 and value == 1 then
sendID = 29
sendFlag = 1
elseif screen == 2 and control == 17 and value == 1 then
sendID = 30
sendFlag = 1
elseif screen == 2 and control == 18 and value == 1 then
sendID = 31
sendFlag = 1
elseif screen == 2 and control == 19 and value == 1 then
sendID = 32
sendFlag = 1
elseif screen == 2 and control == 20 and value == 1 then
sendID = 33
sendFlag = 1
elseif screen == 3 and control == 11 and value == 1 then -- 画面30x04地址
sendID = 36
sendFlag = 1
elseif screen == 3 and control == 12 and value == 1 then
sendID = 37
sendFlag = 1
elseif screen == 3 and control == 13 and value == 1 then
sendID = 38
sendFlag = 1
elseif screen == 3 and control == 14 and value == 1 then
sendID = 39
sendFlag = 1
elseif screen == 3 and control == 15 and value == 1 then
sendID = 40
sendFlag = 1
elseif screen == 3 and control == 16 and value == 1 then
sendID = 41
sendFlag = 1
elseif screen == 3 and control == 17 and value == 1 then
sendID = 42
sendFlag = 1
elseif screen == 3 and control == 18 and value == 1 then
sendID = 43
sendFlag = 1
elseif screen == 3 and control == 19 and value == 1 then
sendID = 44
sendFlag = 1
elseif screen == 3 and control == 20 and value == 1 then
sendID = 45
sendFlag = 1
elseif screen == 4 and control == 11 and value == 1 then -- 画面40x05地址
sendID = 48
sendFlag = 1
elseif screen == 4 and control == 12 and value == 1 then
sendID = 49
sendFlag = 1
elseif screen == 4 and control == 13 and value == 1 then
sendID = 50
sendFlag = 1
elseif screen == 4 and control == 14 and value == 1 then
sendID = 51
sendFlag = 1
elseif screen == 4 and control == 15 and value == 1 then
sendID = 52
sendFlag = 1
elseif screen == 4 and control == 16 and value == 1 then
sendID = 53
sendFlag = 1
elseif screen == 4 and control == 17 and value == 1 then
sendID = 54
sendFlag = 1
elseif screen == 4 and control == 18 and value == 1 then
sendID = 55
sendFlag = 1
elseif screen == 4 and control == 19 and value == 1 then
sendID = 56
sendFlag = 1
elseif screen == 4 and control == 20 and value == 1 then
sendID = 57
sendFlag = 1
elseif screen == 0 and control == 100 and value == 1 then -- 一键全开控件ID统一为100
sendID = 100
sendFlag = 1
elseif screen == 1 and control == 100 and value == 1 then
sendID = 200
sendFlag = 1
elseif screen == 2 and control == 100 and value == 1 then
sendID = 300
sendFlag = 1
elseif screen == 3 and control == 100 and value == 1 then
sendID = 400
sendFlag = 1
elseif screen == 4 and control == 100 and value == 1 then
sendID = 500
sendFlag = 1
end
end
-- 系统每隔1秒钟会自动调用此回调函数。
function on_systick()
end
-- 当画面切换时,执行此回调函数,screen为切换后的画面ID。
function on_screen_change(screen)
end
-- LUA定时器中断函数,timer_id值范围为0-31。
-- 单独使用该函数不生效,该函数触发回调需要配合 start_timer(timer_id, timeout, countdown, repeatNum) 来开启定时器定时器溢出超时了才会触发on_timer(timer_id)。
function on_timer(timer_id)
if sendFlag == 1 then
sendFlag = 0 -- 发送开锁的优先级更高
if sendID == 100 then
uart_send_data(openAlllock[0]) -- 0x01地址全开
elseif sendID == 200 then
uart_send_data(openAlllock[1]) -- 0x02地址全开
elseif sendID == 300 then
uart_send_data(openAlllock[2]) -- 0x03地址全开
elseif sendID == 400 then
uart_send_data(openAlllock[3]) -- 0x04地址全开
elseif sendID == 500 then
uart_send_data(openAlllock[4]) -- 0x05地址全开
else
uart_send_data(openlock[sendID]) -- 根据sendId获取对应的openlock数组开锁指令发送
end
else -- 读取锁控板所有通道状态, 根据当前画面ID获取对应的查询所有锁状态的指令发送
local currentScreenId = get_current_screen()
if currentScreenId == 0 then
uart_send_data(readLockState[0])
elseif currentScreenId == 1 then
uart_send_data(readLockState[1])
elseif currentScreenId == 2 then
uart_send_data(readLockState[2])
elseif currentScreenId == 3 then
uart_send_data(readLockState[3])
else
uart_send_data(readLockState[4])
end
end
end