最终提交

This commit is contained in:
2026-05-21 13:24:05 +08:00
parent a1d1f19585
commit 1ab5940cbd
78 changed files with 313 additions and 4814 deletions

View File

@@ -0,0 +1,38 @@
--- 模块功能:扫码.
-- 支持二维码、条形码扫描
-- @module scanCode
-- @author openLuat
-- @license MIT
-- @copyright openLuat
-- @release 2018.9.19
require"sys"
module(..., package.seeall)
local sCbFnc
--- 设置扫码请求
-- @function cbFnc 扫码返回或者超时未返回的回调函数,回调函数的调用形式为:
-- cbFnc(result,type,str)
-- resulttrue或者falsetrue表示扫码成功false表示超时失败
-- typestring或者nil类型result为true时表示扫码类型result为false时为nil支持QR-Code和CODE-128
-- strstring或者nil类型result为true时表示扫码结果的字符串result为false时为nil
-- @number[opt=10000] timeout 设置请求后等待扫码结果返回的超时时间单位毫秒默认为10秒
-- @usage
-- scanCode.request(cbFnc)
-- scanCode.request(cbFnc,5000)
function request(cbFnc,timeout)
sCbFnc = cbFnc
sys.timerStart(sCbFnc,timeout or 10000,false)
end
local function zbarMsg(msg)
--log.info("scanCode.zbarMsg",msg.result,sys.timerIsActive(sCbFnc,false))
if msg.result and sys.timerIsActive(sCbFnc,false) then
sys.timerStop(sCbFnc,false)
sCbFnc(true,msg.type,msg.data)
end
end
--注册core上报的rtos.MSG_ZBAR消息的处理函数
rtos.on(rtos.MSG_ZBAR,zbarMsg)