294 Star 1.6K Fork 389

GVP合宙Luat / LuatOS

 / 详情

[Air780EG]深度睡眠后GPS无法开启

已完成
缺陷
创建于  
2023-02-22 16:17

固件版本

  • 固件名称: LuatOS-SoC_V1103_EC618.soc
  • 使用设备: 618EG开发板
  • 使用功能: GPS

描述一下这个问题

第一次开机可以正常定位,定位成功后关闭GPS电源,进入DEEP休眠模式,采用定时器开机,开机后GPS无法工作。

复现步骤

正常定位后进入深度休眠模式,定时器开机,无法定位。

预期的行为

深度休眠后,定时开机,GPS应正常工作。

最小复现工程

PROJECT = "gnss"
VERSION = "1.0.0"
-- sys库是标配
local sys = require("sys")
require("sysplus")

local gps_uart_id = 2
uart.setup(gps_uart_id, 115200)
dw=0
function gpsinit()
    libgnss.clear() -- 清空数据,兼初始化
    log.info("GPS", "start")
    pm.power(pm.GPS, false)
    pm.power(pm.GPS, true)
    libgnss.bind(gps_uart_id)
    sys.wait(200) -- GPNSS芯片启动需要时间
    libgnss.debug(true)
    -- 增加显示的语句
    uart.write(gps_uart_id, "$CFGMSG,0,1,1\r\n") -- GLL
    sys.wait(20)
    uart.write(gps_uart_id, "$CFGMSG,0,5,1\r\n") -- VTG
    sys.wait(20)
    uart.write(gps_uart_id, "$CFGMSG,0,6,1\r\n") -- ZDA
    sys.wait(20)
end
-- 订阅GNSS状态编码
sys.subscribe("GNSS_STATE", function(event, ticks)
    log.info("gnss", "state", event, ticks)
    if event == "FIXED" then
        dw=1
    end
end)
-- 主进程
sys.taskInit(function()
    log.info("开机")
    mobile.flymode(0, false)
    gpsinit()
    sys.waitUntil("IP_READY", 15000)
    log.info("net", "IP_READY")
end)
--休眠进程
sys.taskInit(function()
        while dw==0 do
          sys.wait(20)
        end
        mobile.flymode(0, true)
        pm.dtimerStart(0, 1*60*1000)--毫秒
        log.info("开始休眠")
        pm.power(pm.GPS, false)
        pm.power(pm.USB, false) -- 如果是插着USB测试,需要关闭USB
        pm.force(pm.DEEP)   --也可以pm.HIB模式
        sys.wait(1000)
        log.info("休眠失败")
end)
sys.run()

评论 (11)

lwl887 创建了缺陷

新建issues,自动分配负责人进行确认

lwl887 负责人设置为Wendal
lwl887 修改了描述
Wendal 修改了标题
Wendal 修改了描述

【自动回复】检测到您在填写issue内容时,故意删掉了一个或多个小标题,信息没有填写完整
您的本次行为已被记录在案,多次违反规则将被禁止新建issue

在提交bug时,能让开发者复现该问题是非常必要的,还请您熟知该常识

的确有问题

添加了简化的重现脚本, 与libgnss库无关了

Wendal 任务状态待办的 修改为已确认
Wendal 添加协作者Wendal
Wendal 负责人Wendal 修改为alien2017
Wendal 取消协作者Wendal

@Wendal 目前有办法解决吗?还是需要等新固件来解决?

调查中

等新固件吧,或者不要用深度休眠

alien2017 任务状态已确认 修改为修复中

@alien2017 能不能临时给个固件啊,我这里想做gps产品

下午发个临时版本给你吧

强制UART2使用Air780EG布局的固件

https://cowtransfer.com/s/8950ab6e9e3a4f 点击链接查看 [ LuatOS-SoC_V1104_EC618_TEMP_20230223_134700_Air780EG.soc ] ,或访问奶牛快传 cowtransfer.com 输入传输口令 76a8gj 查看;

Wendal 优先级设置为严重
alien2017 任务状态修复中 修改为已验收
alien2017 任务状态已验收 修改为已完成

最新代码解决了

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
534181 chenxuuu 1578926871 4674 wendal 1578914274
Lua
1
https://gitee.com/openLuat/LuatOS.git
git@gitee.com:openLuat/LuatOS.git
openLuat
LuatOS
LuatOS

搜索帮助

344bd9b3 5694891 D2dac590 5694891