RTC时间不准的原因是下方图中函数osalTimeUpdate();在遇到1ms中断或扫描到大量空中包时,多次调用此接口,会产生异常。
因此将此接口屏蔽,确实引起了ota过程中底层时钟不准导致异常断开,从而引起ota失败。
最终解决方案:上图中的osalTimeUpdate();屏蔽,在tkl_ota.c的多个过程中增加osalTimeUpdate();,保证ota过程中时钟校准。
该方案将上架在phy6222 ble sdk 3.12.4版本中
RTC时间不准的原因是下方图中函数osalTimeUpdate();在遇到1ms中断或扫描到大量空中包时,多次调用此接口,会产生异常。
因此将此接口屏蔽,确实引起了ota过程中底层时钟不准导致异常断开,从而引起ota失败。
最终解决方案:上图中的osalTimeUpdate();屏蔽,在tkl_ota.c的多个过程中增加osalTimeUpdate();,保证ota过程中时钟校准。
该方案将上架在phy6222 ble sdk 3.12.4版本中
更新下驱动文件
目前看代码里面hal_spi_xmit_polling,tx和rx只选择了一种情况,将这里面的代码改一下,允许两个都配置dma,并将其中一个的channel更换掉。你再试下,不行的话,我这边就搭环境测试下
你把相关的代码发出来看下
可以参考一下tkl_spi_transfer里面#if BOARD_SPI_LIGHT_DRIVER下方的代码,使用DMA传输
tuya_ble_gap_disconnect会产生事件 TAL_BLE_EVT_DISCONNECT这里面会重新打开广播包,disconnect后立即stop_adv,TAL_BLE_EVT_DISCONNECT事件在stop_adv之后,所以要按需求特殊处理下
默认是使能的,可以搜索下“FEATURE_PROXY_EN”。可以先使用手机app扫描广播包。 具体api使能参考文档:https://developer.tuya.com/cn/docs/iot- ... wlb84e6c0o
在网关下,网关使用的是adv通信。当时使用蓝牙本地时,app与设备间使用的是proxy功能。
1.确保设备使能了proxy,可nrf connect app搜索该设备广播包,能看到uuid 0x1828的广播
2.然后手机打开蓝牙,确保app和设备能够gatt连接上
3.有些面板需要加载,确保有网的状态下进行
是面板单独做的逻辑,不是每个面板都会有。可以咨询相应的产品经理,此面板是否支持。
目前不支持请求,只能打开面板下发