一种马达振动方法、终端及存储介质与流程

文档序号:19872801发布日期:2020-02-08 06:03阅读:168来源:国知局
一种马达振动方法、终端及存储介质与流程

本申请实施例涉及电子通信技术领域,尤其涉及一种马达振动方法、终端及存储介质。



背景技术:

人们在使用手机、平板电脑等终端时,通常可以获得三种形式的反馈,分别为:视觉反馈、听觉反馈和触觉反馈。视觉反馈主要依靠显示屏来实现,也是信息量最大的反馈方式,用户在屏幕上的操作都会在屏幕上显示相应的反馈。听觉反馈主要依赖于扬声器发出的各种声音。触觉反馈,包括用户按下的按键的触感,以及振动马达发出的振动。

目前,终端上通常配置有普通振动马达,终端在接收到用户进行特定的操作,或者接收到信息等应用场景下,控制振动马达进行振动,从而为用户带来震感体验,但是,普通振动马达产生的振动效果较差。



技术实现要素:

本申请实施例提供一种马达振动方法、终端及存储介质,结合线性马达振动应用程序接口、线性马达振动硬件抽象服务等服务和接口,实现对线性振动马达的振动控制,提高了终端的振动效果。

本申请实施例的技术方案是这样实现的:

本申请实施例提供了一种马达振动方法,应用于终端,所述终端包括:部署在框架层的线性马达振动应用程序接口和振动服务、部署在硬件抽象层的线性马达振动硬件抽象服务,以及部署在驱动层的振动驱动,所述方法包括:

通过所述线性马达振动应用程序接口,接收应用程序发送的控制请求;

通过所述振动服务,将所述控制请求转发至所述线性马达振动硬件抽象服务;

通过所述线性马达振动硬件抽象服务,将所述控制请求转发至所述振动驱动;

通过所述振动驱动,根据所述控制请求对线性振动马达进行振动控制。

在上述方案中,所述通过所述振动服务,将所述控制请求转发至所述线性马达振动硬件抽象服务,包括:

通过所述振动服务,调用线性马达硬件抽象层接口;所述线性马达硬件抽象层接口部署在所述硬件抽象层;

通过所述线性马达硬件抽象层接口,将所述控制请求转发至所述线性马达振动硬件抽象服务。

在上述方案中,所述线性马达硬件抽象层接口包括所述线性振动马达的多个接口方法,所述通过所述振动服务,调用线性马达硬件抽象层接口,包括:

通过所述振动服务,根据所述控制请求,从所述多个接口方法中确定目标方法;

通过所述振动服务,调用所述线性马达硬件抽象层接口的所述目标方法;

相应的,所述通过所述线性马达硬件抽象层接口,将所述控制请求转发至所述线性马达振动硬件抽象服务,包括:

通过所述线性马达硬件抽象层接口,利用所述目标方法,将所述控制请求转发至所述线性马达振动硬件抽象服务。

在上述方案中,所述通过所述线性马达振动硬件抽象服务,将所述控制请求转发至振动驱动,包括:

通过所述线性马达振动硬件抽象服务,获取所述振动驱动提供的驱动节点;

通过所述线性马达振动硬件抽象服务,将所述控制请求写入所述驱动节点,以供所述振动驱动从所述驱动节点获取所述控制请求。

在上述方案中,通过所述振动驱动,根据所述控制请求对线性振动马达进行振动控制,包括:

在所述控制请求指示开始振动的情况下,通过所述振动驱动,驱动所述线性振动马达发起振动;

在所述控制请求指示停止振动的情况下,通过所述振动驱动,停止驱动所述线性振动马达的振动。

本申请实施例提供了一种终端,所述终端包括:部署在框架层的线性马达振动应用程序接口和振动服务、部署在硬件抽象层的线性马达振动硬件抽象服务,以及部署在驱动层的振动驱动;

所述线性马达振动应用程序接口,用于接收应用程序发送的控制请求;

所述振动服务,用于将所述控制请求转发至所述线性马达振动硬件抽象服务;

所述线性马达振动硬件抽象服务,用于将所述控制请求转发至所述振动驱动;

所述振动驱动,用于根据所述控制请求对线性振动马达进行振动控制。

在上述终端中,所述终端还包括部署在所述硬件抽象层的线性马达硬件抽象层接口;

所述振动服务,具体用于调用线性马达硬件抽象层接口;

所述线性马达硬件抽象层接口,具体用于将所述控制请求转发至所述线性马达振动硬件抽象服务。

在上述终端中,所述线性马达硬件抽象层接口包括所述线性振动马达的多个接口方法,

所述振动服务,具体用于根据所述控制请求,从所述多个接口方法中确定目标方法;调用所述线性马达硬件抽象层接口的所述目标方法;

