代码拉取完成,页面将自动刷新
--[[
模块名称:gpsmng
模块功能:GPS打开关闭控制
模块最后修改时间:2017.08.25
]]
require"pincfg"
require"gps"
module(...,package.seeall)
--[[
函数名:print
功能 :打印接口,此文件中的所有打印都会加上gpsmng前缀
参数 :无
返回值:无
]]
local function print(...)
_G.print("--zbb--gpsmng",...)
end
--[[
函数名:gpsopen
功能 :打开GPS,val秒到关闭GPS
参数 :无
返回值:true
]]
local function gpsopen()
gps.open(gps.TIMER,{tag="GPSMOD",val=_G.GPSMOD_CLOSE_GPS_INVALIDSHK_FREQ+5})
return true
end
--[[
函数名:gpsclose
功能 :关闭GPS
参数 :无
返回值:无
]]
local function gpsclose()
gps.closegps(gps.TIMER,{tag="GPSMOD"})
end
--[[
函数名:shkind
功能 :震动中断消息处理
参数 :无
返回值:true
]]
local function shkind()
print("shkind",gps.isActive(gps.TIMER,{tag="GPSMOD"}))
if gps.isActive(gps.TIMER,{tag="GPSMOD"}) then
gpsopen()
end
return true
end
--[[
函数名:Extlonggps
功能 :退出LONGPS模式
参数 :无
返回值:无
]]
local function Extlonggps()
print("Extlonggps")
if nvm.get("workmod")=="LONGPS" then
nvm.set("workmod","GPS","EXTLGPS")
end
end
--[[
函数名:opnlongps
功能 :GPS一直打开
参数 :无
返回值:无
]]
local function opnlongps()
print("opnlongps")
sys.timerStart(Extlonggps,7200000) --2 hour
gps.open(gps.DEFAULT,{tag="LONGPSMOD"})
end
--[[
函数名:clslongps
功能 :GPS一直打开
参数 :无
返回值:无
]]
local function clslongps()
print("clslongps")
gps.close(gps.DEFAULT,{tag="LONGPSMOD"})
end
--[[
函数名:workmodind
功能 :工作模式切换处理
参数 :工作模式
返回值:无
]]
local function workmodind(s)
if nvm.get("workmod") ~= "GPS" then
gpsclose()
if nvm.get("workmod") == "LONGPS" then
opnlongps()
else
clslongps()
end
else --"GPS"
if s then gpsopen() end
clslongps()
end
end
local function test1Cb(tag)
print("gpsmng.test1Cb",tag)
--printGps()
end
--[[
函数名:accind
功能 :acc状态处理
参数 :acc状态
返回值:无
]]
local function accind(on)
print("accind on",on)
if on then
gps.open(gps.DEFAULT,{tag="ACC",cb=test1Cb})
else
gps.close(gps.DEFAULT,{tag="ACC"})
end
return true
end
local function parachangeind(k,v,r)
if k == "workmod" then
workmodind(true)
end
return true
end
--注册消息的处理函数
sys.subscribe("DEV_ACC_IND",accind)
sys.subscribe("GPSMOD_OPN_GPS_VALIDSHK_IND",gpsopen)
sys.subscribe("PARA_CHANGED_IND",parachangeind)
sys.subscribe("SHKCNT_VALIDSHK_IND",shkind)
if rtos.poweron_reason() == rtos.POWERON_KEY then
gpsopen()
end
-- local function nmeaCb(nmeaItem)
-- log.info("--zbb--gpsmng.nmeaCb",nmeaItem)
-- end
-- gps.setNmeaMode(2,nmeaCb)
gps.setAerialMode(1,1,0,0)
gps.setParseItem(true,true,true)
accind(acc.getflag())
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。