优化基站定位速度

This commit is contained in:
Mizore 2023-01-17 18:19:17 +08:00
parent 7d0fa89224
commit 6bdc0e378a
2 changed files with 30 additions and 4 deletions

View File

@ -110,6 +110,34 @@ local function tx(taskName,timeout, ...)
end
end
--- 阻塞等待新的网络事件或者特定事件,只能用于任务函数中
-- @string 任务标志
-- @int 超时时间,如果==0或者空则没有超时一致等待
-- @... 其他参数和socket.wait一致
-- @return
-- @boolean 网络异常返回false其他返回true
-- @table or boolean 超时返回false有新的数据到返回true被其他事件退出的返回接收到的事件
local function wait(taskName,timeout, netc)
local is_err, result = socket.wait(netc)
if is_err then
return false,false
end
if not result then
result = sys_wait(taskName, socket.EVENT, timeout)
else
return true,true
end
if type(result) == 'table' then
if result[2] == 0 then
return true, true
else
return false, false
end
else
return true, false
end
end
--- ASCII字符串 转化为 BCD编码格式字符串(仅支持数字)
-- @string inStr 待转换字符串
-- @number destLen 转换后的字符串期望长度如果实际不足则填充F
@ -233,7 +261,6 @@ local function taskClient(cbFnc, reqAddr, timeout, productKey, host, port,reqTim
if not sys.waitUntil("IP_READY", timeout) then return cbFnc(1) end
end
local retryCnt = 0
sys.wait(3000)
local reqStr = pack.pack("bAbAAAAA", productKey:len(), productKey,
(reqAddr and 2 or 0) + (reqTime and 4 or 0) + 8 +(reqWifi and 16 or 0) + 32, "",
numToBcdNum(mobile.imei()), enMuid(),
@ -252,10 +279,9 @@ local function taskClient(cbFnc, reqAddr, timeout, productKey, host, port,reqTim
if result then
while true do
log.info(" lbsloc socket_service connect true")
sys.wait(2000);
local result, _ = tx(d1Name, 0, netc, reqStr) ---发送数据
if result then
sys.wait(5000);
wait(d1Name, timeout - 100, netc)
local is_err, param, _, _ = socket.rx(netc, rx_buff) -- 接收数据
log.info("是否接收和数据长度", not is_err, param)
if not is_err then -- 如果接收成功

View File

@ -21,7 +21,7 @@ function util_location.getCoord(callback, type, wifi, timeout)
log.info("util_location.getCoord", "距离上次定位时间太短", current_time - last_time)
return
end
sys.wait(1000)
sys.wait(2000)
end
last_time = current_time
lbsLoc.request(