所述线性马达硬件抽象层接口,具体用于利用所述目标方法,将所述控制请求转发至所述线性马达振动硬件抽象服务。

在上述终端中,所述线性马达振动硬件抽象服务,具体用于获取所述振动驱动提供的驱动节点;将所述控制请求写入所述驱动节点,以供所述振动驱动从所述驱动节点获取所述控制请求。

在上述终端中,在所述控制请求指示开始振动的情况下,所述振动驱动,具体用于驱动所述线性振动马达发起振动;

在所述控制请求指示停止振动的情况下,所述振动驱动,具体用于停止驱动所述线性振动马达的振动。

本申请实施例提供了一种终端,所述终端包括:处理器、存储器和通信总线;

所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;

所述处理器,用于执行所述存储器中存储的马达振动程序,以实现上述马达振动方法。

本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述马达振动方法。

本申请实施例提供了一种马达振动方法,应用于终端,终端包括:部署在框架层的线性马达振动应用程序接口和振动服务、部署在硬件抽象层的线性马达振动硬件抽象服务,以及部署在驱动层的振动驱动,方法包括:通过线性马达振动应用程序接口,接收应用程序发送的控制请求;通过振动服务,将控制请求转发至线性马达振动硬件抽象服务;通过线性马达振动硬件抽象服务,将控制请求转发至振动驱动;通过振动驱动,根据控制请求对线性振动马达进行振动控制。本申请实施例的技术方案,结合线性马达振动应用程序接口、线性马达振动硬件抽象服务等服务和接口,实现对线性振动马达的振动控制,提高了终端的振动效果。

附图说明

图1为本申请实施例提供的一种终端的框架示意图;

图2为本申请实施例提供的一种马达振动方法的流程示意图;

图3为本申请实施例提供的一种示例性的线性马达硬件的功能示意图

图4为本申请实施例提供的一种终端的结构示意图一;

图5为本申请实施例提供的一种终端的结构示意图二。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。

本申请实施例提供了一种马达振动方法,应用于终端。图1为本申请实施例提供的一种终端的框架示意图。如图1所示,终端可以包括应用层、框架层、硬件抽象层和驱动层。

需要说明的是,在本申请的实施例中,如图1所示,应用层包含有应用程序,具体的应用程序可以根据实际需求设置,本申请实施例不作限定。

需要说明的是,框架层(framework)包含有许多系统服务和组件,并以应用程序接口(applicationprogramminginterface,api)的形式暴露给应用层的应用程序,为应用程序提供支持服务。其中,应用程序接口是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需理解内部工作机制的细节。如图1所示,在本申请的实施例中,框架层包含有原生振动应用程序接口(applicationprogramminginterface,api)、线性马达振动应用程序接口和振动服务。振动服务用于提供振动相关支持的服务。

需要说明的是,硬件抽象层(hardwareabstractionlayer,hal),能以封闭源的形式提供硬件驱动模块,其目的是在于将硬件抽象化,隐藏了特定平台的硬件接口细节,提供一致的硬件交互接口。如图1所示,在本申请的实施例中,硬件抽象层包括原生振动硬件抽象服务和线性马达振动硬件抽象服务。

需要说明的是,在本申请的实施例中,如图1所示,驱动层包括振动驱动,是一个允许高级计算机软件与硬件交互的程序,也就是驱使硬件工作的一组程序。

需要说明的是,在本申请的实施例中,原生振动应用程序接口、原生振动硬件抽象服务均来源于系统官方。

需要说明的是,在现有技术中,框架层包括原生振动应用程序接口和振动服务,硬件抽象层包括原生振动硬件抽象服务,因此,基于这些部分,仅能实现普通马达的振动控制,图1左侧箭头所示流程,即为控制普通马达振动的过程。而在本申请的实施例中,终端可以配置有线性振动马达,线性振动马达相比于普通的振动马达,提供的震感更加丰富多样,更加具有立体感,具体的线性振动马达的类型本申请实施例不作限定。在终端各层增加了用于实现线性振动马达的服务和接口,从而为应用程序提供线性振动马达的振动功能,提高了终端的振动效果。

以下基于上述终端架构,详细说明本申请提供的马达振动方法。

图2为本申请实施例提供的一种马达振动方法的流程示意图。如图2所示,马达振动方法主要包括以下步骤:

s201、通过线性马达振动应用程序接口,接收应用程序发送的控制请求。

在本申请的实施例中,终端可以通过线性马达振动应用程序接口,接收应用程序发送的控制请求。

可以理解的是,在本申请的实施例中,线性马达振动应用程序接口,实际上就是应用层的应用程序与框架层之间的通道。

需要说明的是,在本申请的实施例中,可以预先在框架层建立线性马达振动应用程序接口。具体的,vibrator.java是终端提供的振动相关的应用程序接口集合,例如,该集合中可以包括的vibrate方法即为原生振动应用程序接口,因此,可以在该集合中添加一个方法作为线性马达振动应用程序接口。

示例性的,在本申请的实施例中,线性马达振动应用程序接口的伪代码如下所示:

classvibrator{

publicvoidlinearmotorvibrate();

}

需要说明的是,在本申请的实施例中,终端通过线性马达振动应用程序接口可以接收应用程序发送的针对线性振动马达的控制请求,此外,参考图1,终端也可以通过原生振动应用程序接口接收应用程序发送的针对普通马达的控制请求。

可以理解的是,在本申请的实施例中,终端的框架层中建立了线性马达振动应用程序接口,应用程序即可调用线性马达振动应用程序接口,实现控制请求的发送。

s202、通过振动服务,将控制请求转发至线性马达振动硬件抽象服务。

在本申请的实施例中,终端在通过线性马达振动应用程序接口接收到控制请求之后,即可通过振动服务将控制请求转发至线性马达振动硬件抽象服务。

需要说明的是,在本申请的实施例中,框架层和硬件抽象层的交互需要通过特定的接口,因此,硬件抽象层实际上还包括了线性马达硬件抽象层接口,以实现振动请求的转发。

具体的,在本申请的实施例中,终端通过振动服务,将控制请求转发至线性马达振动硬件抽象服务,包括:通过振动服务,调用线性马达硬件抽象层接口;线性马达硬件抽象层接口部署在硬件抽象层;通过线性马达硬件抽象层接口,将控制请求转发至线性马达振动硬件抽象服务。

需要说明的是,在本申请的实施例中,终端的框架层通过振动服务,调用线性马达硬件抽象层接口之前,实际上需要根据线性振动马达的多个接口方法,预先在硬件抽象层创建线性马达硬件抽象层接口。

需要说明的是,在本申请的实施例中,在实际情况中,可以根据不同的应用场景在线性马达硬件抽象层接口中增加多个接口方法,以增加对线性振动马达的细粒度控制。具体的多种接口方法本申请实施例不作限定。

示例性的,在本申请的实施例中,线性振动马达的多个接口方法包括开始振动方法和停止振动方法,相应的线性马达硬件抽象层接口的伪代码如下:

interfaceilinearmotorvibrator{

vibratoron();

vibratoroff();

}

需要说明的是,在本申请的实施例中,定义线性马达硬件抽象层接口的方法可以参考系统官方文档,在此不再赘述。

具体的,在本申请的实施例中,线性马达硬件抽象层接口包括线性振动马达的多个接口方法,终端通过振动服务,调用线性马达硬件抽象层接口,包括:通过振动服务,根据控制请求,从多个接口方法中确定目标方法,并调用线性马达硬件抽象层接口的目标方法;相应的,通过线性马达硬件抽象层接口,将控制请求转发至线性马达振动硬件抽象服务,包括:通过线性马达硬件抽象层接口,利用目标方法,将控制请求转发至线性马达振动硬件抽象服务。

需要说明的是,在本申请的实施例中,控制请求指示了针对线性振动马达的控制方式,例如开始振动和停止振动,相应的,线性马达硬件抽象层接口包括得到多个接口方法对应了不同的控制方式,例如开始振动方法和停止振动方法,因此,振动服务可以通过调用线性马达硬件抽象层接口的相应接口方法实现控制请求的转发。例如,控制请求指示开始振动,开始振动方法即为目标方法,则通过振动服务调用线性马达硬件抽象层的开始振动方法转发控制请求,控制请求指示停止振动,框则通过振动服务调用线性马达硬件抽象层的停止振动方法转发控制请求。

s203、通过线性马达振动硬件抽象服务,将控制请求转发至振动驱动。

在本申请的实施例中,终端通过振动服务,将控制请求转发至线性马达振动硬件抽象服务之后,进一步的,通过线性马达振动硬件抽象服务,将控制请求转发至振动驱动。

具体的,在本申请的实施例中,终端的硬件抽象层通过线性马达振动硬件抽象服务,将控制请求转发至振动驱动,包括:通过线性马达振动硬件抽象服务,获取振动驱动提供的驱动节点;通过线性马达振动硬件抽象服务,将控制请求写入驱动节点,以供振动驱动从驱动节点获取控制请求。

需要说明的是,在本申请的实施例中,线性马达振动硬件抽象服务接收到框架层发送的控制请求后,需要将其转发给驱动层的振动驱动,转发过程是通过写驱动节点来实现的,驱动节点有振动驱动提供,振动驱动和写节点的方式由硬件服务商提供,本申请实施例不作限定。

可以理解的是,在本申请的实施例中,线性马达振动硬件抽象服务是位于硬件抽象层的一个新增服务,目的是连接框架层和驱动层,将来自框架层的控制请求转发给驱动,起着承上启下的作用。图3为本申请实施例提供的一种示例性的线性马达硬件抽象服务的功能示意图。如图3所示,线性马达振动硬件抽象服务通过线性马达硬件抽象层接口接收来自框架层的控制请求,从而将控制请求写入驱动节点,以转发至驱动层的振动驱动。

s204、通过振动驱动,根据控制请求对线性振动马达进行振动控制。

在本申请的实施例中,终端驱动层通过振动驱动接收到控制请求之后,即可通过振动驱动,根据控制请求对线性振动马达进行振动控制。

需要说明的是,在本申请的实施例中,控制请求指示的控制方式可以为开始振动或停止振动,因此,振动驱动根据该控制请求可以对线性振动马达进行相应的振动控制。

具体的,在本申请的实施例中,终端通过振动驱动,根据控制请求对线性振动马达进行振动控制,包括:在控制请求指示开始振动的情况下,通过振动驱动,驱动线性振动马达发起振动;在控制请求指示停止振动的情况下,通过振动驱动,停止驱动线性振动马达的振动。

本申请实施例提供了一种马达振动方法,应用于终端,终端包括:部署在框架层的线性马达振动应用程序接口和振动服务、部署在硬件抽象层的线性马达振动硬件抽象服务,以及部署在驱动层的振动驱动,方法包括:通过线性马达振动应用程序接口,接收应用程序发送的控制请求;通过振动服务,将控制请求转发至线性马达振动硬件抽象服务;通过线性马达振动硬件抽象服务,将控制请求转发至振动驱动;通过振动驱动,根据控制请求对线性振动马达进行振动控制。本申请实施例的技术方案,结合线性马达振动应用程序接口、线性马达振动硬件抽象服务等服务和接口,实现对线性振动马达的振动控制,提高了终端的振动效果。

本申请实施例提供了一种终端。图4为本申请实施例提供的一种终端的结构示意图一。如图4所示,所述终端包括:部署在框架层的线性马达振动应用程序接口401和振动服务402、部署在硬件抽象层的线性马达振动硬件抽象服务403,以及部署在驱动层的振动驱动404;

所述线性马达振动应用程序接口401,用于接收应用程序发送的控制请求;

所述振动服务402,用于将所述控制请求转发至所述线性马达振动硬件抽象服务403;

所述线性马达振动硬件抽象服务403,用于将所述控制请求转发至所述振动驱动404;

所述振动驱动404,用于根据所述控制请求对线性振动马达进行振动控制。

在上述终端中,所述终端还包括部署在所述硬件抽象层的线性马达硬件抽象层接口405;

所述振动服务402,具体用于调用线性马达硬件抽象层接口405;

所述线性马达硬件抽象层接口405,具体用于将所述控制请求转发至所述线性马达振动硬件抽象服务403。

在上述终端中,所述线性马达硬件抽象层接口405包括所述线性振动马达的多个接口方法,

所述振动服务402,具体用于根据所述控制请求,从所述多个接口方法中确定目标方法;调用所述线性马达硬件抽象层接口405的所述目标方法;

所述线性马达硬件抽象层接口405,具体用于利用所述目标方法,将所述控制请求转发至所述线性马达振动硬件抽象服务403。

在上述终端中,所述线性马达振动硬件抽象服务403,具体用于获取所述振动驱动404提供的驱动节点;将所述控制请求写入所述驱动节点,以供所述振动驱动404从所述驱动节点获取所述控制请求。

在上述终端中,在所述控制请求指示开始振动的情况下,所述振动驱动404,具体用于驱动所述线性振动马达发起振动;

在所述控制请求指示停止振动的情况下,所述振动驱动404,具体用于停止驱动所述线性振动马达的振动。

图5为本申请实施例提供的一种终端的结构示意图二。如图5所示,所述终端包括:处理器501、存储器502和通信总线503;

所述通信总线503,用于实现所述处理器501和所述存储器502之间的通信连接;

所述处理器501,用于执行所述存储器502中存储的马达振动程序,以实现上述马达振动方法。

本申请实施例提供了一种终端,包括:部署在框架层的线性马达振动应用程序接口和振动服务、部署在硬件抽象层的线性马达振动硬件抽象服务,以及部署在驱动层的振动驱动,该终端通过线性马达振动应用程序接口,接收应用程序发送的控制请求;通过振动服务,将控制请求转发至线性马达振动硬件抽象服务;通过线性马达振动硬件抽象服务,将控制请求转发至振动驱动;通过振动驱动,根据控制请求对线性振动马达进行振动控制。本申请实施例的终端,结合线性马达振动应用程序接口、线性马达振动硬件抽象服务等服务和接口,实现对线性振动马达的振动控制,提高了终端的振动效果。

本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述马达振动方法。计算机可读存储介质可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);或者非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1