CN117407273A - 基于hub架构的传感器调试方法、装置、介质及设备 - Google Patents
基于hub架构的传感器调试方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN117407273A CN117407273A CN202310251759.6A CN202310251759A CN117407273A CN 117407273 A CN117407273 A CN 117407273A CN 202310251759 A CN202310251759 A CN 202310251759A CN 117407273 A CN117407273 A CN 117407273A
- Authority
- CN
- China
- Prior art keywords
- debugging
- sensor
- target
- parameters
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 47
- 238000012986 modification Methods 0.000 claims abstract description 44
- 230000004048 modification Effects 0.000 claims abstract description 44
- 238000013500 data storage Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 42
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 239000010410 layer Substances 0.000 description 42
- 230000000694 effects Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000035807 sensation Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- -1 hub architecture Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种基于hub架构的传感器调试方法、装置、介质及设备,该方法包括:接收针对目标传感器的参数修改请求;根据参数修改请求获取目标传感器的调试参数;调用连接目标传感器的hub通信接口,通过hub通信接口获取调试参数写入调试参数对应的目标数据存储区域中并替换历史值;调用调试函数从目标数据存储区域中获取调试参数,以对目标传感器进行调试。本申请通过建立hub与cpu之间的通讯通道,能够直接获取针对目标传感器的调试参数并写入与调试参数对应的目标数据存储区域中,同时替换历史值,当调试函数被调用时能够直接从目标数据存储区域中获取调试参数,以对目标传感器进行调试,不需要每次调试传感器都通过修改驱动底层代码实现。
Description
技术领域
本申请涉及电子通信技术领域,尤其涉及一种基于hub架构的传感器调试技术领域,特别涉及一种基于hub架构的传感器调试方法、装置、介质及设备。
背景技术
伴随着互联网技术的发展,手机、平板等设备的智能化程度越来越高,这离不开众多丰富的传感器(sensor)芯片的作用。而传感器的用户效果则直接影响到了智能设备的使用,所以对传感器的用户效果调试是一项必不可少的工作。
开发人员通常需要修改传感器底层软件驱动来对传感器性能效果进行调试,以满足项目的要求。例如修改光感传感器驱动中的光感设置满足其上报的数据和光照计的的差值不超过20%;修改距离传感器驱动的远近门限值以达到在特定距离亮、灭屏的需求等。以往的项目中,传感器是挂载在cpu下运行的,因此开发人员可以直接在用户界面调用驱动中的调试接口,对传感器的相关软件配置进行修改,进而完成对传感器体验效果的调试。但是基于MTK(联发科)的许多项目传感器模块都是hub(多端转发器)架构,此架构是一个独立的子系统,故传感器和cpu之间需要通过共享内存的方式进行通讯,这就使得cpu的调试命令无法直接下发到传感器驱动中,只能通过开发人员修改驱动底层代码来实现。导致基于hub架构的传感器调试难度变大,且调试的过程变得繁琐,每次调试都需要修改驱动代码重新编译,编译时间较长,极大影响了开发效率;另外,若用户想获得更好的手机传感器体验效果,也没有现成的工具直接进行调试。
发明内容
本申请实施例提供一种基于hub架构的传感器调试方法、装置、介质及设备,利用本申请实施例提供的基于hub架构的传感器调试方法,通过建立hub与cpu之间的通讯通道,能够直接获取针对目标传感器的调试参数并写入与调试参数对应的目标数据存储区域中,同时替换历史值,当调试函数被调用时能够直接从目标数据存储区域中获取调试参数,以对目标传感器进行调试,不需要每次调试传感器都通过修改驱动底层代码实现,提升了调试效率。
本申请实施例一方面提供了一种基于hub架构的传感器调试方法,所述基于hub架构的传感器调试方法包括:
接收针对目标传感器的参数修改请求;
根据所述参数修改请求获取所述目标传感器的调试参数;
调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
在本申请实施例所述的基于hub架构的传感器调试方法中,所述接收针对目标传感器的参数修改请求,包括:
判断操作者的身份信息;
根据所述身份信息在UI操作界面上确定相应的参数输入模式;
在与操作者对应的参数输入模式下接收针对目标传感器的参数修改请求。
在本申请实施例所述的基于hub架构的传感器调试方法中,所述判断操作者的身份信息,包括:
根据操作者在UI操作界面提供的登录窗口中输入的触发指令,判断所述操作者的身份信息。
在本申请实施例所述的基于hub架构的传感器调试方法中,在所述对所述目标传感器进行调试之后,所述方法还包括:
获取所述目标传感器的调试结果;
将所述调试结果展示在所述UI操作界面,并向当前操作者提供是否保存调试结果的控件。
在本申请实施例所述的基于hub架构的传感器调试方法中,所述根据所述参数修改请求获取所述目标传感器的调试参数,包括:
通过JNI层接收所述参数修改请求中的调试参数;
通过Hal层将所述JIN层获取的调试参数以命令的形式进行封装,得到能够被Kernel层接收的第一下发指令;
通过所述Kernel层解析所述第一下发指令得到所述调试参数,将所述调试参数进行封装得到能够被hub接收的第二下发指令。
在本申请实施例所述的基于hub架构的传感器调试方法中,所述通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值,包括:
通过所述hub通信接口接收所述第二下发指令,解析所述第二下发指令并判断所述第二下发指令对应的模式类型;
若所述模型类型为调试模式,则确定与所述目标传感器对应的目标驱动;
将所述调试参数写入所述目标驱动的寄存器中并替换历史值。
在本申请实施例所述的基于hub架构的传感器调试方法中,在所述通过所述Kernel层解析所述第一下发指令得到所述调试参数之后,所述方法还包括:
判断所述调试参数是否在预设的数值区间;
若所述调试参数未在所述数值区间中,则通过所述JNI层向UI操作界面发出错误提醒。
相应的,本申请实施例另一方面还提供了一种基于hub架构的传感器调试装置,所述基于hub架构的传感器调试装置包括:
接收模块,用于接收针对目标传感器的参数修改请求;
获取模块,用于根据所述参数修改请求获取所述目标传感器的调试参数;
调用模块,用于调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调试模块,用于调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
相应的,本申请实施例另一方面还提供了一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述的基于hub架构的传感器调试方法。
相应的,本申请实施例另一方面还提供了一种终端设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行如上所述的基于hub架构的传感器调试方法。
本申请实施例提供了一种基于hub架构的传感器调试方法、装置、介质及设备,该方法通过接收针对目标传感器的参数修改请求;根据所述参数修改请求获取所述目标传感器的调试参数;调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。利用本申请实施例提供的基于hub架构的传感器调试方法,通过建立hub与cpu之间的通讯通道,能够直接获取针对目标传感器的调试参数并写入与调试参数对应的目标数据存储区域中,同时替换历史值,当调试函数被调用时能够直接从目标数据存储区域中获取调试参数,以对目标传感器进行调试,不需要每次调试传感器都通过修改驱动底层代码实现,提升了调试效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于hub架构的传感器调试方法的流程示意图。
图2为本申请实施例提供的基于hub架构的传感器调试装置的结构示意图。
图3为本申请实施例提供的基于hub架构的传感器调试装置的另一结构示意图。
图4为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
需要说明的是,以下内容是对本方案背景做出的简单介绍:
本方案主要是围绕“现有基于hub架构的传感器调试难度大,每次调试都需要修改驱动代码重新编译,编译时间较长,影响开发效率”这一技术问题开展的。可以理解的是,伴随着互联网技术的发展,手机、平板等设备的智能化程度越来越高,这离不开众多丰富的传感器(sensor)芯片的作用。而传感器的用户效果则直接影响到了智能设备的使用,所以对传感器的用户效果调试是一项必不可少的工作。
开发人员通常需要修改传感器底层软件驱动来对传感器性能效果进行调试,以满足项目的要求。例如修改光感传感器驱动中的光感设置满足其上报的数据和光照计的的差值不超过20%;修改距离传感器驱动的远近门限值以达到在特定距离亮、灭屏的需求等。以往的项目中,传感器是挂载在cpu下运行的,因此开发人员可以直接在用户界面调用驱动中的调试接口,对传感器的相关软件配置进行修改,进而完成对传感器体验效果的调试。但是基于MTK(联发科)的许多项目传感器模块都是hub(多端转发器)架构,此架构是一个独立的子系统,故传感器和cpu之间需要通过共享内存的方式进行通讯,这就使得cpu的调试命令无法直接下发到传感器驱动中,只能通过开发人员修改驱动底层代码来实现。导致基于hub架构的传感器调试难度变大,且调试的过程变得繁琐,每次调试都需要修改驱动代码重新编译,编译时间较长,极大影响了开发效率;另外,若用户想获得更好的手机传感器体验效果,也没有现成的工具直接进行调试。
为了解决上述技术问题,本申请实施例提供一种基于hub架构的传感器调试方法。利用本申请实施例提供的基于hub架构的传感器调试方法,通过建立hub与cpu之间的通讯通道,能够直接获取针对目标传感器的调试参数并写入与调试参数对应的目标数据存储区域中,同时替换历史值,当调试函数被调用时能够直接从目标数据存储区域中获取调试参数,以对目标传感器进行调试,不需要每次调试传感器都通过修改驱动底层代码实现,提升了调试效率。
请参阅图1,图1为本申请实施例提供的基于hub架构的传感器调试方法的流程示意图。所述基于hub架构的传感器调试方法,应用于终端设备中。可选地,该终端设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电及车载终端等,但并不局限于此。
在一实施例中,所述方法可以包括以下步骤:
步骤101,接收针对目标传感器的参数修改请求。
在本实施例中,利用本方案提供的传感器调试方法,用户可以选择想要的传感器进行参数调试,并且不需要修改传感器对应的驱动底层代码,只需要在相应的UI操作界面上输入针对目标传感器的调试参数即可。例如可以修改光感传感器驱动中的光感设置满足其上报的数据和光照计的的差值不超过20%;或修改距离传感器驱动的远近门限值以达到在特定距离亮、灭屏的需求等。
以光感传感器参数调试为例,首先用户在UI操作界面选择光感传感器对应的“调试控件”之后,然后进一步选择UI操作界面弹出的“参数优化控件”确认操作目的,此时会在UI操作界面上弹出输入框供用户写入调试参数。
为了让传感器参数调试操作不仅限于开发人员,使得产品用户也可以根据自己的需求进行参数调试。在一些实施例中,可以设置两套不同的操作模式分别对应开发人员和产品用户。通过先判断操作者的身份信息,根据身份信息在UI操作界面上确定相应的参数输入模式,在与操作者对应的参数输入模式下接收针对目标传感器的参数修改请求。
示例性地,如果是开发人员,可以在UI操作界面选择光感传感器对应的“调试控件”之后,然后进一步选择UI操作界面弹出的“参数优化控件”确认操作目的,通过输入框写入参数值;如果是终端用户,为了防止操作误写,将提供SeekBar(拖动条)组件直接定性修改对应的参数值,此时是通过重写onStopTrackingTouch函数来实现对驱动中光感传感器参数进行修改的。
需要说明的是,本方案可以根据操作者在UI操作界面提供的登录窗口中输入的触发指令,判断操作者的身份信息。例如设定触发指令xxa对应开发人员,触发指令xx1对应产品用户。
步骤102,根据所述参数修改请求获取所述目标传感器的调试参数。
需要解释的是,物理层、hub架构及核心层之间的数据格式不是通用的,通常需要在下发数据给下层之前进行数据格式转换。
调试参数指的是针对目标传感器的指定功能进行修改的内容。例如需要调试距离传感器的方向,可以在输入框中输入char function=directionDebug,dat a=0,这里的0表示距离传感器8个方向中的一个(0-7)。function和data是接口的参数,分别代表函数和数据。
在本实施例中,通过JNI(Java原生接口)层接收参数修改请求中的调试参数;以光感传感器为例,首先,在vendor目录下的com_mediatek_sensorhu b_sensor.cpp文件中,添加对应的接口:Java_com_mediatek_sensorhub_sensor_EmSensor_doLightPerfomanceDebugging(),其中的形参分别为调试光感传感器的fuction和对应的data。为了提高接口的复用性,可以传入特殊参数供底层驱动解读,例如调试ok的指令可以强制使形参值为0。
通过Hal(硬件抽象)层将JIN层获取的调试参数以命令的形式进行封装,得到能够被Kernel(内核)层接收的第一下发指令;在Hfmanager.cpp中添加函数接口:performanccedebug(int sensor,void*data,size_t length),主要是将调试的fuction和data以命令的形式封装写到底层。函数中定义一个宏cmd:HF_MANAGER_SENSOR_PERFORMANCE_DEBUG供kernel层识别。
通过Kernel层解析第一下发指令得到所述调试参数,将调试参数进行封装得到能够被hub接收的第二下发指令。Kernel层主要需要维护2个文件,一个是hf_manager.c,承接了hall层下发的指令,另一个是mtk_nanohub.c,负责转发对应的指令到hub。在hf_manager.c中的hf_manager_ioctl函数中,添加对hall层下发的cmd指令的解析,得到对应的fuction和data;在mtk_nanohub.c中添加mtk_nanohub_pefordebug_to_hub(uint8_tsensor_id,uint8_t*data,uint8_t count),其中data中存储了要下发到驱动中的调试值。在hub平台文件中,封装了对应的调试值,以完成数据到驱动侧的转发。
在一些实施例中,通过Kernel层解析第一下发指令得到调试参数之后,该方法还包括以下步骤:
判断调试参数是否在预设的数值区间;若述调试参数未在数值区间中,则通过JNI层向UI操作界面发出错误提醒。
当输入的参数底层驱动判断不在合法区间时,会返回错误值,此时UI操作界面会弹框提示输入不合法,并判断此时调试的功能在输入框中赋值给出范例输入的提示。
步骤103,调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值。
其中,通过hub通信接口(XXX_als_receive_event()函数)接收第二下发指令,解析第二下发指令并判断第二下发指令对应的模式类型;
若模型类型为调试模式(解析数据不为0),则确定与目标传感器对应的目标驱动;将调试参数写入目标驱动的寄存器中并替换历史值;
若模型类型为工作模式(解析数据为0),则继续保持目标传感器的工作状态。
步骤104,调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
其中,当判断是对传感器效果调试的指令时,驱动读取当前模式下的寄存器中的值并保存在一个全局结构体中,并切换为调试模式,调用对应的函数接口完成对传感器指定寄存器的修改操作;当调试完成的指令下发时(解析数据为0),则切换为正常的工作模式,并更新对应的寄存器表。
综上,通过建立hub与cpu之间的通讯通道,能够直接获取针对目标传感器的调试参数并写入与调试参数对应的目标数据存储区域中,同时替换历史值,当调试函数被调用时能够直接从目标数据存储区域中获取调试参数,以对目标传感器进行调试,不需要每次调试传感器都通过修改驱动底层代码实现,提升了调试效率。
在一些实施例中,对目标传感器进行调试之后,该方法还包括以下步骤:
获取目标传感器的调试结果;将调试结果展示在UI操作界面,并向当前操作者提供是否保存调试结果的控件。
为了查看实时的效果,会先获取传感器调试结果服务,注册数据监听器,并重写onSensorChanged来获得传感器调试结果数据,获得的数据通过一个Textview展示,当确认调试的寄存器和值之后,可以观察此时的sensor rawdata数据是否有显著的变化;为了更直观表现是否调试成功,此时UI操作界面会通过一个Textview展示调用JNI层接口返回的值,以此提示操作是否成功。
调试完成之后,提供2个button对调试效果进行保存或者放弃,可以点击保存设置按钮,此时在按钮触发函数中调用doLightPerfomanceDebugging(0,0)来下发保存;或者点击放弃按钮,此时调用doLightPerfomanceDebugging(-1,-1)来恢复原有的寄存器设置。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的基于hub架构的传感器调试方法通过接收针对目标传感器的参数修改请求;根据所述参数修改请求获取所述目标传感器的调试参数;调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。利用本申请实施例提供的基于hub架构的传感器调试方法,通过建立hub与cpu之间的通讯通道,能够直接获取针对目标传感器的调试参数并写入与调试参数对应的目标数据存储区域中,同时替换历史值,当调试函数被调用时能够直接从目标数据存储区域中获取调试参数,以对目标传感器进行调试,不需要每次调试传感器都通过修改驱动底层代码实现,提升了调试效率。
本申请实施例还提供一种基于hub架构的传感器调试装置,所述基于hub架构的传感器调试装置可以集成在终端设备中。
请参阅图2,图2为本申请实施例提供的基于hub架构的传感器调试装置的结构示意图。基于hub架构的传感器调试装置30可以包括:
接收模块31,用于接收针对目标传感器的参数修改请求;
获取模块32,用于根据所述参数修改请求获取所述目标传感器的调试参数;
调用模块33,用于调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调试模块34,用于调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
在一些实施例中,所述接收模块31,用于判断操作者的身份信息;根据所述身份信息在UI操作界面上确定相应的参数输入模式;在与操作者对应的参数输入模式下接收针对目标传感器的参数修改请求。
在一些实施例中,所述接收模块31,用于根据操作者在UI操作界面提供的登录窗口中输入的触发指令,判断所述操作者的身份信息。
在一些实施例中,所述装置还包括提示模块,用于获取所述目标传感器的调试结果;将所述调试结果展示在所述UI操作界面,并向当前操作者提供是否保存调试结果的控件。
在一些实施例中,所述获取模块32,用于通过JNI层接收所述参数修改请求中的调试参数;通过Hal层将所述JIN层获取的调试参数以命令的形式进行封装,得到能够被Kernel层接收的第一下发指令;通过所述Kernel层解析所述第一下发指令得到所述调试参数,将所述调试参数进行封装得到能够被hub接收的第二下发指令。
在一些实施例中,所述调用模块33,用于通过所述hub通信接口接收所述第二下发指令,解析所述第二下发指令并判断所述第二下发指令对应的模式类型;若所述模型类型为调试模式,则确定与所述目标传感器对应的目标驱动;将所述调试参数写入所述目标驱动的寄存器中并替换历史值。
在一些实施例中,所述装置还包括判断模块,用于判断所述调试参数是否在预设的数值区间;若所述调试参数未在所述数值区间中,则通过所述JNI层向UI操作界面发出错误提醒。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。
由上可知,本申请实施例提供的基于hub架构的传感器调试装置30,其中接收模块31用于接收针对目标传感器的参数修改请求;获取模块32用于根据所述参数修改请求获取所述目标传感器的调试参数;调用模块33用于调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;调试模块34用于调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
请参阅图3,图3为本申请实施例提供的基于hub架构的传感器调试装置的另一结构示意图,基于hub架构的传感器调试装置30包括存储器120、一个或多个处理器180、以及一个或多个应用程序,其中该一个或多个应用程序被存储于该存储器120中,并配置为由该处理器180执行;该处理器180可以包括接收模块31、获取模块32、调用模块33以及调试模块34。例如,以上各个部件的结构和连接关系可以如下:
存储器120可用于存储应用程序和数据。存储器120存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器180通过运行存储在存储器120的应用程序,从而执行各种功能应用以及数据处理。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180对存储器120的访问。
处理器180是装置的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的应用程序,以及调用存储在存储器120内的数据,执行装置的各种功能和处理数据,从而对装置进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
具体在本实施例中,处理器180会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器120中,并由处理器180来运行存储在存储器120中的应用程序,从而实现各种功能:
接收指令,用于接收针对目标传感器的参数修改请求;
获取指令,用于根据所述参数修改请求获取所述目标传感器的调试参数;
调用指令,用于调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调试指令,用于调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
在一些实施例中,所述接收指令,用于判断操作者的身份信息;根据所述身份信息在UI操作界面上确定相应的参数输入模式;在与操作者对应的参数输入模式下接收针对目标传感器的参数修改请求。
在一些实施例中,所述接收指令,用于根据操作者在UI操作界面提供的登录窗口中输入的触发指令,判断所述操作者的身份信息。
在一些实施例中,所述程序还包括提示指令,用于获取所述目标传感器的调试结果;将所述调试结果展示在所述UI操作界面,并向当前操作者提供是否保存调试结果的控件。
在一些实施例中,所述获取指令,用于通过JNI层接收所述参数修改请求中的调试参数;通过Hal层将所述JIN层获取的调试参数以命令的形式进行封装,得到能够被Kernel层接收的第一下发指令;通过所述Kernel层解析所述第一下发指令得到所述调试参数,将所述调试参数进行封装得到能够被hub接收的第二下发指令。
在一些实施例中,所述调用指令,用于通过所述hub通信接口接收所述第二下发指令,解析所述第二下发指令并判断所述第二下发指令对应的模式类型;若所述模型类型为调试模式,则确定与所述目标传感器对应的目标驱动;将所述调试参数写入所述目标驱动的寄存器中并替换历史值。
在一些实施例中,所述程序还包括判断指令,用于判断所述调试参数是否在预设的数值区间;若所述调试参数未在所述数值区间中,则通过所述JNI层向UI操作界面发出错误提醒。
本申请实施例还提供一种终端设备。所述终端设备可以是服务器、智能手机、电脑、平板电脑等设备。
请参阅图4,图4示出了本申请实施例提供的终端设备的结构示意图,该终端设备可以用于实施上述实施例中提供的基于hub架构的传感器调试方法。该终端设备1200可以为电视机或智能手机或平板电脑。
如图4所示,终端设备1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图4中示出的终端设备1200结构并不构成对终端设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。
存储器120可用于存储软件程序以及模块,如上述实施例中基于hub架构的传感器调试方法对应的程序指令/模块,处理器180通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据处理,可以根据终端设备所处的当前场景来自动选择振动提醒模式来进行基于hub架构的传感器调试,既能够保证会议等场景不被打扰,又能保证用户可以感知来电,提升了终端设备的智能性。存储器120可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器120可进一步包括相对于处理器180远程设置的存储器,这些远程存储器可以通过网络连接至终端设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触控显示屏或者触控板,可收集用户在其上或附近的触控操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触控检测装置和触控控制器两个部分。其中,触控检测装置检测用户的触控方位,并检测触控操作带来的信号,将信号传送给触控控制器;触控控制器从触控检测装置上接收触控信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触控操作后,传送给处理器180以确定触控事件的类型,随后处理器180根据触控事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备1200的通信。
终端设备1200通过传输模块170(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了传输模块170,但是可以理解的是,其并不属于终端设备1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备1200还包括给各个部件供电的电源190,在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1200还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备1200的显示单元140是触控屏显示器,终端设备1200还包括有存储器120,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器120中,且经配置以由一个或者一个以上处理器180执行一个或者一个以上程序包含用于进行以下操作的指令:
接收指令,用于接收针对目标传感器的参数修改请求;
获取指令,用于根据所述参数修改请求获取所述目标传感器的调试参数;
调用指令,用于调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调试指令,用于调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
在一些实施例中,所述接收指令,用于判断操作者的身份信息;根据所述身份信息在UI操作界面上确定相应的参数输入模式;在与操作者对应的参数输入模式下接收针对目标传感器的参数修改请求。
在一些实施例中,所述接收指令,用于根据操作者在UI操作界面提供的登录窗口中输入的触发指令,判断所述操作者的身份信息。
在一些实施例中,所述程序还包括提示指令,用于获取所述目标传感器的调试结果;将所述调试结果展示在所述UI操作界面,并向当前操作者提供是否保存调试结果的控件。
在一些实施例中,所述获取指令,用于通过JNI层接收所述参数修改请求中的调试参数;通过Hal层将所述JIN层获取的调试参数以命令的形式进行封装,得到能够被Kernel层接收的第一下发指令;通过所述Kernel层解析所述第一下发指令得到所述调试参数,将所述调试参数进行封装得到能够被hub接收的第二下发指令。
在一些实施例中,所述调用指令,用于通过所述hub通信接口接收所述第二下发指令,解析所述第二下发指令并判断所述第二下发指令对应的模式类型;若所述模型类型为调试模式,则确定与所述目标传感器对应的目标驱动;将所述调试参数写入所述目标驱动的寄存器中并替换历史值。
在一些实施例中,所述程序还包括判断指令,用于判断所述调试参数是否在预设的数值区间;若所述调试参数未在所述数值区间中,则通过所述JNI层向UI操作界面发出错误提醒。
本申请实施例还提供一种终端设备。所述终端设备可以是智能手机、电脑等设备。
由上可知,本申请实施例提供了一种终端设备1200,所述终端设备1200执行以下步骤:
接收针对目标传感器的参数修改请求;
根据所述参数修改请求获取所述目标传感器的调试参数;
调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的基于hub架构的传感器调试方法。
需要说明的是,对本申请所述基于hub架构的传感器调试方法而言,本领域普通测试人员可以理解实现本申请实施例所述基于hub架构的传感器调试方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,如存储在终端设备的存储器中,并被该终端设备内的至少一个处理器执行,在执行过程中可包括如所述基于hub架构的传感器调试方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述基于hub架构的传感器调试装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的基于hub架构的传感器调试方法、装置、介质及设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于hub架构的传感器调试方法,其特征在于,包括:
接收针对目标传感器的参数修改请求;
根据所述参数修改请求获取所述目标传感器的调试参数;
调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
2.如权利要求1所述的传感器调试方法,其特征在于,所述接收针对目标传感器的参数修改请求,包括:
判断操作者的身份信息;
根据所述身份信息在UI操作界面上确定相应的参数输入模式;
在与操作者对应的参数输入模式下接收针对目标传感器的参数修改请求。
3.如权利要求2所述的传感器调试方法,其特征在于,所述判断操作者的身份信息,包括:
根据操作者在UI操作界面提供的登录窗口中输入的触发指令,判断所述操作者的身份信息。
4.如权利要求1所述的传感器调试方法,其特征在于,在所述对所述目标传感器进行调试之后,所述方法还包括:
获取所述目标传感器的调试结果;
将所述调试结果展示在所述UI操作界面,并向当前操作者提供是否保存调试结果的控件。
5.如权利要求3所述的传感器调试方法,其特征在于,所述根据所述参数修改请求获取所述目标传感器的调试参数,包括:
通过JNI层接收所述参数修改请求中的调试参数;
通过Hal层将所述JIN层获取的调试参数以命令的形式进行封装,得到能够被Kernel层接收的第一下发指令;
通过所述Kernel层解析所述第一下发指令得到所述调试参数,将所述调试参数进行封装得到能够被hub接收的第二下发指令。
6.如权利要求5所述的传感器调试方法,其特征在于,所述通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值,包括:
通过所述hub通信接口接收所述第二下发指令,解析所述第二下发指令并判断所述第二下发指令对应的模式类型;
若所述模型类型为调试模式,则确定与所述目标传感器对应的目标驱动;
将所述调试参数写入所述目标驱动的寄存器中并替换历史值。
7.如权利要求5所述的传感器调试方法,其特征在于,在所述通过所述Kernel层解析所述第一下发指令得到所述调试参数之后,所述方法还包括:
判断所述调试参数是否在预设的数值区间;
若所述调试参数未在所述数值区间中,则通过所述JNI层向UI操作界面发出错误提醒。
8.一种基于hub架构的传感器调试装置,其特征在于,包括:
接收模块,用于接收针对目标传感器的参数修改请求;
获取模块,用于根据所述参数修改请求获取所述目标传感器的调试参数;
调用模块,用于调用连接所述目标传感器的hub通信接口,通过所述hub通信接口获取所述调试参数写入所述调试参数对应的目标数据存储区域中并替换历史值;
调试模块,用于调用调试函数从所述目标数据存储区域中获取所述调试参数,以对所述目标传感器进行调试。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-7任一项所述的基于hub架构的传感器调试方法。
10.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行权利要求1-7任一项所述的基于hub架构的传感器调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310251759.6A CN117407273A (zh) | 2023-03-14 | 2023-03-14 | 基于hub架构的传感器调试方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310251759.6A CN117407273A (zh) | 2023-03-14 | 2023-03-14 | 基于hub架构的传感器调试方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407273A true CN117407273A (zh) | 2024-01-16 |
Family
ID=89491443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310251759.6A Pending CN117407273A (zh) | 2023-03-14 | 2023-03-14 | 基于hub架构的传感器调试方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407273A (zh) |
-
2023
- 2023-03-14 CN CN202310251759.6A patent/CN117407273A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142711B (zh) | 一种固件配置方法、装置、存储介质及移动终端 | |
CN108549519B (zh) | 分屏处理方法、装置、存储介质和电子设备 | |
CN108039963B (zh) | 一种容器配置方法、装置及存储介质 | |
US20160314219A1 (en) | Method and apparatus for invoking application programming interface | |
CN108958606B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN108681427B (zh) | 一种访问权限控制的方法及终端设备 | |
CN113613064B (zh) | 视频处理方法、装置、存储介质及终端 | |
CN108984142B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN111557097B (zh) | 一种虚拟遥控器中电源键的控制方法及终端 | |
CN112749074B (zh) | 一种测试用例推荐方法以及装置 | |
CN111966491A (zh) | 统计占用内存的方法及终端设备 | |
CN112199246A (zh) | 终端测试方法、装置、存储介质及移动终端 | |
CN110245017B (zh) | 资源标识的分配方法和设备 | |
CN116594616A (zh) | 一种组件配置方法、装置及计算机可读存储介质 | |
CN115828845A (zh) | 多媒体数据查看方法、装置、介质及设备 | |
CN117407273A (zh) | 基于hub架构的传感器调试方法、装置、介质及设备 | |
CN112035180A (zh) | 一种自动化实例加载方法、装置、电子设备及存储介质 | |
CN106681845B (zh) | 一种管理通讯消息的方法和装置 | |
CN108280798B (zh) | 一种浏览器内核渲染显示的方法和装置 | |
CN112667868A (zh) | 一种数据检测方法以及装置 | |
CN116582585B (zh) | 消息推送方法、装置、介质及设备 | |
CN110618798A (zh) | 多屏显示的方法、多屏装置、存储介质及终端设备 | |
CN115237317B (zh) | 数据展示方法、装置、电子设备及存储介质 | |
CN112565284B (zh) | 对应用程序内组件的访问控制方法、装置和电子设备 | |
CN114064447B (zh) | 界面测试方法、装置、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |