CN116708615B - 器件注册方法、设备及存储介质 - Google Patents
器件注册方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116708615B CN116708615B CN202211428211.6A CN202211428211A CN116708615B CN 116708615 B CN116708615 B CN 116708615B CN 202211428211 A CN202211428211 A CN 202211428211A CN 116708615 B CN116708615 B CN 116708615B
- Authority
- CN
- China
- Prior art keywords
- driver
- registration
- configuration information
- electronic
- screen
- 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
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000006870 function Effects 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 13
- 239000000758 substrate Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 22
- 238000001514 detection method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000006698 induction Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005426 magnetic field effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
本申请提供一种器件注册方法、设备及存储介质,涉及终端技术领域。该方法包括:电子设备上电后,第一驱动和第二驱动同时执行不同的处理流程。第一驱动执行:若确定电子设备存储有第一器件的注册配置信息,则控制第一器件上电,获取电子设备的设备树信息,以确定电子设备中包括第一器件还是第二器件,若确定电子设备包括第一器件,执行对第一器件的注册,若确定电子设备包括第二器件,则通知第二驱动执行对第二器件的注册。第二驱动执行:若确定电子设备中存储有第一器件和第二器件的注册配置信息,第二驱动不直接执行对第二器件的注册,而是等待第一驱动的通知,该通知用于指示第二驱动执行对第二器件的注册。上述方案可避免器件注册的冲突。
Description
技术领域
本申请涉及终端技术领域,尤其涉及器件注册方法、设备及存储介质。
背景技术
随着屏幕尺寸日益接近单手握持的极限尺寸,为了追求显示尺寸的进一步增加,折叠屏形态的手机应运而生。折叠屏手机具有大屏显示、应用分屏、自由悬停、跨屏协同等功能,可以更好满足用户便捷移动办公等商务场景的需求。此外,在日常场景下,大屏游戏、大屏观影等优势也能给用户提供更良好的使用体验。
要实现上述各项功能,依赖于对折叠屏手机的屏幕状态的检测,折叠屏手机的屏幕状态包括如展开状态、支架状态、折叠状态等。相关技术中,折叠屏手机的屏幕状态的检测方案主要涉及两类器件,一类是器件直接上报检测结果,另一类是器件上报的检测数据需要结合预设算法确定检测结果,以确定手机屏幕状态。
当折叠屏手机同时配置了上述两种检测方案时,在方案初始化阶段将会出现执行冲突。
发明内容
本申请实施例提供一种器件注册方法、设备及存储介质,避免器件注册冲突。
第一方面,本申请实施例提出一种器件注册方法,该方法应用于电子设备,电子设备包括折叠屏,用于检测折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;第一驱动用于触发第一器件工作,第二驱动用于触发第二器件工作;在该方法中,电子设备上电后,若第一驱动确定电子设备中存储有第一器件的注册配置信息,控制第一器件上电;第一驱动获取电子设备的设备树配置信息,设备树配置信息包括用于指示电子设备中包含第一器件或第二器件的配置项;第一驱动基于设备树配置信息,执行对第一器件的注册流程,或者,通知第二驱动执行对第二器件的注册流程。本方案可以避免器件注册的冲突,确保电子设备能够基于某一器件,如第一器件或第二器件,实现屏幕状态检测。
在一种可能的实施方式中,第一器件可以为霍尔传感器,第二器件可以为磁传感器。
在第一方面的一个可选实施例中,第一驱动控制第一器件上电,包括:第一驱动控制第一器件上电,不直接执行对第一器件的注册流程。第一驱动控制第一器件上电可以理解为第一驱动执行对第一器件电源状态的配置,是否配置成功取决于设备中是否包含第一器件。不直接执行对第一器件的注册流程可以避免器件注册的冲突。
在第一方面的一个可选实施例中,第一驱动获取电子设备的设备树配置信息,包括:第一驱动调用第一函数获取设备树配置信息,解析设备树配置信息中配置项的配置参数;其中,配置参数包括第一配置参数或第二配置参数,第一配置参数用于指示电子设备包含第一器件,第二配置参数用于指示电子设备包含第二器件。本方案通过读取设备树配置信息,以获知设备中实际包含的检测器件是第一器件还是第二器件,为后续器件注册提供依据。
在第一方面的一个可选实施例中,若配置项的配置参数为第一配置参数,第一驱动基于设备树配置信息,执行对第一器件的注册流程,包括:第一驱动基于设备树配置信息中的第一配置参数,执行对第一器件的注册流程。本方案中第一驱动在获取第一设备的注册配置信息后,若确定设备中包含第一器件,再执行对第一器件的注册流程,从而避免器件注册冲突的发生。
在第一方面的一个可选实施例中,若配置项的配置参数为第二配置参数,第一驱动基于设备树配置信息,通知第二驱动执行对第二器件的注册流程,包括:第一驱动基于设备树配置信息中的第二配置参数,调用第二函数通知第二驱动执行对第二器件的注册流程,第一驱动不执行对第一器件的注册流程。本方案中第一驱动在确定设备中包括第二器件后,不执行对第一器件的注册流程,同时通知第二驱动,以便第二驱动注册第二器件,避免器件注册冲突的发生。
第二方面,本申请实施例提出一种器件注册方法,该方法应用于电子设备,电子设备包括折叠屏,用于检测折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;第一驱动用于触发第一器件工作,第二驱动用于触发第二器件;在该方法中,电子设备上电后,第二驱动确定电子设备中是否存储有第一器件和/或第二器件的注册配置信息;若第二驱动确定电子设备中存储有第一器件和第二器件的注册配置信息,第二驱动不直接执行对第二器件的注册流程;第二驱动等待第一驱动的通知,通知用于指示第二驱动执行对第二器件的注册流程。本方案中第二驱动在确定设备存储有两套注册配置信息后,第二驱动需要等待第一驱动的通知,而不是直接执行对第二器件的注册流程,这样可以避免器件注册的冲突,确保设备能够基于某一器件,如第一器件或第二器件,实现屏幕状态检测。
在一种可能的实施方式中,第一器件可以为霍尔传感器,第二器件可以为磁传感器。
在一些实施例中,若第二驱动确定电子设备中存储有第二器件的注册配置信息,即检测屏幕状态的器件配置信息只有一种,则第二驱动直接执行对第二器件的注册流程,不会出现器件注册的冲突。
在第二方面的一个可选实施例中,第二驱动确定电子设备中是否存储有第一器件和/或第二器件的注册配置信息,包括:第二驱动调用第三函数,确定电子设备中是否存储有第一器件和/或第二器件的注册配置信息。需要说明的是,器件的注册配置信息可以设置在任何一种制式的电子设备中,例如某一电子设备包括第一器件,该电子设备除了存储有第一器件的注册配置信息外,还可能存储有第二器件的注册配置信息,即使该电子设备实际不包括第二器件。本方案通过查询设备中器件的注册配置信息,为第二驱动执行后续动作提供依据。
在第二方面的一个可选实施例中,该方法还包括:第二驱动在预设时间段内接收到来自第一驱动的通知,第二驱动基于通知执行对第二器件的注册流程;或者第二驱动在预设时间段内未接收到来自第一驱动的通知,第二驱动不执行对第二器件的注册流程。本方案中第二驱动根据是否接收到第一驱动的通知,执行或不执行对第二器件的注册流程,以避免器件注册冲突。
第三方面,本申请实施例提供一种电子设备,电子设备包括:折叠屏,用于检测折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;第一驱动用于触发第一器件工作,第二器件用于触发第二器件工作;第一驱动用于执行如第一方面任一项所述的方法,第二驱动用于执行如第二方面任一项所述的方法。
第四方面,本申请实施例提供了一种电子设备,电子设备包括:存储器和处理器,所述处理器用于调用所述存储器中的计算机程序,以执行如第一方面任一项所述的方法,或者如第二方面任一项所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面任一项所述的方法,或者如第二方面任一项所述的方法。
第六方面,本申请实施例提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面任一项所述的方法,或者如第二方面任一项所述的方法。
第七方面,一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面任一项所述的方法,或者如第二方面任一项所述的方法。
应当理解的是,本申请的第三方面至第七方面与本申请的第一方面或第二方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种折叠屏手机的示意图;
图2为本申请实施例提供的一种折叠屏手机的示意图;
图3a为本申请实施例提供的一种电子设备的层级结构示意图;
图3b为基于图3a所示层级结构的注册和应用闭合sensor功能的流程示意图;
图4a为本申请实施例提供的hall器件注册的流程示意图;
图4b为本申请实施例提供的mag器件注册的流程示意图;
图5为本申请实施例提供的一种可折叠的电子设备的结构示意图;
图6为本申请实施例提供的一种可折叠的电子设备的软件结构框图;
图7为本申请实施例提供的设备树配置的示意图;
图8为本申请实施例提供的一种器件注册方法的流程示意图;
图9为本申请实施例提供的一种器件注册方法的流程示意图;
图10为本申请实施例提供的一种器件注册方法的流程示意图;
图11为本申请实施例提供的一种电子设备的结构示意图;
图12为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一驱动和第二驱动仅仅是为了区分不同的驱动,两者分别对应不同类型的器件,并不对其先后顺序进行限定。又例如,第一器件和第二器件仅仅是为了区分不同的器件。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面首先对本申请中涉及的部分用语进行解释说明,以便于本领域技术人员理解。
设备树(device tree),是一种描述硬件的数据结构,其作用是提供设备信息,在设备初始化阶段,数据结构中的硬件信息会被检测并传递给操作系统。设备树的基本单元是节点(node),这些节点被组织成树状结构,除了根节点(root node),每个节点都只有一个父节点(parent node),每个节点中包含了若干的键值对(property/value)来描述该节点的一些特性。
描述设备树的文件叫做dts(device tree source),这个dts文件采用树形结构来描述板机设备,也就是开发板信息,例如中央处理器CPU的数量、内存基地址、集成电路总线(Inter-Integrated Circuit,IIC)接口上连接了哪些设备或器件、串行外设接口(SerialPeripheral Interface,SPI)上连接了哪些设备或器件等。
在本申请实施例中,电子设备的dts文件包含与检测折叠屏的屏幕状态的器件相关的dts配置信息,检测折叠屏的屏幕状态的器件包括如hall器件(又称为霍尔传感器)、mag器件(包括如磁传感器)。
随着折叠屏技术的不断发展,市面上的折叠屏手机也越来越多。图1为本申请实施例提供的一种折叠屏手机的示意图,参照图1,折叠屏手机的折叠屏包括第一屏和第二屏,折叠屏按照折叠边折叠,形成第一屏和第二屏。折叠边所在的虚拟轴线为公共轴。第一屏包括第一屏的内屏和外屏,第二屏包括第二屏的内屏和外屏。其中,内屏指的是折叠屏处于折叠状态时,位于内部的屏,外屏指的是折叠屏处于闭合状态时位于外部的屏。第一屏和第二屏之间的夹角为折叠屏手机的合页角度,确定合页角度即可确定折叠屏的屏幕状态。
折叠屏手机的屏幕状态可以根据用户的需求而改变。例如,为了方便携带,用户可将折叠屏手机进行折叠,折叠过程可以从图1示出的折叠方向按照展开状态(a)、支架状态(b)、折叠状态(c)的顺序变化手机的屏幕状态。又例如,用户想要大屏观看视频,则可以将折叠屏手机展开,展开过程可以从图1示出的折叠状态(c)、支架状态(b)、展开状态(a)的顺序变化手机的屏幕状态。
为了提高用户使用折叠屏手机的体验,开发人员开发了与折叠屏相关的一系列功能。例如,展开屏幕后自适应放大显示内容,折叠屏幕后自适应缩小显示内容,显示内容包括但不限于视频界面、应用图标、文字、图片、桌面小部件等等。实现上述功能的前提是准确检测折叠屏手机的屏幕状态,基于屏幕状态的变化动态调节屏幕的显示内容。
目前,折叠屏手机的屏幕状态的检测方案主要涉及两类器件。一类器件可以直接上报检测结果,检测结果指示折叠屏手机的屏幕状态,该类器件可以是hall器件;另一类器件上报的检测数据,还需要结合预设算法,以确定检测结果,该类器件可以是mag器件。
示例性的,图2的(a)示出包含hall器件的折叠屏手机,hall器件与磁铁分别设置在折叠屏手机的第一屏与第二屏。hall器件为霍尔传感器,霍尔传感器上报如接近/远离状态(相对于磁铁的状态),可确定折叠屏手机的合页角度,进而确定折叠屏手机的屏幕状态。
示例性的,图2的(b)示出了包含mag器件的折叠屏手机,mag器件与磁铁分别设置在折叠屏手机的第二屏与第一屏。mag器件为磁传感器,磁传感器上报其采集的磁力数据,结合闭合检测算法,确定折叠屏手机的合页角度,进而确定折叠屏手机的屏幕状态。其中,磁力数据可以是磁力向量的模长,一种示例中,闭合检测算法通过磁力向量的模长与合页角度之间的对应关系,确定折叠屏手机当前的合页角度,进而确定折叠屏手机当前的屏幕状态。本示例中的闭合检测算法可参照现有技术,本申请实施例不做展开。
需要说明的是,图2所示的hall器件和mag器件的位置仅作为示例,对此本申请实施例不做任何限制。不同制式的折叠屏手机包含不同类型的器件,也即上述两类器件通常不会同时设置于同一折叠屏手机中。
为了实现对折叠屏手机的屏幕状态的检测,折叠屏手机在每次上电后,需要注册监听折叠屏手机中的hall器件或mag器件,以判断折叠屏手机当前的屏幕状态,该功能可称为闭合传感器(sensor)功能,也即闭合sensor应用。
下面结合附图介绍闭合sensor功能的注册和应用流程。示例性的,图3a为本申请实施例提供的一种电子设备的层级结构示意图,图3b为基于图3a所示层级结构的注册和应用闭合sensor功能的流程示意图。
参照图3a,该电子设备的层级结构包括应用程序层、硬件抽象层(HardwareAbstraction Layer,HAL)、驱动层和硬件层。驱动层中的闭合sensor驱动运行在电子设备的传感器控制中心(Sensorhub)上,应用程序层中的闭合sensor应用、HAL中的闭合sensorhal运行在电子设备的中央处理器(Central Processing Unit,CPU)中。硬件层包括hall器件或mag器件。
需要说明的是,图3a示出的电子设备层级结构中的层以及各层中包含的模块或部件,并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
还需要说明的是,本实施例的Sensorhub用于实现对传感器的集中控制,以减少CPU的负荷。Sensorhub相当于微程序控制器(Microprogrammed Control Unit,MCU),该MCU上可以运行用于驱动多个传感器工作的程序,也就是说Sensorhub中可以支持挂载多个传感器的能力,其可以作为一个独立的芯片,放置在CPU与各类传感器之间,也可以集成在CPU中的应用处理器(application processor,AP)中。
在本申请实施例中,Sensorhub有两个基本功能:一是Sensorhub可以支持挂载hall器件和mag器件,也就是说,用于控制hall器件工作的驱动和用于控制mag器件工作的驱动都运行在Sensorhub中。二是Sensorhub可以接收hall器件上报的检测结果,并将检测结果上报CPU,以便CPU执行后续的屏幕控制,如控制屏幕内容由外屏显示切换至内屏显示等;Sensorhub还可以接收mag器件上报的检测数据,结合预设算法判断电子设备当前的屏幕状态,并将结果上报CPU,以便CPU执行后续的屏幕控制。
参照图3a和图3b,不论是针对hall器件还是mag器件,注册闭合sensor功能的流程包括:应用程序层的闭合sensor应用发起注册流程,闭合sensor hal层会收到来自闭合sensor应用的监听消息,闭合sensor hal向驱动层的闭合sensor驱动发送通知消息,以使闭合sensor驱动执行对硬件层的hall器件或mag器件的注册(初始化)流程,并进行发布可用(publish available)。发布可用表示闭合sensor已完成创建,可以是hall器件已完成创建,也可以是mag器件已完成创建。
在完成注册闭合sensor功能后,应用闭合sensor功能的流程包括:闭合sensor驱动向hall器件或mag器件发送检测指令,hall器件或mag器件向闭合sensor驱动返回检测数据,闭合sensor驱动根据检测数据确定折叠屏手机当前的屏幕状态,并将当前的屏幕状态层层上报至应用程序层的闭合sensor应用,以便该应用执行后续的屏幕控制,如屏幕内容由外屏显示切换到内屏显示等。在一些实施例中,在hall器件状态发生变化时,闭合sensor会同步上报最新的检测结果;在mag器件的数据发生变化时,可以主动向闭合sensor驱动上报最新的检测数据。
在上述注册闭合sensor功能的流程中,闭合sensor驱动执行对不同类型器件的注册流程有所差异,下面分别介绍闭合senor驱动执行对hall器件的注册流程,以及闭合sensor驱动执行对mag器件的注册流程。
示例性的,图4a为本申请实施例提供的hall器件注册的流程示意图。本实施例中,实现闭合sensor功能的器件包括hall器件,通过注册监听hall器件,获取hall器件上报的检测结果,该检测结果直接指示电子设备当前的屏幕状态。如图4a所示,驱动层的闭合sensor驱动在接收到硬件抽象层的闭合sensor hal发送的通知消息后,执行对hall器件的注册流程(即hall器件闭合sensor初始化),具体包括:闭合sensor驱动获取hall器件的注册配置信息,在通知事件(notify event)中判断hall器件的注册配置信息是否成功获取,若成功获取hall器件的注册配置信息,则进行发布可用(publish available),完成hall器件闭合sensor功能的创建;若获取hall器件的注册配置信息失败,则无法完成hall器件闭合sensor功能的创建。
示例性的,图4b为本申请实施例提供的mag器件注册的流程示意图。本实施例中,实现闭合sensor功能的器件包括mag器件,通过注册监听mag器件,获取mag器件上报的检测数据,结合预设算法确定电子设备当前的屏幕状态。如图4b所示,驱动层的闭合sensor驱动在接收到硬件抽象层的闭合sensor hal发送的通知消息后,执行对mag器件的注册流程(即mag器件闭合sensor初始化),具体包括:闭合sensor驱动注册监听mag器件,在通知事件(notify event)中判断电子设备是否存在mag器件,若存在mag器件并成功获取mag器件信息(如mag器件的publish信息),则进行发布可用(publish available),完成mag器件闭合sensor功能的创建;若获取不到mag器件信息,则无法完成mag器件闭合sensor功能的创建。
需要说明的是,判断电子设备是否存在mag器件主要是从电子设备的预设存储空间查询是否存储有mag器件信息,若有mag器件信息确定存在mag器件,若没有mag器件信息确定不存在mag器件。
还需要说明的是,图4a和图4b所示的注册流程的执行主体不同,图4a所示的注册流程的执行主体具体为hall器件闭合sensor驱动,也可称为第一驱动,图4b所示的注册流程的执行主体具体为mag器件闭合sensor驱动,也可称为第二驱动。
当同一电子设备存储有上述两种器件的闭合sensor方案的配置信息时,在初始化过程中会出现以下两种情况:
一种可能的情况,hall器件闭合sensor驱动获取到hall器件的注册配置信息后,完成hall器件闭合sensor功能的创建。同时,mag器件闭合sensor驱动会注册监听mag器件,由于电子设备不存在mag器件,mag器件闭合sensor驱动获取不到mag器件信息,无法成功创建mag器件闭合sensor功能的创建。以上情况只有一种方案可以成功创建闭合sensor功能,即电子设备使用hall器件实现闭合sensor功能,闭合sensor能够正常监听器件。
另一种可能的情况,mag器件闭合sensor驱动注册监听mag器件,可以获取到mag器件的配置信息并成功创建mag器件闭合sensor功能。同时,hall器件闭合sensor驱动获取到hall器件的注册配置信息后,完成hall器件闭合sensor功能的创建。以上情况两种方案均成功创建闭合sensor功能,在初始化过程中会出现冲突,导致异常。
针对上述第二种情况,需要一种闭合sensor动态检测方案,实现在同一电子设备中动态识别当前电子设备使用的是hall器件还是mag器件实现闭合sensor功能,在初始化过程中不会出现冲突,并顺利完成闭合sensor功能的创建。
基于此,本申请实施例提出一种器件注册方法,可应用于具有折叠屏的电子设备,该电子设备中包括hall器件或mag器件,该电子设备还包括第一驱动和第二驱动,第一驱动可用于触发hall器件工作,第二驱动可用于触发mag器件工作。需要指出的是,第一驱动可对应上文的hall器件闭合sensor驱动,第二驱动可对应上文的mag器件闭合sensor驱动。
在电子设备上电后,第一驱动和第二驱动同时工作,第一驱动执行hall器件闭合sensor功能的创建任务,第二驱动执行mag器件闭合sensor功能的创建任务。为了避免闭合sensor功能的冲突,考虑在hall器件闭合sensor功能的创建中增加对设备树配置信息的读取,由第一驱动获取设备树配置信息,识别当前电子设备包含hall器件还是mag器件,确定第一驱动执行或不执行hall器件闭合sensor功能的创建。与此同时,第二驱动在执行mag器件闭合sensor功能的创建时,增设对电子设备闭合sensor方案的配置信息的查询,若查询到两套配置信息(即hall器件和mag器件的闭合sensor方案的配置信息),第二驱动需要等待第一驱动的指示,而不是直接执行mag器件闭合sensor功能的创建。
一方面,上述方案自适应判断当前设备使用的器件,可避免创建闭合sensor的冲突,确保电子设备仅使用一种闭合sensor方案,提高设备对闭合sensor方案动态检测的灵活性,解决了现有技术弊端。另一方面,由于上述方案不依赖于实体器件,对于器件的规格可任意选择,节约了设计成本。
本申请实施例提供的器件注册方法,除了可以应用于折叠屏手机中,还可以应用于包括平板电脑,笔记本电脑,超级移动个人计算机(Ultra-mobile Personal Computer,UMPC),手持计算机,上网本等可折叠的电子设备中,对此本申请实施例不做任何限制。
为了能够更好地理解本申请实施例,下面对本申请实施例的电子设备的结构进行介绍。示例性的,图5为本申请实施例提供的一种可折叠的电子设备的结构示意图。如图5所示,可折叠的电子设备500可以包括:处理器510,外部存储器接口520,内部存储器521,通用串行总线(universal serial bus,USB)接口530,充电管理模块540,电源管理模块541,电池542,天线1,天线2,移动通信模块550,无线通信模块560,音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,传感器580,按键590,马达591,指示器592,摄像头593,显示屏594,以及用户标识模块(subscriber identification module,SIM)卡接口595等。可以理解的是,本实施例示意的结构并不构成对电子设备500的具体限定。在本申请另一些实施例中,电子设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,显示处理单元(displayprocess unit,DPU),和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器510中还可以包括智能传感集线器(Sensor hub),用于连接并处理来自各种传感器设备的数据。在本申请实施例中,智能传感集线器可以连接并处理磁传感器580D的数据,智能传感集线器中预置闭合检测算法,智能传感集线器基于该闭合检测算法和来自磁传感器580D的数据计算折叠屏的合页角度,以确定折叠屏的屏幕状态。在另一些实施例中,智能传感集线器可以连接并接收霍尔传感器580I的数据,以确定折叠屏的屏幕状态。
在一些实施例中,处理器510可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备500的结构限定。在本申请另一些实施例中,电子设备500也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口520可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备500的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器521可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器510可以通过运行存储在内部存储器521的上述指令,从而使得电子设备500执行各种功能应用以及数据处理等。内部存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备500使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器510可以通过运行存储在内部存储器521的指令,和/或存储在设置于处理器510中的存储器的指令,来使得电子设备500执行各种功能应用及数据处理。
充电管理模块540用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块541用于连接电池550,电源管理模块541接收电池550和/或充电管理模块540的输入,为处理器510,内部存储器521,显示屏593,摄像头592,和通信模块560等供电。在其他一些实施例中,电源管理模块541也可以设置于处理器510中。在另一些实施例中,电源管理模块541和充电管理模块540也可以设置于同一个器件中。
通信模块560可以包括移动通信模块和无线通信模块。移动通信模块提供应用在电子设备500上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块可以提供应用在电子设备500上的包括无线局域网(wireless local area networks,WLAN),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。
电子设备500通过GPU,显示屏594,以及应用处理器等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏594和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器510可包括一个或多个GPU,其执行指令以生成或改变显示信息。
显示屏594用于显示图像、视频等。显示屏594包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。本申请实施例中,显示屏594为一种可折叠的柔性屏幕,显示屏594可称为折叠屏,折叠屏包括第一屏和第二屏,折叠屏可沿着折叠边进行展开或折叠,形成第一屏和第二屏,相关描述可参考图1所示的折叠屏。
电子设备500可以通过ISP,一个或多个摄像头593,视频编解码器,GPU,一个或多个显示屏594以及应用处理器等实现拍摄功能。
电子设备500可以通过音频模块570,扬声器570A,受话器570B,麦克风570C,耳机接口570D,以及应用处理器等实现音频功能。
传感器580可以包括压力传感器580A,陀螺仪传感器580B,气压传感器580C,磁传感器580D,加速度传感器580E,距离传感器580F,接近光传感器580G,指纹传感器580H,霍尔传感器580I,温度传感器580J,触摸传感器580K,环境光传感器580L,骨传导传感器580M等。
磁传感器580D用于检测磁铁的磁场强度,得到磁力数据,通过磁力数据检测电子设备500的折叠屏的屏幕状态。磁铁用于产生磁场。在本申请实施例中,磁传感器580D可以设置于例如第一屏对应的机体中,磁铁可以设置于例如第二屏对应的机体中,磁铁可以让磁传感器580D检测到磁力数据,随着折叠屏开合状态的变化,磁传感器580D与磁铁之间的距离相应发生变化,磁传感器580D检测到的磁铁的磁场强度也会发生变化,进而智能传感集线器可以根据磁传感器580D在磁铁的磁场作用下所获取到的磁力数据,判断折叠屏的屏幕状态,屏幕状态包括如展开状态、支架状态或闭合状态。
霍尔传感器580I同样可用于检测磁铁的磁场强度,输出高/低电平,通过高/低电平确定电子设备500的折叠屏的屏幕状态。在本申请实施例中,霍尔传感器580I可以设置于例如第一屏对应的机体中,磁铁可以设置于例如第二屏对应机体中,随着折叠屏开合状态的变化,霍尔传感器580I与磁铁之间的距离相应发生变化,霍尔传感器580I检测到的磁感应强度也会发生变化。作为一种示例,当霍尔传感器580I检测到的磁感应强度大于第一阈值,输出低电平,指示当前折叠屏的屏幕状态为闭合状态;当霍尔传感器580I检测到的磁感应强度小于第二阈值,输出高电平,指示当前折叠屏的屏幕状态为展开状态。
按键590包括开机键,音量键等。按键590可以是机械按键,也可以是触摸式按键。电子设备500可以接收按键输入,产生与电子设备500的用户设置以及功能控制有关的键信号输入。
马达591用于实现电子设备500的震动。SIM卡接口594用于连接SIM卡。在一些实施例中,电子设备500采用eSIM,即:嵌入式SIM卡。
另外,在上述部件之上,运行有操作系统。例如iOS操作系统,Android开源操作系统,Windows操作系统等。在操作系统上可以安装运行应用程序。
可折叠的电子设备500的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的软件系统为Android系统为例,示例性说明可折叠的电子设备的软件结构。
图6为本申请实施例提供的一种可折叠的电子设备的软件结构框图。分层架构将电子设备的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为四层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Androidruntime)和系统库,以及内核层(kernel)。
应用程序层可以包括一系列应用程序包。如图6所示,应用程序层内可以安装相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3a所示,应用程序框架层可以包括输入管理服务(input manager service,IMS)。当然,应用程序框架层中还可以包括显示策略服务、电源管理服务(power manager service,PMS)、显示管理服务(display manager service,DMS)、活动管理器、窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等,本申请实施例对此不作任何限制。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:状态监测服务,表面管理器(surfacemanager),媒体库(Media Libraries),三维3D图形处理库(例如:OpenGL ES),二维2D图形引擎(例如:SGL)等。
状态监测服务用于根据内核层上报的监测数据确定手机的具体朝向、柔性屏幕的屏幕状态等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,传感器驱动,摄像头驱动,音频驱动等,本申请实施例对此不做任何限制。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但其基本原理同样适用于iOS或Windows等操作系统的电子设备。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
示例性的,图7为本申请实施例提供的设备树配置的示意图。参照图7,dts配置信息包括与sensor相关的dts配置信息,sensor是指检测设备折叠屏的屏幕状态的器件,例如hall器件、mag器件。sensor-dts配置中添加了dual_mag配置项,该dual_mag配置项用于指示设备包含的器件是hall器件还是mag器件,该dual_mag配置项可以看作是设备树的一个节点,如图7中的dual_mag_sensor节点。
可以理解的是,不同制式的电子设备的dts配置分别包含不同的sensor-dts配置,也即包含不同的dual_mag配置项,sensor-dts对应dual_mag_sensor节点。参照图7,例如,制式1的电子设备包含hall器件,其dts配置包含sensor-dts1配置,sensor-dts1的dual_mag配置项为:dual_mag=false,以指示电子设备包含的器件是hall器件;又例如,制式2的电子设备包含mag器件,其dts配置包含sensor-dts2配置,sensor-dts2的dual_mag配置项为:dual_mag=true,以指示电子设备包含的器件是mag器件。
需要说明的是,在一些实施例中,可以通过电子设备的硬件标识(board id)区分不同制式的电子设备,如图7中board id1设置“dual_mag=false”,board id2设置“dual_mag=true”。
基于上述实施例对电子设备的设备树配置信息的设置,下面分别针对电子设备中的第一驱动和第二驱动,描述器件注册方案。
示例性的,图8为本申请实施例提供的一种器件注册方法的流程示意图。本实施例的执行主体为电子设备的第一驱动,第一驱动可用于触发第一器件工作,第一器件可以为hall器件,用于检测电子设备的折叠屏的屏幕状态。本实施例的器件注册方案可实现对hall器件的注册。参照图8,本实施例的方法包括:
步骤801.电子设备上电后,若第一驱动确定电子设备中存储有第一器件的注册配置信息,控制第一器件上电。
第一驱动确定电子设备中存储有第一器件的注册配置信息,包括以下情况:
一种可能的情况,第一驱动确定电子设备中存储有第一器件的注册配置信息。
一种可能的情况,第一驱动确定电子设备中存储有第一器件和第二器件的注册配置信息。
其中,第一器件或第二器件的注册配置信息包括但不限于总线地址、中断地址等。
一种示例中,第一驱动可通过查询电子设备的预设存储空间,确定电子设备中是否存储有第一器件和/或第二器件的注册配置信息。
不论上述哪一种情况,第一驱动确定电子设备中存储有第一器件的注册配置信息后,可以发送控制第一器件上电的指令(即执行对第一器件电源状态的配置),与图4a所示方案不同的是,此时第一驱动不直接执行对第一器件的注册流程,而是确定电子设备中包含哪些可用于检测折叠屏屏幕状态的器件,具体可参照步骤802。
步骤802.第一驱动获取电子设备的设备树配置信息,设备树配置信息包括用于指示电子设备中包含第一器件或第二器件的配置项。
一种示例中,第一驱动通过调用第一函数,如get_file_info函数,获取电子设备的设备树配置信息,解析设备树配置信息中用于指示器件类型的配置项,如图7中的dual_mag,该配置项位于设备树配置信息中的dual_mag_sensor节点,该配置项的配置参数包括第一配置参数和第二配置参数。第一配置参数用于指示电子设备包含第一器件,如图7中dual_mag的配置参数为false;第二配置参数用于指示电子设备包含第二器件,如图7中dual_mag的配置参数为true。
步骤803.第一驱动基于设备树配置信息,执行对第一器件的注册流程,或者,通知第二驱动执行对第二器件的注册流程。
一种示例中,第一驱动基于设备树配置信息,执行对第一器件的注册流程。具体来说,第一驱动读取设备树配置信息中指示器件类型的配置项,该配置项的配置参数为第一配置参数(如dual_mag=false),则第一驱动执行对第一器件的注册流程。
一种示例中,第一驱动基于设备树配置信息,通知第二驱动执行对第二器件的注册流程,且第一驱动不执行对第一器件的注册流程。具体来说,第一驱动读取设备树配置信息中指示器件类型的配置项,该配置项的配置参数为第二配置参数(如dual_mag=true),则第一驱动通知第二驱动执行对第二器件的注册流程。在一些实施例中,第一驱动可通过调用第二函数(如fold_init_func接口函数)通知第二驱动执行对第二器件的注册流程。本示例中,第二驱动可用于触发第二器件工作,第二器件可以为mag器件,第二器件可用于辅助检测电子设备的折叠屏的屏幕状态。
本实施例中,第一器件用于检测电子设备折叠屏的屏幕状态,第二器件用于辅助检测电子设备折叠屏的屏幕状态。需要说明的是,本申请对第一器件和第二器件的具体类型不作限制,第一器件还可以是其他可直接上报状态的器件,第二器件还可以是其他需要结合算法辅助检测折叠屏屏幕状态的器件。
本实施例示出的器件注册方法,电子设备的第一驱动在获取第一器件的注册配置信息后,不直接执行对第一器件的注册,而是通过对设备树配置信息的读取,识别当前电子设备包含第一器件还是第二器件,从而确定第一驱动是否执行对第一器件的注册,这样可以避免器件注册的冲突,确保设备能够基于某一器件,如第一器件或第二器件,实现屏幕状态检测。
示例性的,图9为本申请实施例提供的一种器件注册方法的流程示意图。
本实施例的执行主体为电子设备的第二驱动,第二驱动可用于触发第二器件工作,第二器件可以为mag器件,第二器件可用于辅助检测电子设备的折叠屏的屏幕状态。本实施例的器件注册方案实现对mag器件的注册。参照图9,本实施例的方法包括:
步骤901.电子设备上电后,第二驱动确定电子设备中是否存储有第一器件和/或第二器件的注册配置信息。
一种示例中,第二驱动可通过查询电子设备的预设存储空间,确定电子设备中是否存储有第一器件和/或第二器件的注册配置信息。
一种示例中,第二驱动调用第三函数,如init函数,确定当前电子设备中是否存储有第一器件和/或第二器件的注册配置信息。
步骤902.若第二驱动确定电子设备中存储有第一器件和第二器件的注册配置信息,第二驱动不直接执行对第二器件的注册流程,等待第一驱动的通知。
其中,第一驱动可用于触发第一器件工作,第一器件可以为hall器件,第一器件可用于检测电子设备的折叠屏的屏幕状态。通知用于指示第二驱动执行对第二器件的注册流程。
等待第一驱动的通知包括:在预设时间段内接收到第一驱动的通知,或者,在预设时间段内没有接收到第一驱动的通知。
若第二驱动在预设时间段内接收来自第一驱动的通知,执行步骤903。
若第二驱动在预设时间段内未接收到来自第一驱动的通知,第二驱动不执行对第二器件的注册流程。
本申请实施例对预设时间段不作任何限制,可以根据实际需求设置合理的时长。
步骤903.第二驱动基于通知执行对第二器件的注册流程。(可选)
在一些实施例中,若第二驱动确定电子设备中存储有第一器件的注册配置信息(即检测屏幕状态的器件的注册配置信息只有一种),则结束。
在一些实施例中,若第二驱动确定电子设备中存储有第二器件的注册配置信息(即检测屏幕状态的器件的注册配置信息只有一种),则第二驱动执行对第二器件的注册流程。本实施例中,电子设备中没有存储第一器件的注册配置信息,不会出现器件注册冲突问题,因此第二驱动按照常规流程注册第二器件即可。
本实施例中,第一器件用于检测电子设备折叠屏的屏幕状态,第二器件用于辅助检测电子设备折叠屏的屏幕状态。
本实施例示出的器件注册方法,电子设备的第二驱动在执行对第二器件的注册流程之前,增加了对电子设备中器件的注册配置信息的查询步骤,这里的器件是指用于检测或辅助检测电子设备的折叠屏的屏幕状态的器件,如第一器件用于检测电子设备的折叠屏的屏幕状态,第二器件用于辅助检测电子设备的折叠屏的屏幕状态。若查询到多于一种器件的注册配置信息,第二驱动需要等待通知,而不是直接执行对第二器件的注册,这样可以避免器件注册的冲突,确保设备能够基于某一器件,如第一器件或第二器件,实现屏幕状态检测。
基于图8和图9所示实施例,下面一个实施例示出一个更完整的器件注册流程,以充分理解电子设备上电后的器件注册流程。
示例性的,图10为本申请实施例提供的一种器件注册方法的流程示意图。参照图10,电子设备上电后,同时执行两路闭合sensor功能的初始化,分别为hall器件闭合sensor初始化和mag器件闭合sensor初始化。其中,hall器件闭合sensor初始化由第一驱动执行,mag器件闭合sensor初始化由第二驱动执行。
hall器件闭合sensor初始化,具体包括:获取hall器件的注册配置信息,进行hall器件电源状态配置,获取电子设备设备树配置信息中的dual_mag_sensor节点信息,确定该节点信息中的配置项dual_mag的配置参数,若dual_mag=false,则第一驱动执行对hall器件的注册,发布hall器件闭合sensor可用;若dual_mag=true,第一驱动调用fold_init_func接口函数通知第二驱动执行对mag器件的注册。
mag器件闭合sensor初始化,具体包括:确定是否有两种器件(hall器件和mag器件)的注册配置信息,若确定有两种器件的注册配置信息,第二驱动等待通知,保存闭合sensor指针,若接收到第一驱动发送的通知,第二驱动才执行对mag器件的注册。若确定仅有mag器件的注册配置信息,第二驱动可以直接执行对mag器件的注册。第二驱动对mag器件的注册可参照图4b。需要说明的是,上述保存sensor指针可以理解为保存闭合sensor的相关信息,以便后续闭合sensor初始化(即创建)时使用。
上述实施例,通过在不同制式的电子设备的设备树dts中配置不同的节点信息,在闭合sensor初始化阶段,第一驱动读取该节点信息,若dual_mag=true,第一驱动不发布hall器件闭合sensor可用,同时通知第二驱动完成mag器件闭合sensor的初始化流程,此时,只会有一种方案成功创建闭合sensor。若dual_mag=false,第一驱动发布hall器件闭合sensor可用,同时没有等到通知的第二驱动不会完成mag器件闭合sensor的后续流程,此时,也只有一种方案成功创建闭合sensor。上述方案可以确保只有一种闭合sensor方案可以完成初始化,避免不同器件闭合sensor方案注册的冲突。
图11为本申请实施例提供的一种电子设备的结构示意图,如图11所示,电子设备包括处理器1101,通信线路1104以及至少一个通信接口(图11中示例性的以通信接口1103为例进行说明)。
处理器1101可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1104可包括在上述组件之间传送信息的电路。
通信接口1103,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
在一些实施例中,电子设备还可以包括存储器1102。
存储器1102可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1104与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器1102用于存储执行本申请方案的计算机执行指令,并由处理器1101来控制执行。处理器1101用于执行存储器1102中存储的计算机执行指令,从而实现本申请实施例所提供的器件注册方法。
本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
作为一种示例,处理器1101可以包括一个或多个CPU,例如图11中的CPU0和CPU1。
作为一种示例,控制设备可以包括多个处理器,例如图11中的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
本申请实施例提供一种电子设备,电子设备包括:折叠屏,用于检测折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;第一驱动用于触发第一器件工作,第二器件用于触发第二器件工作;第一驱动用于执行上述实施例中第一驱动的方法步骤,第二驱动用于执行上述实施例中第二驱动的方法步骤。
图12为本申请实施例提供的一种芯片的结构示意图。如图12所示,芯片1200包括一个或两个以上(包括两个)处理器1220和通信接口1230。
在一些实施方式中,存储器1240存储了如下的元素:可执行模块或者数据结构,或者,可执行模块或者数据结构的子集,或者,可执行模块或者数据结构的扩展集。
本申请实施例中,存储器1240可以包括只读存储器和随机存取存储器,并向处理器1220提供指令和数据。存储器1240的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器1240、通信接口1230以及存储器1240通过总线系统1210耦合在一起。其中,总线系统1210除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图12中将各种总线都标为总线系统1210。
上述本申请实施例描述的方法可以应用于处理器1220中,或者由处理器1220实现。处理器1220可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1220中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1220可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1220可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储EEPROM等本领域成熟的存储介质中。该存储介质位于存储器1240,处理器1220读取存储器1240中的信息,结合其硬件完成上述方法的步骤。
上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括一个或多个计算机指令。在电子设备上加载和执行计算机程序指令时,使得电子设备执行上述实施例中的技术方案,其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述实施例中的技术方案,其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
计算机可读存储介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。计算机可读存储介质可以包括:紧凑型光盘只读储存器CD-ROM、RAM、ROM、EEPROM或其它光盘存储器;计算机可读存储介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读存储介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种器件注册方法,其特征在于,应用于电子设备,所述电子设备包括折叠屏,用于检测所述折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;所述第一驱动用于触发所述第一器件工作,所述第二驱动用于触发所述第二器件工作;所述方法包括:
所述电子设备上电后,若所述第一驱动确定所述电子设备中存储有所述第一器件的注册配置信息,控制所述第一器件上电;
所述第一驱动获取所述电子设备的设备树配置信息,所述设备树配置信息包括用于指示所述电子设备中包含所述第一器件或所述第二器件的配置项;
所述第一驱动基于所述设备树配置信息,执行对所述第一器件的注册流程,或者,通知所述第二驱动执行对所述第二器件的注册流程。
2.根据权利要求1所述的方法,其特征在于,
所述第一驱动控制所述第一器件上电,包括:
所述第一驱动控制所述第一器件上电,不直接执行对所述第一器件的注册流程。
3.根据权利要求1或2所述的方法,其特征在于,所述第一驱动获取所述电子设备的设备树配置信息,包括:
所述第一驱动调用第一函数获取所述设备树配置信息,解析所述设备树配置信息中所述配置项的配置参数;
其中,所述配置参数包括第一配置参数或第二配置参数,所述第一配置参数用于指示所述电子设备包含所述第一器件,所述第二配置参数用于指示所述电子设备包含所述第二器件。
4.根据权利要求3所述的方法,其特征在于,
若所述配置项的配置参数为第一配置参数,所述第一驱动基于所述设备树配置信息,执行对所述第一器件的注册流程,包括:
所述第一驱动基于所述设备树配置信息中的所述第一配置参数,执行对所述第一器件的注册流程。
5.根据权利要求3所述的方法,其特征在于,
若所述配置项的配置参数为第二配置参数,所述第一驱动基于所述设备树配置信息,通知所述第二驱动执行对所述第二器件的注册流程,包括:
所述第一驱动基于所述设备树配置信息中的所述第二配置参数,调用第二函数通知所述第二驱动执行对所述第二器件的注册流程,所述第一驱动不执行对所述第一器件的注册流程。
6.一种器件注册方法,其特征在于,应用于电子设备,所述电子设备包括折叠屏,用于检测所述折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;所述第一驱动用于触发所述第一器件工作,所述第二驱动用于触发所述第二器件工作;所述方法包括:
所述电子设备上电后,所述第二驱动确定所述电子设备中是否存储有所述第一器件和/或所述第二器件的注册配置信息;
若所述第二驱动确定所述电子设备中存储有所述第一器件和所述第二器件的注册配置信息,所述第二驱动不直接执行对所述第二器件的注册流程;
所述第二驱动等待所述第一驱动的通知,所述通知用于指示所述第二驱动执行对所述第二器件的注册流程。
7.根据权利要求6所述的方法,其特征在于,所述第二驱动确定所述电子设备中是否存储有所述第一器件和/或所述第二器件的注册配置信息,包括:
所述第二驱动调用第三函数,确定所述电子设备中是否存储有所述第一器件和/或所述第二器件的注册配置信息。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述第二驱动在预设时间段内接收到来自所述第一驱动的通知,所述第二驱动基于所述通知执行对所述第二器件的注册流程;或者
所述第二驱动在所述预设时间段内未接收到来自所述第一驱动的通知,所述第二驱动不执行对所述第二器件的注册流程。
9.一种电子设备,其特征在于,所述电子设备包括:折叠屏,用于检测所述折叠屏的屏幕状态的第一器件或第二器件,以及第一驱动和第二驱动;
所述第一驱动用于触发所述第一器件工作,所述第二器件用于触发所述第二器件工作;
所述第一驱动用于执行如权利要求1至5任一项所述的方法;
所述第二驱动用于执行如权利要求6至8任一项所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器,所述处理器用于调用所述存储器中的计算机程序,以执行如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至8任一项所述的方法。
12.一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于调用存储器中的计算机程序,以执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428211.6A CN116708615B (zh) | 2022-11-15 | 2022-11-15 | 器件注册方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211428211.6A CN116708615B (zh) | 2022-11-15 | 2022-11-15 | 器件注册方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116708615A CN116708615A (zh) | 2023-09-05 |
CN116708615B true CN116708615B (zh) | 2024-04-09 |
Family
ID=87838077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211428211.6A Active CN116708615B (zh) | 2022-11-15 | 2022-11-15 | 器件注册方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116708615B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662665A (zh) * | 2012-03-29 | 2012-09-12 | 福州瑞芯微电子有限公司 | 在安卓系统上实现支持各种传感器的输入子系统 |
CN103353835A (zh) * | 2013-01-17 | 2013-10-16 | 珠海全志科技股份有限公司 | Android系统Sensor HAL层兼容多种同种Sensor设备的移植处理方法及装置 |
CN106502681A (zh) * | 2016-10-31 | 2017-03-15 | 广东欧珀移动通信有限公司 | 一种传感器的注册方法、装置及移动终端 |
CN114995591A (zh) * | 2021-10-30 | 2022-09-02 | 荣耀终端有限公司 | 传感器注册方法、控制系统及相关设备 |
-
2022
- 2022-11-15 CN CN202211428211.6A patent/CN116708615B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662665A (zh) * | 2012-03-29 | 2012-09-12 | 福州瑞芯微电子有限公司 | 在安卓系统上实现支持各种传感器的输入子系统 |
CN103353835A (zh) * | 2013-01-17 | 2013-10-16 | 珠海全志科技股份有限公司 | Android系统Sensor HAL层兼容多种同种Sensor设备的移植处理方法及装置 |
CN106502681A (zh) * | 2016-10-31 | 2017-03-15 | 广东欧珀移动通信有限公司 | 一种传感器的注册方法、装置及移动终端 |
CN114995591A (zh) * | 2021-10-30 | 2022-09-02 | 荣耀终端有限公司 | 传感器注册方法、控制系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116708615A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102575123B1 (ko) | 애플리케이션 디스플레이 방법 및 전자 장치 | |
CN113190362B (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
CN114442969A (zh) | 一种设备间屏幕协同方法及设备 | |
CN112612539A (zh) | 数据模型卸载方法、装置、电子设备及存储介质 | |
CN116708615B (zh) | 器件注册方法、设备及存储介质 | |
CN113326498A (zh) | 权限复用方法、基于权限复用的资源访问方法及相关设备 | |
CN117156088A (zh) | 图像处理方法及相关装置 | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN114172925B (zh) | 配网方法及设备 | |
CN115543276A (zh) | 一种用于实现软件开发的方法、系统以及电子设备 | |
CN115902766B (zh) | 一种测量方法及相关装置 | |
CN115421599B (zh) | 输入法显示控制方法及相关装置 | |
CN116088970B (zh) | 控制应用调用的方法及相关装置 | |
WO2024061129A1 (zh) | 数据访问方法、电子设备和计算机可读存储介质 | |
CN115291995B (zh) | 一种消息显示方法及相关电子设备、可读存储介质 | |
WO2024055875A1 (zh) | 服务卡片的添加方法、电子设备及计算机可读存储介质 | |
CN116688494B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116743908B (zh) | 壁纸显示方法及相关装置 | |
WO2024066976A1 (zh) | 控件显示方法及电子设备 | |
WO2024083114A1 (zh) | 一种软件分发方法、电子设备及系统 | |
WO2023071590A1 (zh) | 输入控制方法及电子设备 | |
WO2024037346A1 (zh) | 页面管理方法及电子设备 | |
CN116991532A (zh) | 一种虚拟机窗口的显示方法、电子设备及系统 | |
CN117615055A (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 |