当前位置: 首页 > news >正文

UWB功耗大数据插桩调研

一、摘要

UWB功耗点

插桩点

日志关键字

电流

蓝牙持锁

BatteryStats的锁统计

vendor_bluetooth_lock

30~40mA

测距

UwbSessionManager.startRanging

UwbSessionManager.stoptRanging

或接入fadiKey Uwb状态广播

"com.fadiui.dkservice.action.uwb.state.change"

startRanging|stopRanging|UwbUciCore

60~90mA

(无持锁测距~持锁测距)

初步结论:可行,加下代码,后面实测下是否正确触发。

UWB 命令集:

adb shell dumpsys uwb

adb shell cmd uwb help

二、UWB架构

2.1 UWB 堆栈架构

UWB 堆栈由 UWB Mainline 模块和 UWB 芯片供应商提供的 HAL 实现组成。

0

2.2 UWB framework

0

三、功耗相关日志

3.1 蓝牙持锁日志

日志关键字:vendor_bluetooth_lock

AP_Log/50_2023-07-29_101149/kernel.txt:8866:07-29 10:13:32.909 10241 10241 I PM      : PM: Pending Wakeup Sources: vendor_bluetooth_lock 898000.qcom,qup_uartAP_Log/50_2023-07-29_101149/kernel.txt:8870:07-29 10:13:32.979 10241 10241 I Abort   : Pending Wakeup Sources: vendor_bluetooth_lock 898000.qcom,qup_uartAP_Log/50_2023-07-29_101149/main.txt:34388:07-29 10:17:02.969  1301  1301 W binder:1301_2: type=1400 audit(0.0:838): avc: denied { read } for name="ssrdump" dev="dm-14" ino=259 scontext=u:r:hal_bluetooth_default:s0 tcontext=u:object_r:vendor_ramdump_vendor_data_file:s0 tclass=dir permissive=0AP_Log/51_2023-07-29_101721_boot/kernel.txt:3286:07-29 10:17:38.461   132   132 I [fadi]: active wakeup source: vendor_bluetooth_lock, active_since: 848 ms , active_count: 3 , pending suspend count: 0AP_Log/51_2023-07-29_101721_boot/kernel.txt:4219:07-29 10:18:58.329   132   132 I [fadi]: active wakeup source: vendor_bluetooth_lock, active_since: 1049 ms , active_count: 12 , pending suspend count: 0AP_Log/51_2023-07-29_101721_boot/kernel.txt:5421:07-29 10:20:08.471   132   132 I [fadi]: active wakeup source: vendor_bluetooth_lock, active_since: 161 ms , active_count: 17 , pending suspend count: 0AP_Log/51_2023-07-29_101721_boot/kernel.txt:9321:07-29 10:29:00.609   132   132 I [fadi]: active wakeup source: vendor_bluetooth_lock, active_since: 366 ms , active_count: 42 , pending suspend count: 0

0

3.2 UWB测距

日志关键字:startRanging|stopRanging|UwbUciCore

0

AP_Log/51_2023-07-29_101721_boot/main.txt:58342:07-29 10:17:42.868  1862  5087 I UwbUciCore: uwb_ucif_proc_ranging_data: ranging_measures_length = 48 range_data_ntf_len = 232AP_Log/51_2023-07-29_101721_boot/main.txt:58343:07-29 10:17:42.868  1862  5087 I UwbUciCore: uwa_dm_uwb_response_cback:UWB_VENDOR_SPECIfIC_UCI_NTF_EVT(0x401d)AP_Log/51_2023-07-29_101721_boot/main.txt:58347:07-29 10:17:42.869  1862  5087 I UwbUciCore: uwa_dm_uwb_response_cback:UWB_RANGE_DATA_REVT(0x4011)AP_Log/51_2023-07-29_101721_boot/main.txt:58380:07-29 10:17:43.061  1862  5087 I UwbUciCore: uwb_ucif_process_event enter gid:0x62 status:0x1AP_Log/51_2023-07-29_101721_boot/main.txt:58381:07-29 10:17:43.061  1862  5087 I UwbUciCore: uwb_ucif_process_event: UWB received ntf gid:2AP_Log/51_2023-07-29_101721_boot/main.txt:58382:07-29 10:17:43.061  1862  5087 I UwbUciCore: uwb_ucif_proc_ranging_data: ranging_measures_length = 48 range_data_ntf_len = 232AP_Log/51_2023-07-29_101721_boot/main.txt:58383:07-29 10:17:43.061  1862  5087 I UwbUciCore: uwa_dm_uwb_response_cback:UWB_VENDOR_SPECIfIC_UCI_NTF_EVT(0x401d)AP_Log/51_2023-07-29_101721_boot/main.txt:58387:07-29 10:17:43.061  1862  5087 I UwbUciCore: uwa_dm_uwb_response_cback:UWB_RANGE_DATA_REVT(0x4011)AP_Log/51_2023-07-29_101721_boot/main.txt:58480:07-29 10:17:43.255  1862  5087 I UwbUciCore: uwb_ucif_process_event enter gid:0x62 status:0x2AP_Log/51_2023-07-29_101721_boot/main.txt:58481:07-29 10:17:43.255  1862  5087 I UwbUciCore: uwb_ucif_process_event: UWB received ntf gid:2AP_Log/51_2023-07-29_101721_boot/main.txt:58482:07-29 10:17:43.255  1862  5087 I UwbUciCore: uwb_ucif_proc_ranging_data: ranging_measures_length = 48 range_data_ntf_len = 232AP_Log/51_2023-07-29_101721_boot/main.txt:58483:07-29 10:17:43.255  1862  5087 I UwbUciCore: uwa_dm_uwb_response_cback:UWB_VENDOR_SPECIfIC_UCI_NTF_EVT(0x401d)

0

四、UWB 命令集

UWB 命令集:

adb shell dumpsys uwb

adb shell cmd uwb help

adb shell cmd uwb status

adb shell cmd uwb get-country-code

adb shell cmd uwb get-log-mode

adb shell cmd uwb enable-uwb

adb shell cmd uwb disable-uwb

adb shell cmd uwb simulate-app-state-change

adb shell cmd uwb start-fira-ranging-session

adb shell cmd uwb start-ccc-ranging-session

adb shell cmd uwb start-radar-session

adb shell cmd uwb reconfigure-fira-ranging-session

adb shell cmd uwb get-ranging-session-reports

adb shell cmd uwb get-all-ranging-session-reports

adb shell cmd uwb stop-ranging-session

adb shell cmd uwb stop-radar-session

adb shell cmd uwb stop-all-ranging-sessions

adb shell cmd uwb stop-all-radar-sessions

adb shell cmd uwb get-specification-info

adb shell cmd uwb enable-diagnostics-notification

adb shell cmd uwb disable-diagnostics-notification

adb shell cmd uwb take-bugreport

相关文章:

UWB功耗大数据插桩调研

一、摘要 UWB功耗点 插桩点 日志关键字 电流 蓝牙持锁 BatteryStats的锁统计 vendor_bluetooth_lock 30~40mA 测距 UwbSessionManager.startRanging UwbSessionManager.stoptRanging 或接入fadiKey Uwb状态广播 "com.fadiui.dkservice.action.uwb.state.change&q…...

郭羽冲IOI2024参赛总结

非常荣幸能代表中国参加第 36 36 36 届国际信息学奥林匹克竞赛( I O I 2024 IOI2024 IOI2024)。感谢 C C F CCF CCF 为我们提供竞赛的平台,感谢随行的老师们一路上为我们提供的帮助与支持。 在每场比赛的前一个晚上,领队、副领…...

03:Spring之Web

一:Spring整合web环境 1:web的三大组件 Servlet:核心组件,负责处理请求和生成响应。 Filter:用于请求和响应的预处理和后处理,增强功能。 Listener:用于监听 Web 应用中的事件,实…...

lx-music落雪音乐-开源免费听歌软件[提供最新音源使用, 支持全网平台, 支持无损音乐下载]

lx-music_落雪音乐 链接:https://pan.xunlei.com/s/VOIpEt1xqf0un-vEQilidhjIA1?pwdgcux#...

129,【2】buuctf [BJDCTF2020]EzPHP

进入靶场 查看源代码 看到红框就知道对了 她下面那句话是编码后的&#xff0c;解码 1nD3x.php <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;通常用于调试和展示代码结构 highlight_file(__FILE__); // 设置错误报告级别为 0&#xff0c;即不显示任何 PHP 错误信息…...

Python 面向对象(类,对象,方法,属性,魔术方法)

前言&#xff1a;在讲面向对象之前&#xff0c;我们先将面向过程和面向对象进行一个简单的分析比较&#xff0c;这样我们可以更好的理解与区分&#xff0c;然后我们在详细的讲解面向对象的优势。 面向过程&#xff08;Procedure-Oriented Programming&#xff0c;POP&#xff0…...

C语言之扫雷

C语言之扫雷 game.hgame.ctest.c 参考 https://blog.csdn.net/m0_62391199/article/details/124694375 game.h #pragma once #include <stdio.h> #include <time.h> #include <stdlib.h>#define ROW 9 #define COL 9#define ROWS ROW2 #define COLS COL2#de…...

半导体制造工艺讲解

目录 一、半导体制造工艺的概述 二、单晶硅片的制造 1.单晶硅的制造 2.晶棒的切割、研磨 3.晶棒的切片、倒角和打磨 4.晶圆的检测和清洗 三、晶圆制造 1.氧化与涂胶 2.光刻与显影 3.刻蚀与脱胶 4.掺杂与退火 5.薄膜沉积、金属化和晶圆减薄 6.MOSFET在晶圆表面的形…...

Ollama+DeepSeek R1+AnythingLLM训练自己的AI智能助手

1.下载Ollama安装 1.1.安装Ollama Ollama官网&#xff1a;Ollama 下载Ollama,点击“Download”按钮。 根据电脑操作系统&#xff0c;下载合适的版本即可。 下载完成后点击安装&#xff0c;完成后安装窗口会自动关闭&#xff0c;你的系统托盘图标会出现一个Ollama图标。 1.2.…...

基于java手机销售网站设计和实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

5-R循环

R 循环 ​ 有的时候&#xff0c;我们可能需要多次执行同一块代码。一般情况下&#xff0c;语句是按顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多…...

Qlabel 每五个一换行 并、号分割

学习点 Qlabel 每五个一换行 并、号分割 QString MainWindow::formatHobbies(const std::set<QString>& hobbies) {QString formattedHobbies;int count 0;for (const QString& hobby : hobbies) {if (count > 0 && count % 5 0)formattedHobbies…...

加速PyTorch模型训练:自动混合精度(AMP)

在深度学习领域&#xff0c;模型训练的速度和效率尤为重要。为了提升训练速度并减少显存占用&#xff08;较复杂的模型中&#xff09;&#xff0c;PyTorch自1.6版本起引入了自动混合精度&#xff08;Automatic Mixed Precision, AMP&#xff09;功能。 AMP简单介绍 是一种训练…...

【py】python安装教程(Windows系统,python3.13.2版本为例)

1.下载地址 官网&#xff1a;https://www.python.org/ 官网下载地址&#xff1a;https://www.python.org/downloads/ 2.64版本或者32位选择 【Stable Releases】&#xff1a;稳定发布版本&#xff0c;指的是已经测试过的版本&#xff0c;相对稳定。 【Pre-releases】&#…...

Django REST Framework:如何获取序列化后的ID

Django REST Framework&#xff1a;如何获取序列化后的ID &#x1f604; 嗨&#xff0c;小伙伴们&#xff01;今天我们来聊一聊Django REST Framework&#xff08;简称DRF&#xff09;中一个非常常见的操作&#xff1a;如何获取序列化后的ID。对于那些刚入门的朋友们&#xff…...

QT修仙笔记 事件大圆满 闹钟大成

学习笔记 牛客刷题 闹钟 时钟显示 通过 QTimer 每秒更新一次 QLCDNumber 显示的当前时间&#xff0c;格式为 hh:mm:ss&#xff0c;实现实时时钟显示。 闹钟设置 使用 QDateTimeEdit 让用户设置闹钟时间&#xff0c;可通过日历选择日期&#xff0c;设置范围为当前时间到未来 …...

Leetcode - 149双周赛

目录 一、3438. 找到字符串中合法的相邻数字二、3439. 重新安排会议得到最多空余时间 I三、3440. 重新安排会议得到最多空余时间 II四、3441. 变成好标题的最少代价 一、3438. 找到字符串中合法的相邻数字 题目链接 本题有两个条件&#xff1a; 相邻数字互不相同两个数字的的…...

解决 ComfyUI-Impact-Pack 中缺少 UltralyticsDetectorProvider 节点的问题

解决 ComfyUI-Impact-Pack 中缺少 UltralyticsDetectorProvider 节点的问题 1. 安装ComfyUI-Impact-Pack 首先确保ComfyUI-Impact-Pack 已经下载 地址: https://github.com/ltdrdata/ComfyUI-Impact-Pack 2. 安装ComfyUI-Impact-Subpack 由于新版本的Impact Pack 不再提供这…...

使用Kickstart配置文件封装操作系统实现Linux的自动化安装

使用Kickstart配置文件封装操作系统实现Linux的自动化安装 创建ks.cfg配置文件 可以使用已经安装完成的Linux操作系统中的/root目录下的anaconda.cfg配置文件 注意&#xff0c;配置文件会因为kickstart的版本兼容性的问题导致无法安装报错需要在实际使用过程中删除某些参数 …...

Android笔记【snippet】

一、 6、Card及ConstraintLayout线性布局 //定义单独的机器人单独一行的卡片 Composable fun RobotCard(robot: Robot,navController:NavController){Card(modifier Modifier.fillMaxWidth().wrapContentHeight().padding(5.dp),colors CardDefaults.elevatedCardColors(co…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...