CN116089109B - 计步数据的传输方法和相关装置 - Google Patents
计步数据的传输方法和相关装置 Download PDFInfo
- Publication number
- CN116089109B CN116089109B CN202210600427.XA CN202210600427A CN116089109B CN 116089109 B CN116089109 B CN 116089109B CN 202210600427 A CN202210600427 A CN 202210600427A CN 116089109 B CN116089109 B CN 116089109B
- Authority
- CN
- China
- Prior art keywords
- instruction
- layer
- step counting
- counting data
- pedometer
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/543—Local
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Telephone Function (AREA)
Abstract
本申请提供的计步数据的传输方法和相关装置,通过应用程序层向系统框架层发送第一指令,第一指令用于使能计步器;系统框架层根据第一指令向硬件抽象层发送第二指令,第二指令为批处理命令;硬件抽象层根据第二指令向内核层发送第三指令;内核层向传感器集线器层发送第三指令;传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据。由于将计步器不能响应的批处理命令转化为刷新命令,使得计步器能够响应于应用程序层的应用的请求从而上报计步数据,不但提升了运动数据统计的准确性,同时也让用户掌握自己的真实的实时运动数据,提升用户的体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种计步数据的传输方法和相关装置。
背景技术
随着社会的发展,人们对身体健康状况愈发关注,对电子设备或可穿戴设备的运动检测功能有了更高的要求。电子设备或可穿戴设备可以通过传感器检测运动数据,应用程序可以调取这些运动数据并显示,例如步数、步频等。其中,计步器作为记录步数变化的传感器,会持续的记录用户的运动步数。
目前,电子设备中的应用程序显示的计步数据会出现与计步器所计步数不符的情况,即电子设备中的应用程序为用户呈现的计步数据不准确。
因此,如何提高电子设备为用户呈现的计步数据的准确性,成为亟待解决的技术问题。
发明内容
本申请提供一种计步数据的传输方法、装置、电子设备、存储介质和程序产品,用以解决现有技术中应用程序为用户呈现的计步数据不准确的技术问题。
第一方面,本申请提供一种计步数据的传输方法,方法应用于终端设备中,终端设备中包含应用程序层、系统框架层、硬件抽象层、内核层和传感器集线器层,传感器集线器中包含计步器驱动,方法包括:应用程序层向系统框架层发送第一指令,第一指令用于使能计步器;系统框架层根据第一指令向硬件抽象层发送第二指令,第二指令为批处理命令;硬件抽象层根据第二指令向内核层发送第三指令;内核层向传感器集线器层发送第三指令;传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据。
本申请提供的方法,通过让硬件抽象层(hal层)的传感器(sensor)模块将应用通过标准通路下发的计步数据请求命令转化为刷新(flush)命令,使得位于传感器集线器层(sensorhub层)的计步器驱动能够感知到应用所发送的计步数据请求命令,从而向该应用上报当前的计步数据,打通了应用程序层到传感器集线器层(sensorhub层)的计步器实时计步数据的请求通路,并在不改变计步器的上报策略的前提下,使其能响应应用程序层的应用的实时计步数据请求;提升了运动数据统计的准确性,同时让用户掌握自己的真实的实时运动数据,提升用户的体验。
在一种可能的实现方式中,硬件抽象层根据第二指令向内核层发送第三指令,包括:硬件抽象层判断第二指令是否为请求计步数据的指令;若第二指令为请求计步数据的指令,则硬件抽象层根据第二指令向内核层发送第三指令。
本申请提供的方法,通过在硬件抽象层执行命令的传感器类型判断,当是计步器类型的命令时,才执行命令转化操作,减少其他类型传感器的命令的转化;有效节约系统资源,加快指令转换效率,提升计步器响应应用的速度。
在一种可能的实现方式中,硬件抽象层根据第二指令向内核层发送第三指令,包括:硬件抽象层响应于第二指令向内核层发送第三指令。
本申请提供的方法,通过在硬件抽象层执行命令的传感器类型判断,当是计步器类型的命令时,跳过该命令的时间周期参数判断,使得每一次的命令都能够被下发。因此,应用的每一次计步数据的请求命令都能够被响应,使得应用能够持续获取计步器的计步数据,使得应用的数据呈现图更精确的反应用户在各时间阶段的运动数据,显著提升用户体验。
在一种可能的实现方式中,传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据,包括:传感器集线器层基于第三指令获取计步器驱动中当前记录的第一计步数据;传感器集线器层判断第一计步数据与上一次从计步器驱动中获取的第二计步数据是否相同;若第一计步数据与第二计步数据不同,则传感器集线器层向内核层发送第一计步数据。
本申请提供的方法,通过在传感器集线器层的计步器驱动中设置步数上报规则,仅当步数发生变化时才上报当前次步数,减少计步数据上报通路的频繁调用,减少系统因频繁进行无效数据上报造成的资源浪费,提升系统资源的利用效率。
第二方面,本申请提供一种计步数据的传输方法,方法应用于终端设备中,终端设备中包含应用程序层、系统框架层、硬件抽象层、内核层和传感器集线器层,传感器集线器中包含计步器驱动,方法包括:应用程序层向系统框架层发送第一指令,第一指令用于使能计步器;系统框架层根据第一指令向硬件抽象层发送第二指令,第二指令为批处理命令;硬件抽象层向内核层发送第二指令;内核层根据第二指令向传感器集线器层发送第三指令;传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据。
在一种可能的实现方式中,硬件抽象层向内核层发送第二指令,包括:硬件抽象层判断第二指令是否为请求计步数据的指令;若第二指令为请求计步数据的指令,则硬件抽象层向内核层发送第二指令。
在一种可能的实现方式中,硬件抽象层向内核层发送第二指令,包括:硬件抽象层响应于第二指令向内核层发送第二指令。
在一种可能的实现方式中,传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据,包括:传感器集线器层基于第三指令获取计步器驱动中当前记录的第一计步数据;传感器集线器层判断第一计步数据与上一次从计步器驱动中获取的第二计步数据是否相同;若第一计步数据与第二计步数据不同,则传感器集线器层向内核层发送第一计步数据。
第三方面,本申请提供一种计步数据的传输装置,包括:指令发送模块:用于应用程序层的应用发送第一命令,第一指令用于使能计步器;指令转换模块:用于系统框架层根据第一指令向硬件抽象层发送第二指令,第二指令为批处理命令;硬件抽象层根据第二指令向内核层发送第三指令;内核层向传感器集线器层发送第三指令;计步数据上报模块:用于传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据。
可选地,该装置可以是计算设备,也可以是能够应用在计算设备的芯片。
第四方面,本申请提供一种计步数据的传输装置,包括:指令发送模块:用于应用程序层向系统框架层发送第一指令,第一指令用于使能计步器;指令转换模块:用于系统框架层根据第一指令向硬件抽象层发送第二指令,第二指令为批处理命令;硬件抽象层向内核层发送第二指令;内核层根据第二指令向传感器集线器层发送第三指令;计步数据上报模块:用于传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据。
可选地,该装置可以是计算设备,也可以是能够应用在计算设备的芯片。
第五方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现第一方面或第二方面的计步数据的传输方法。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现第一方面或第二方面的计步数据的传输方法。
第七方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面的计步数据的传输方法。
本申请提供的计步数据的传输方法和相关装置,通过应用程序层向系统框架层发送第一指令,第一指令用于使能计步器;系统框架层根据第一指令向硬件抽象层发送第二指令,第二指令为批处理命令;硬件抽象层根据第二指令向内核层发送第三指令;内核层向传感器集线器层发送第三指令;传感器集线器层基于第三指令向内核层发送计步器驱动中记录的计步数据。由于将计步器不能响应的批处理命令转化为刷新命令,使得计步器能够响应于应用程序层的应用的请求从而上报计步数据,不但提升了运动数据统计的准确性,同时也让用户掌握自己的真实的实时运动数据,提升用户的体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一实施例提供的一种电子设备的结构示意图;
图2为本申请一实施例提供的一种电子设备的软件结构框图;
图3为本申请一实施例提供的一种应用场景下的图形用户界面图;
图4为本申请一实施例提供的另一种应用场景下的图形用户界面图;
图5为本申请一实施例提供的一种计步数据的传输方法流程示意图;
图6为本申请一实施例提供的另一种计步数据的传输方法流程示意图;
图7为本申请一实施例提供的另一种计步数据的传输方法流程示意图;
图8为本申请一实施例提供的另一种计步数据的传输方法流程示意图;
图9为本申请一实施例提供的另一种计步数据的传输方法流程示意图;
图10为本申请一实施例提供的计步数据的传输装置结构示意图;
图11为本申请一实施例提供的另一种计步数据的传输装置结构示意图;
图12为本申请一实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例提供的技术方案可以应用于能够通过应用呈现计步器所统计的步数的电子设备。本申请实施例对电子设备的具体类型不作任何限制。
例如,本申请的技术方案可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备中。
本申请实施例提供的技术方案,可以使电子设备的计步器能够根据运动应用的步数上报请求实时的上报用户的步数,从而能够准确的给用户提供实时运动数据,进而可以提高用户对电子设备的功能满意度。
作为示例,图1是本申请实施例提供的一例电子设备的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulsecode modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合加速度传感器180E,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合加速度传感器180E,使处理器110与加速度传感器180E通过I2C总线通信,实现电子设备100的计步器功能。
例如,本申请实施例中,处理器110可以通过I2C接口耦合加速度传感器180E,使处理器110与加速度传感器180E通过I2C总线接口通信,当用户携带电子设备运动时,该加速度传感器180E可以将用户运动所产生的步数传递给处理器110,以实现运动数据的上报功能。与此同时,处理器110还可以根据加速度传感器180E上报的用户步数信息控制显示屏194上的界面显示,处理器110和显示屏194通过DSI接口通信,进而控制电子设备100的显示屏194上步数信息的数据显示。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。该显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlightemitting diodes,QLED)等。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。视频编解码器用于对数字视频压缩或解压缩。外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定电子设备100的运动姿态。气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
另外,在本申请实施例中,可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一项功能,需要和其他设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
在本申请实施例中,电子设备的计步器(例如,但不限于,加速度传感器180E等)检测用户的运动步数变化,并根据运动应用的请求上报步数,处理器根据用户步数的变化,控制显示屏上运动数据的显示。
本领域技术人员可以理解,本申请实施例提供的运动数据的传输方法,可以应用于对运动数据进行请求传输并显示的场景中。下面,以安卓(Android)系统为例,示例性的说明运动数据的传输过程。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。如图2所示为本申请实施例提供的电子设备100的软件结构框图。分层架构可将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层(简称应用层),系统框架层(简称框架层),硬件抽象层(也称为hal层),内核层(也称为驱动层或kernel层),以及传感集线器层(也称为sensorhub层)。
应用层可以包括一系列的应用程序。
系统框架层为应用程序层的应用程序提供应用编程接口(a pplicationprogramming interface,API)和编程框架。系统框架层包括一些预先定义的函数。
硬件抽象层(hal层)为操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化,隐藏特定平台的硬件接口细节,为操作系统提供虚拟硬件平台。
内核层(kernel层)为电子设备的各种硬件提供底层的驱动。
传感器集线器层(sensorhub层)为一种基于低功耗微控单元(microcontrollerunit,MCU)和轻量级实时操作系统(real-time operating system,RTOS)之上的软硬件结合的解决方案,其主要功能是连接并处理来自各传感器设备的数据。
需要说明的是,本申请实施例虽然以安卓(Android)系统为例进行说明,但是其基本原理同样适用于基于“IOS”或“Windows”等操作系统的电子设备。
本申请实施例提供的一种应用场景中,用户在手机中部署运动健康应用,并在运动的过程中携带该手机。用户的运动可以包括但不限于:快走、慢跑、变速跑或其它类型的运动。
用户的运动过程中,手机中的计步器(例如,不但不限于,加速度传感器等)可以实时的获取用户在运动过程中的步数,并将该步数传输至运动健康应用。运动健康应用通过用户界面或者语音播报的方式输出该步数;或,运动健康应用基于该步数计算用户当前步频,并通过用户界面或者语音播报的方式输出该步频。
图3为应用呈现计步器所统计的数据的一种场景。如图3所示,(a)图的用户界面301包含应用的数据呈现框图31,该框图31为应用通过用户界面显示用户运动步数的一个示例;(b)图的用户界面302包含应用的数据呈现框图32,该框图32为应用通过用户界面显示用户运动步频的一个示例。
以电子设备的系统架构为图2所示的系统架构为例,介绍应用与计步器之间的计步数据的传输方法。下面,以运动数据为步频为例进行说明,对于其他的运动数据,实现过程和原理与运动数据为步频时的实现过程类似,此处不再赘述。下面,以电子设备100是手机为例进行说明,对于使用其他类型的电子设备(例如,但不限于,智能手表、平板电脑等),实现过程和原理与前述使用手机的实现过程类似,此处不再赘述。
用户打开运动健康应用的户外运动模式时,该应用想要实时获取当前步数,会周期性的下发使能(enable)命令,经过标准通路到达系统框架层。
系统框架层的传感器管理组件(sensor manage)服务检测到运动健康应用的使能(enable)命令后,会根据计步器当前的状态作出判断。若计步器当前的状态为使能状态(例如在此之前已有其他应用在使用该计步器),则系统框架层将该次使能(enable)指令转换为批处理(batch)命令,并下发至硬件抽象层(hal层)。
硬件抽象层(hal层)的传感器(sensor)模块收到框架层下发的批处理(batch)命令后,先进行类型判断。若该批处理(batch)命令为计步器类型的批处理(batch)命令,则判断该批处理(batch)命令中设置的时间周期参数与上一次接收到的批处理(batch)命令中设置的时间周期参数是否发生变化。若发生了变化,则会下发当前的批处理(batch)命令;若未发生变化,则拦截该次批处理(batch)命令。即后续的批处理(batch)命令相对于第一次的批处理(batch)命令的时间周期参数未发生变化时,仅第一次批处理(batch)命令会真正下发。
内核层(kernel层)接收到前述硬件抽象层(hal层)下发的命令后,会将该命令继续下发给传感器集线器层(sensorhub层)。
传感器集线器层(sensorhub层)中的计步器驱动接收该批处理(batch)命令后并不会返回当前的运动步数数据。
换言之,在目前的平台上,计步器不会响应应用通过标准通路下发的批处理(batch)命令而进行计步数据的上报;即计步器是根据其他的规则(例如,用户点亮手机屏幕)进行计步数据上报,应用再调取该已上报的计步数据进行步数或步频的呈现。
因此,应用所呈现的计步数据会存在不准确的问题。例如图4所示,(a)图所示的用户界面图401中包含应用的步频呈现图41,如步频呈现图41所示,用户在启动手机中运动健康应用进行运动过程中,由于该应用的计步数据请求无法被手机中的计步器所响应,该步频呈现图41仅能呈现根据前5分钟内计步器主动上报的计步数据进行步频的展示,在后续用户运动过程中,例如,手机灭屏的情况下,计步器不再上报计步数据,导致应用无法获取后续的实时或周期性的计步数据,从而无法正确显示用户运动过程中的步频信息。
为解决上述问题,本申请提出了一种计步数据的传输方法和相关装置的技术方案。通过在硬件抽象层(hal层)或内核层(kernel层)将系统框架层中下发的批处理(batch)命令转化为刷新(flush)命令,并使传感器集线器层(sensorhub层)中的计步器接收该刷新(flush)命令命令后,返回计步器当前次的步数数据。从而使得应用能够通过发起计步数据请求命令而实时或周期性获取用户当前的计步数据,并在运动数据中显示,如图4中(b)图所示,用户界面图402中包含应用的步频呈现图42,通过本申请的技术方案在不改变计步器整体上报策略的前提下打通应用层到传感器集线器层(sensorhub层)的计步器实时刷新步数的请求通路,让传感器集线器层(sensorhub层)感知应用层的应用的实时读取步数请求;同时可以让运动健康应用实时或周期性获取用户的计步数据从而展示步数或步频信息,提供运动数据统计的准确性,让用户掌握自己的真实的实时运动数据,提升用户体验。
图5为本申请实施例提供的一种计步数据的传输方法的示意性流程图,该方法可以使用如图1、图2所示的电子设备(例如手机、智能手表等)实现图3或图4中(b)图所示场景中向用户展示运动数据的功能。需要说明的是,虽然本申请的实施例中,以特定顺序呈现了方法的各个步骤,但是可以在不同的实施例中改变步骤的顺序,并且在一些实施例中,可以同时执行在本说明书中按顺序示出的一个或多个步骤。如图5所示,该方法可以包括以下步骤:
S510,应用发送计步数据请求命令。
可选地,应用可以是运动健康应用,也可以是其他类型的请求计步器的计步数据的应用。
可选地,计步数据请求命令可以是使能/去使能(enable/disable)命令。作为示例,计步器接收到应用首先向其发送的使能(enable)命令,该命令用于启动计步器,根据使能(enable)命令后,计步器可以向应用发送当前次的运动数据,应用接收该运动数据后,计步器接收到应用向其发送的使能(enable)命令,该命令用于禁用或者关闭计步器,从而为下一次获取计步器的运动数据做准备。前述命令的获取和作用方式仅是示例,本申请在此处不作限定。
在一种可能的实现方式中,响应于用户开启运动健康应用的户外运动模式操作,该应用发送使能/去使能(enable/disable)命令。
S520,系统框架层的传感器管理组件(sensor manage)接收应用的步数请求命令,根据计步器的状态下发相应的命令。
作为示例,当电子设备的计步器处在使能状态时(即还存在其他的应用订阅该计步器时),传感器管理组件(sensor manage)可以将应用的命令转化下发;例如,传感器管理组件(sensor manage)接收到应用发送的使能(enable)命令后,会将该使能(enable)命令转化为批处理(batch)命令下发。作为另一示例,当电子设备的计步器处于禁用或关闭状态时,传感器管理组件(sensor manage)可以将应用的命令直接下发;例如,传感器管理组件(sensor manage)接收到应用发送的使能(enable)命令后,可以直接将该使能(enable)命令下发,不再执行指令转换操作。
在一种可能的实现方式中,电子设备的计步器会因其他应用的点阅而长期处在使能状态下,因此,系统框架层的传感器管理组件(sensor manage)接收应用的使能(enable)命令时,会将该使能(enable)命令转化为批处理(batch)命令下发。
S530,硬件抽象层(hal层)的传感器(sensor)模块根据系统框架层下发的命令,转化成刷新(flush)命令下发。
作为示例,硬件抽象层(hal层)的传感器(sensor)模块接收到前述系统框架层下发的批处理(batch)命令后,调用硬件抽象层(hal层)的原生刷新(flush)接口进行刷新(flush)命令下发。
可选地,传感器(sensor)模块可以通过“sensor_handle == SENSOR_TYPE_STEP_COUNTER”调用原生刷新(flush)接口,从而完成刷新(flush)命令的下发。
S540,内核层(kernel层)的传感器(sensor)模块接收硬件抽象层(hal层)下发的刷新(flush)命令后直接下发至传感器集线器层(sensorhub层)。
S550,传感器集线器层(sensorhub层)的计步器驱动接收刷新(flush)命令后,上报当前计步数据。
可选地,计步器驱动可以先将计步数据上报给内核层(kernel层)的传感器(sensor)模块,内核层(kernel层)的传感器(sensor)模块将该计步数据上报给硬件抽象层(hal层)的传感器(sensor)模块,硬件抽象层(hal层)的传感器(sensor)模块再将该计步数据上报给系统框架层的传感器管理组件(sensor manage),最终,传感器管理组件(sensormanage)上报给发送计步数据请求的应用。
可选地,计步器可以实时或周期性获取当前的计步数据,并将该计步数据存储在寄存器中。其中,寄存器可以是通用寄存器、指针和变址寄存器、段寄存器、指令指针寄存器、标志寄存器等中至少一种;本申请实施例在此处不作限定。
综上,本申请实施例通过让硬件抽象层(hal层)的传感器(sensor)模块将应用通过标准通路下发的计步数据请求命令转化为刷新(flush)命令,使得位于传感器集线器层(sensorhub层)的计步器驱动能够感知到应用所发送的计步数据请求命令,从而向该应用上报当前的计步数据,打通了应用程序层到传感器集线器层(sensorhub层)的计步器实时计步数据的请求通路,并在不改变计步器的上报策略的前提下,使其能响应应用程序层的应用的实时计步数据请求;提升了运动数据统计的准确性,同时让用户掌握自己的真实的实时运动数据,提升用户的体验。
在S530(即硬件抽象层的传感器模块根据系统框架层下发的命令,转化成刷新(flush)命令下发)中,如图6所示,可选地,本申请实施例包括:
S610,根据系统框架层下发的命令,判断该命令的类型是否为计步器类型。
作为示例,硬件抽象层(hal层)的传感器(sensor)模块接收到前述系统框架层下发的批处理(batch)命令后,判断该批处理(batch)命令的传感器(sensor)类型。
S620,若该命令的类型是计步器类型,则转化成刷新(flush)命令下发。
作为示例,若该传感器(sensor)类型为计步器类型时,则调用硬件抽象层(hal层)的原生刷新(flush)接口进行刷新(flush)命令下发。
S630,若该命令的类型不是计步器类型,则结束该判断流程。
综上,本申请实施例通过在硬件抽象层执行命令的传感器类型判断,当是计步器类型的命令时,才执行命令转化操作,减少其他类型传感器的命令的转化;有效节约系统资源,加快指令转换效率,提升计步器响应应用的速度。
在S620(即若该命令的类型是计步器类型,则转化成刷新(flush)命令下发)中,如图7所示,可选地,本申请实施例包括:
S710,若该命令的类型是计步器类型时,则跳过时间周期参数的判断逻辑。
在使用上述方法在应用和计步器之间传输步数的过程中,系统框架层将该应用因请求步数而发送的使能(enable)命令转换为批处理(batch)命令的情况下,所得的批处理(batch)命令中的时间周期参数通常过固定值,例如为0。这会导致上一次的批处理(batch)命令也是由使能(enable)命令转换而来的情况下,当前批处理(batch)命令和上一次批处理(batch)命令中的时间周期参数不会发生变化,例如均为0,从而导致硬件抽象层(hal层)的传感器(sensor)模块会拦截当前次的批处理(batch)命令,从而仅第一次的批处理(batch)命令会下发至内核层(kernel层)。相应的,在本申请实施例中,硬件抽象层的传感器模块执行命令转化过程中,存在仅第一次的批处理(batch)命令转化为刷新(flush)命令下发的情况。
因此,当判断该命令类型是计步器类型时,跳过该命令的时间周期参数的比较判断,从而使得应用每一次下发的请求命令都能够被下发至内核层。
在一种可能的实现方式中,硬件抽象层(hal层)的传感器(sensor)模块接收到前述系统框架层下发的批处理(batch)命令后,判断该批处理(batch)命令的传感器(sensor)类型,若该传感器(sensor)类型为计步器类型时,则跳过该批处理(batch)命令的时间周期参数判断,并调用硬件抽象层(hal层)的原生刷新(flush)接口进行刷新(flush)命令下发。
综上,本申请实施例通过在硬件抽象层执行命令的传感器类型判断,当是计步器类型的命令时,跳过该命令的时间周期参数判断,使得每一次的命令都能够被下发。因此,应用的每一次计步数据的请求命令都能够被响应,使得应用能够持续获取计步器的计步数据,使得应用的数据呈现图更精确的反应用户在各时间阶段的运动数据,显著提升用户体验。
在S550(即传感器集线器层的计步器驱动接收刷新(flush)命令后,上报当前计步数据)中,如图8所示,可选地,本申请实施例包括:
S810,根据接收到的刷新(flush)命令,计步器驱动获取当前的计步数据。
可选地,计步数据可以是用户的步数。
可选地,计步器可以实时或周期性获取该计步数据,并将该计步数据存储在寄存器中,计步器驱动接收到刷新(flush)命令后,从该寄存器中读取当前计步数据。
S820,若获取到的当前的计步数据大于前次记录的上报计步数据,则记录当前次计步数据,并上报当前次计步数据。
S830,否则,结束该次上报流程。
在一种可能的实现方式中,计步器接收刷新(flush)命令后,获取存储在第一寄存器中的步数,并将其与存储在第二寄存器中的步数相比较,第一寄存器用来存储计步器当前最新的步数,第二寄存器用来存储前一次上报时的步数。当第一寄存器中的步数大于第二寄存器中的步数时,将第一寄存器中的步数存储到第二寄存器中,并将该步数上报;当第一寄存器中的步数小于第二寄存器中的步数时,结束该流程。其中,第一寄存器和第二寄存器可以是通用寄存器、指针和变址寄存器、段寄存器、指令指针寄存器、标志寄存器等中至少一种;本申请实施例在此处不作限定。
综上,本申请实施例通过在传感器集线器层的计步器驱动中设置步数上报规则,仅当步数发生变化时才上报当前次步数,减少计步数据上报通路的频繁调用,减少系统因频繁进行无效数据上报造成的资源浪费,提升系统资源的利用效率。
此外,如图9所示,本申请实施例还可以在内核层(kernel层)的传感器(sensor)模块进行命令的转化下发。换言之,在S530步骤中,硬件抽象层(hal层)的传感器(sensor)模块接收系统框架层下发的命令后,不再执行指令转换操作,而是直接将该命令下发至内核层(kernel层);内核层(kernel层)的传感器(sensor)模块根据硬件抽象层(hal层)下发的命令,转化成刷新(flush)命令下发至传感器集线器层(sensorhub层)。需要说明的是,虽然本申请的实施例中,以特定顺序呈现了方法的各个步骤,但是可以在不同的实施例中改变步骤的顺序,并且在一些实施例中,可以同时执行在本说明书中按顺序示出的一个或多个步骤。如图9所示,该方法可以包括以下步骤:
S910,应用发送计步数据请求命令。
S920,系统框架层的传感器管理组件(sensor manage)接收应用的步数请求命令,根据计步器的状态下发相应的命令。
步骤S910和S920同前述步骤S510和S520,此处不再赘述。
S930,硬件抽象层(hal层)的传感器(sensor)模块接收系统框架层下发的命令后,直接将该命令下发至内核层(kernel层)。
作为示例,硬件抽象层(hal层)的传感器(sensor)模块接收到系统框架层下发的批处理(batch)命令后,直接将该批处理(batch)命令下发至内核层(kernel层)。
可选地,上述步骤中硬件抽象层的传感器模块可以对前述批处理命令的类型进行判断,当判断该命令为计步器类型的命令时,可以跳过时间周期参数的判断逻辑,再执行命令转化,如前述步骤S610至S630和步骤S710,此处不再赘述。
S940,内核层(kernel层)的传感器(sensor)模块根据硬件抽象层(hal层)下发的命令,转化成刷新(flush)命令下发至传感器集线器层(sensorhub层)。
作为示例,内核层(kernel层)的传感器(sensor)模块接收批处理(batch)命令后,将该批处理(batch)命令转化为刷新(flush)命令下发,可参考前述步骤S530,此处不再赘述。
S950,传感器集线器层(sensorhub层)的计步器驱动接收刷新(flush)命令后,上报当前计步数据。
此处步骤可以参考前述步骤S550,不再赘述。
可选地,上述步骤中计步器驱动接收刷新命令,可以先判断当前获取的计步数据是否大于前次上报的计步数据,当大于前次上报的计步数据时再执行上报当前次的计步数据,参考前述步骤S810至S830,此处不再赘述。
图10为本申请实施例提供的消息处理装置结构示意图。如图10所示,该计步数据的传输装置1000包括:指令发送模块1010、指令转换模块1020和计步数据上报模块1030。作为示例,该传输装置可以是图1中的电子设备100,可以是应用于图1中的电子设备100的芯片,或者是应用于图1中的电子设备100中计算机程序产品。其中:
计步数据的传输装置1000可以用于实现图5所示实施例中的方法。作为示例,指令发送模块1010可以用于实现图5所示实施例中的S510;指令转换模块1020可以用于实现图5所示实施例中的S520至S540;计步数据上报模块1030可以用于实现图5所示实施例中的S550。
进一步地,计步数据的传输装置1000还可以用于实现图6至图8所示实施例中的方法。可以理解的是,本申请实施例提供的计步数据的传输装置,可用于执行如上所述任一方法实施例的技术方案,其实现原理和技术效果类似,具体可参考上述方法实施例,此处不再赘述。
图11为本申请实施例提供的消息处理装置结构示意图。如图11所示,该计步数据的传输装置1100包括:指令发送模块1110、指令转换模块1120和计步数据上报模块1130。作为示例,该传输装置可以是图1中的电子设备100,可以是应用于图1中的电子设备100的芯片,或者是应用于图1中的电子设备100中计算机程序产品。其中:
计步数据的传输装置1100可以用于实现图9所示实施例中的方法。作为示例,指令发送模块1110可以用于实现图9所示实施例中的S910;指令转换模块1120可以用于实现图9所示实施例中的S920至S940;计步数据上报模块1130可以用于实现图9所示实施例中的S950。
图12为本申请实施例提供的电子设备的结构示意图。如图12所示,本申请提供的电子设备可以包括:存储器1210和处理器1220。
存储器1210用于存储用于实现图5至图9中任意一个所示实施例中的方法的计算机应用程序。
处理器1220用于执行存储器1210中的计算机应用程序,该计算机应用程序被处理器1220执行时实现如图5至图9中任意一个所示实施例中的方法。
可选地,存储器1210既可以是独立的,也可以是跟处理器1220集成在一起。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如前述任一实施例提供的计步数据的传输方法的步骤。
在本发明提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种计步数据的传输方法,其特征在于,所述方法应用于终端设备中,所述终端设备中包含应用程序层、系统框架层、硬件抽象层、内核层和传感器集线器层,所述传感器集线器中包含计步器驱动,所述方法包括:
所述应用程序层向所述系统框架层发送第一指令,所述第一指令用于使能计步器;
所述系统框架层根据所述第一指令向所述硬件抽象层发送第二指令,所述第二指令为批处理命令;
所述硬件抽象层根据所述第二指令向所述内核层发送第三指令;所述第三指令为刷新命令;
所述内核层向所述传感器集线器层发送所述第三指令;
所述传感器集线器层基于所述第三指令向所述内核层发送所述计步器驱动中记录的计步数据。
2.根据权利要求1所述的方法,其特征在于,所述硬件抽象层根据所述第二指令向所述内核层发送第三指令,包括:
所述硬件抽象层判断所述第二指令是否为请求计步数据的指令;
若所述第二指令为请求计步数据的指令,则所述硬件抽象层根据所述第二指令向所述内核层发送所述第三指令。
3.根据权利要求2所述的方法,其特征在于,所述硬件抽象层根据所述第二指令向所述内核层发送第三指令,包括:
所述硬件抽象层响应于所述第二指令向所述内核层发送所述第三指令。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述传感器集线器层基于所述第三指令向所述内核层发送所述计步器驱动中记录的计步数据,包括:
所述传感器集线器层基于所述第三指令获取所述计步器驱动中当前记录的第一计步数据;
所述传感器集线器层判断所述第一计步数据与上一次从所述计步器驱动中获取的第二计步数据是否相同;
若所述第一计步数据与所述第二计步数据不同,则所述传感器集线器层向所述内核层发送所述第一计步数据。
5.一种计步数据的传输方法,其特征在于,所述方法应用于终端设备中,所述终端设备中包含应用程序层、系统框架层、硬件抽象层、内核层和传感器集线器层,所述传感器集线器中包含计步器驱动,所述方法包括:
所述应用程序层向所述系统框架层发送第一指令,所述第一指令用于使能计步器;
所述系统框架层根据所述第一指令向所述硬件抽象层发送第二指令,所述第二指令为批处理命令;
所述硬件抽象层向所述内核层发送所述第二指令;
所述内核层根据所述第二指令向所述传感器集线器层发送第三指令;所述第三指令为刷新命令;
所述传感器集线器层基于所述第三指令向所述内核层发送所述计步器驱动中记录的计步数据。
6.根据权利要求5所述的方法,其特征在于,所述硬件抽象层向所述内核层发送所述第二指令,包括:
所述硬件抽象层判断所述第二指令是否为请求计步数据的指令;
若所述第二指令为请求计步数据的指令,则所述硬件抽象层向所述内核层发送所述第二指令。
7.根据权利要求6所述的方法,其特征在于,所述硬件抽象层向所述内核层发送所述第二指令,包括:
所述硬件抽象层响应于所述第二指令向所述内核层发送所述第二指令。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述传感器集线器层基于所述第三指令向所述内核层发送所述计步器驱动中记录的计步数据,包括:
所述传感器集线器层基于所述第三指令获取所述计步器驱动中当前记录的第一计步数据;
所述传感器集线器层判断所述第一计步数据与上一次从所述计步器驱动中获取的第二计步数据是否相同;
若所述第一计步数据与所述第二计步数据不同,则所述传感器集线器层向所述内核层发送所述第一计步数据。
9.一种计步数据的传输装置,其特征在于,包括:
指令发送模块:用于应用程序层的应用发送第一指令,所述第一指令用于使能计步器;
指令转换模块:用于系统框架层根据所述第一指令向硬件抽象层发送第二指令,所述第二指令为批处理命令;所述硬件抽象层根据所述第二指令向内核层发送第三指令;所述内核层向传感器集线器层发送所述第三指令;所述第三指令为刷新命令;
计步数据上报模块:用于所述传感器集线器层基于所述第三指令向所述内核层发送计步器驱动中记录的计步数据。
10.一种计步数据的传输装置,其特征在于,包括:
指令发送模块:用于应用程序层向系统框架层发送第一指令,所述第一指令用于使能计步器;
指令转换模块:用于所述系统框架层根据所述第一指令向硬件抽象层发送第二指令,所述第二指令为批处理命令;所述硬件抽象层向内核层发送所述第二指令;所述内核层根据所述第二指令向传感器集线器层发送第三指令;所述第三指令为刷新命令;
计步数据上报模块:用于所述传感器集线器层基于所述第三指令向所述内核层发送计步器驱动中记录的计步数据。
11.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210600427.XA CN116089109B (zh) | 2022-05-30 | 2022-05-30 | 计步数据的传输方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210600427.XA CN116089109B (zh) | 2022-05-30 | 2022-05-30 | 计步数据的传输方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116089109A CN116089109A (zh) | 2023-05-09 |
CN116089109B true CN116089109B (zh) | 2023-10-20 |
Family
ID=86185564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210600427.XA Active CN116089109B (zh) | 2022-05-30 | 2022-05-30 | 计步数据的传输方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089109B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662665A (zh) * | 2012-03-29 | 2012-09-12 | 福州瑞芯微电子有限公司 | 在安卓系统上实现支持各种传感器的输入子系统 |
CN106197468A (zh) * | 2016-06-24 | 2016-12-07 | 广东欧珀移动通信有限公司 | 计步器步数更新的方法及系统 |
CN106445698A (zh) * | 2016-09-13 | 2017-02-22 | 广东欧珀移动通信有限公司 | 计步数据的获取方法及装置 |
CN106648916A (zh) * | 2016-09-13 | 2017-05-10 | 广东欧珀移动通信有限公司 | 计步器消息的上报方法及装置 |
CN113918363A (zh) * | 2021-10-12 | 2022-01-11 | Oppo广东移动通信有限公司 | 标签转换方法、装置、电子设备及计算机可读介质及产品 |
-
2022
- 2022-05-30 CN CN202210600427.XA patent/CN116089109B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662665A (zh) * | 2012-03-29 | 2012-09-12 | 福州瑞芯微电子有限公司 | 在安卓系统上实现支持各种传感器的输入子系统 |
CN106197468A (zh) * | 2016-06-24 | 2016-12-07 | 广东欧珀移动通信有限公司 | 计步器步数更新的方法及系统 |
CN106445698A (zh) * | 2016-09-13 | 2017-02-22 | 广东欧珀移动通信有限公司 | 计步数据的获取方法及装置 |
CN106648916A (zh) * | 2016-09-13 | 2017-05-10 | 广东欧珀移动通信有限公司 | 计步器消息的上报方法及装置 |
CN113918363A (zh) * | 2021-10-12 | 2022-01-11 | Oppo广东移动通信有限公司 | 标签转换方法、装置、电子设备及计算机可读介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN116089109A (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020151387A1 (zh) | 一种基于用户运动状态的推荐方法及电子设备 | |
KR20150054413A (ko) | 시선 데이터에 따라 컨텐츠의 위치를 결정하는 전자 장치 및 방법 | |
CN111553846B (zh) | 超分辨率处理方法及装置 | |
CN111400605A (zh) | 基于眼球追踪的推荐方法及装置 | |
KR20150025609A (ko) | 저전력으로 위치 변화를 측정하는 전자 장치 및 방법 | |
CN116070035B (zh) | 数据处理方法和电子设备 | |
CN112204532A (zh) | 一种终端对ai任务支持能力的评测方法及终端 | |
CN115794361A (zh) | 管理内存的方法和电子设备 | |
CN116010076A (zh) | 一种应用运行方法以及相关设备 | |
WO2022194190A1 (zh) | 调整触摸手势的识别参数的数值范围的方法和装置 | |
CN115333941A (zh) | 获取应用运行情况的方法及相关设备 | |
CN115525372A (zh) | 显示界面的方法和装置 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
CN111524528B (zh) | 防录音检测的语音唤醒方法及装置 | |
KR20150026257A (ko) | 액세서리의 정보를 업 데이트하는 전자 장치 및 방법 | |
CN113656089B (zh) | 应用程序中的类验证方法和装置 | |
CN116128571B (zh) | 广告曝光量分析方法及相关装置 | |
CN115835135B (zh) | 一种cell围栏的匹配方法及电子设备 | |
CN116089109B (zh) | 计步数据的传输方法和相关装置 | |
CN111695071B (zh) | 页面的显示方法及相关装置 | |
CN111510553B (zh) | 一种运动轨迹展示方法、装置和可读存储介质 | |
CN114489469A (zh) | 一种数据读取方法、电子设备及存储介质 | |
CN115083400A (zh) | 语音助手唤醒方法及装置 | |
CN111459271B (zh) | 注视偏移误差确定方法及装置 | |
CN115437601B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |