触控数据扫描的控制方法、装置、计算机设备和存储介质与流程

未命名 09-18 阅读:122 评论:0


1.本技术涉及触控技术领域,特别是涉及一种触控数据扫描的控制方法、装置、计算机设备和存储介质。


背景技术:

2.随着手机等终端不断发展屏幕等区域的触控技术,触摸控制模块的内在逻辑越来越复杂。
3.现有技术,为了降低其复杂性,会针对触摸控制模块进行驱动接口的封装处理,然后由应用层直接调用封装的驱动接口,以此实现对触控数据的采集。在这一情况下,应用工程师需要理解底层的实现逻辑,才能了解不同处理模式杂糅的触控数据如何拆解,其触控数据的使用过于复杂。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种触控数据扫描的控制方法、装置、计算机设备和计算机可读存储介质,能够降低触控数据使用的复杂度。
5.第一方面,本技术提供了一种触控数据扫描的控制方法,应用于扫描控制器,所述方法包括:
6.对触控数据进行扫描;
7.在所述触控数据的扫描过程中,对所述触控数据进行有效性检测,得到检测结果;
8.当所述检测结果为有效时,则进入有效状态,并将所述触控数据作为有效状态数据传输至应用层;
9.当所述检测结果为无效时,则进入无效状态,并将所述触控数据作为无效状态数据。
10.在其中一个实施例中,所述对触控数据进行扫描之前,所述方法还包括:
11.在初始化状态下,获取目标模式的扫描参数;
12.基于所述扫描数据进行参数配置,并在完成配置后,将所述初始化状态变更为工作状态;
13.所述对触控数据进行扫描,包括:
14.在所述工作状态下,对触控数据进行扫描。
15.在其中一个实施例中,所述对触控数据进行扫描,包括:
16.在对触控数据进行扫描过程中,检测是否发生屏幕模式切换;
17.若未发生所述屏幕模式切换,则继续对当前帧的触控数据的剩余数据进行扫描,直至所述当前帧的触控数据扫描完成。
18.在其中一个实施例中,所述触控数据包括至少两帧触控数据;所述在对触控数据进行扫描过程中,检测是否发生屏幕模式切换之后,还包括:
19.若发生所述屏幕模式切换,则停止所述当前帧的触控数据扫描,基于所述当前帧
的下一帧触控数据进行扫描,并进入工作状态。
20.在其中一个实施例中,所述对所述触控数据进行有效性检测,得到检测结果,包括:
21.根据所述触控数据的屏幕模式信息,判断是否发生屏幕模式切换;
22.若未发生所述屏幕模式切换,则所述触控数据是有效的;
23.若发生所述屏幕模式切换,则确定所述触控数据是无效的。
24.在其中一个实施例中,所述屏幕模式切换为亮屏模式与熄屏模式之间的切换,所述亮屏模式与所述熄屏模式分别采用不同的扫描参数。
25.在其中一个实施例中,所述触控数据包括至少两帧触控数据,且相邻帧触控数据分别存储于不同缓存区。
26.第二方面,本技术还提供了一种触控数据扫描的控制装置,所述装置包括:
27.扫描模块,用于对触控数据进行扫描;
28.检测模块,用于在所述触控数据的扫描过程中,对所述触控数据进行有效性检测,得到检测结果;
29.传输模块,用于当所述检测结果为有效时,则进入有效状态,并将所述触控数据作为有效状态数据传输至应用层;
30.标志模块,用于当所述检测结果为无效时,则进入无效状态,并将所述触控数据作为无效状态数据。
31.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意实施例中触控数据扫描的控制的步骤。
32.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实施例中触控数据扫描的控制的步骤。
33.上述触控数据扫描的控制方法、装置、计算机设备和存储介质,在触控数据扫描过程中,对触控数据进行有效性检测;当有效时,复杂度相对较低,扫描控制器进入有效状态,并将有效状态下的触控数据作为有效状态数据传输至应用层;当无效时,扫描控制器进入无效状态,并将所述触控数据作为无效状态数据。由此,通过有效性检测确定扫描控制器的有效状态与无效状态,将触控数据划分为有效状态数据和无效状态数据,无需应用层工程师对触控数据进行拆解,直接将有效状态数据传输至应用层,以降低应用层调用触控数据的复杂度。
附图说明
34.图1为一个实施例中触控数据扫描的控制方法的应用环境图;
35.图2为一个实施例中触控数据扫描的控制方法的流程示意图;
36.图3为一个实施例中扫描控制器的状态示意图;
37.图4为另一个实施例中扫描控制器的软件框架示意图;
38.图5为一个实施例中扫描控制器的进行数据处理的流程示意图;
39.图6为另一个实施例中触控数据扫描的控制方法的流程示意图;
40.图7为一个实施例中触控数据扫描的控制装置的结构框图;
41.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.本技术实施例提供的触控数据扫描的控制方法,可以应用于如图1所示的应用环境中。其中,终端102可通过中央处理器(central processing unit,cpu)、微控制单元(microcontroller unit,mcu)等芯片执行触控数据扫描的控制方法,且该芯片设置有应用层、自动扫描控制器(auto scan manager,asm)及触摸控制层,扫描控制器传输应用层和触摸控制层之间的数据,应用层涉及驱动接口,其用于接收扫描控制器输入的有效状态数据;扫描控制器用于根据数据扫描过程,确定无效状态数据,并确定用于输入应用层的有效状态数据;触摸控制层用于获取并将触控数据输出到扫描控制器;扫描控制器可以基于软件或硬件实现;且扫描控制器还用于确定初始化状态与工作状态,以明确扫描参数配置的过程。
44.在一个实施例中,如图2所示,提供了一种触控数据扫描的控制方法,以该方法应用于扫描控制器,方法包括以下步骤:
45.步骤202,对触控数据进行扫描。
46.触控数据是在触摸控制层输出的数据。触摸控制层是前端控制模块(analog front end,afe),前端控制模块所输出的数据为触控数据。触控数据是应用层所处理的数据,而应用层具有多种模式,各种模式存在相应触控数据的驱动接口,可通过各种模式下的驱动接口实现不同触控行为的识别过程。
47.由于触控数据产生的时机是难以把控的,且应用层在不同模式调用触控数据的不同驱动接口,因此,当直接将触控数据发送到应用层进行处理时,每帧触控数据可能涉及采用不同模式的切换过程,其驱动接口调用的逻辑过于复杂。
48.可选地,触控数据的扫描过程是通过触控与显示驱动器集成芯片(touch and display driver integration,tddi)控制的,触控与显示驱动器集成芯片中的触摸子系统(touch),可通过采集屏幕上面的电容变化量,来识别人体的手指触摸行为。
49.可选地,触控数据是逐帧扫描的,各帧触控数据可以是按照某赫兹(hz)的频率进行采集,并以某时间段内采集的数据进行封装所得的。例如:触控数据是按照60赫兹的频率进行采集的(即每秒钟采集60份数据),并以每16毫秒(ms)采集所得的数据封装成一帧触控数据,各帧数据依采集的顺序进行扫描。
50.步骤204,在触控数据的扫描过程中,对触控数据进行有效性检测,得到检测结果。
51.可选地,对触控数据进行扫描的过程中,若检测到满足中断条件时,判断是否对当前帧的触控数据与当前帧的下一帧触控数据进行检测。中断条件满足时触控数据在扫描过程停止。中断条件可以是针对各帧触控数据设置的;中断条件可用于表征某些中断事件的执行过程。例如:当某帧触控数据扫描完成时,该帧触控数据满足中断条件;当某帧触控数据未扫描完成,且未完成扫描的该帧触控数据触发某模式的扫描参数调整事件时,该帧触
控数据满足中断条件。
52.步骤206,当检测结果为有效时,则进入有效状态,并将触控数据作为有效状态数据传输至应用层。
53.有效状态是扫描控制器的一种扫描状态,有效状态下扫描所得的触控数据为有效状态数据,有效状态数据可作为应用层在某种处理模式的输入数据,以使应用层根据有效状态数据进行接口调用,实现某种功能。
54.在一个实施例中,前端控制模块基于屏幕的电容变化量生成触控数据;前端控制模块将触控数据输入到扫描控制器,且扫描控制器确定该触控数据是否属于某种模式;若属于某一种模式,则该前端控制模块可作为有效状态数据传输至这种某模式下的应用层。示例性地,有效状态数据可用于识别亮屏模式下的手势,有效状态数据也可用于识别亮屏模式下的手指,或者,用于识别熄屏模式下的手势。
55.在一个实施例中,将触控数据作为有效状态数据,包括:将触控数据存储于内存中,并通过有效状态标志对触控数据进行标记,得到有效状态数据;其中,可根据有效状态标志,将内存中的有效状态数据传输至应用层。
56.在一个实施例中,将触控数据作为有效状态数据传输至应用层之后,该方法还包括:通过应用层识别有效状态数据中的模式信息;按照识别出的模式信息确定驱动接口的调用模式;按照调用模式,通过有效状态数据进行驱动接口的调用。例如:通过亮屏模式下的有效状态数据识别手指的触控;通过熄屏模式下的有效状态数据识别手势。
57.步骤208,当检测结果为无效时,则进入无效状态,并将触控数据作为无效状态数据。
58.无效状态是扫描控制器的一种扫描状态,无效状态下扫描所得的触控数据为无效状态数据,无效状态数据不可作为应用层在某种处理模式的输入数据,因为无效状态数据的触控数据的触摸模式存在逻辑混乱,难以准确地对应用层的接口进行接口调用。
59.在一个实施例中,将触控数据作为无效状态数据,包括:将触控数据存储于内存中,并通过无效状态标志对触控数据进行标记,得到无效状态数据。
60.在一个实施例中,将触控数据作为无效状态数据之后,还包括:将当前帧的无效状态数据存储于内存中;在当前帧的下一帧触控数据扫描过程中,通过下一帧触控数据扫描的数据覆盖内存中的无效状态数据。
61.在一个示例性地实施例中,当触控数据属于一种处理模式时,其检测结果为触控数据有效,且该触控数据属于这一种处理模式下的有效状态数据;当触控数据涉及两种处理模式时,其检测结果为触控数据无效,且该触控数据属于无效状态数据。
62.上述触控数据扫描的控制方法中,在触控数据扫描过程中,对触控数据进行有效性检测;当有效时,复杂度相对较低,扫描控制器进入有效状态,并将有效状态下的触控数据作为有效状态数据传输至应用层;当无效时,扫描控制器进入无效状态,并将所述触控数据作为无效状态数据。由此,通过有效性检测确定扫描控制器的有效状态与无效状态,将触控数据划分为有效状态数据和无效状态数据,无需应用层工程师对触控数据进行拆解,直接将有效状态数据传输至应用层,以降低应用层调用触控数据的复杂度。
63.在一个实施例中,对触控数据进行扫描之前,方法还包括:在初始化状态下,获取目标模式的扫描参数;基于扫描数据进行参数配置,并在完成配置后,将初始化状态变更为
工作状态。
64.相对应的,对触控数据进行扫描,包括:在工作状态下,对触控数据进行扫描。
65.初始化状态是对触控数据的扫描过程进行参数配置的状态,其是底层配置过程中的实现逻辑归纳所得,可以降低参数配置过程的复杂度。
66.目标模式用于控制触控数据进行扫描的相对应规则,不同目标模式可配置不同的扫描参数。可选地,目标模式可以是屏幕模式,屏幕模式包括熄屏模式与亮屏模式;熄屏模式与亮屏模式涉及触控数据的不同驱动接口。可选地,屏幕模式可以是lcd屏幕的状态。
67.工作状态是执行触控数据进行扫描的状态,其可以称为busy态。工作状态中的数据用于确定各帧触控数据为有效状态数据或无效状态数据。
68.在一个实施方式中,在初始化状态下,获取目标模式的扫描参数,包括:在初始化状态下,接收到扫描参数的配置指令。
69.相对应的,基于扫描数据进行参数配置,包括:将配置指令添加到扫描控制器的运行表格。其中,运行表格用于对扫描控制器在工作状态进行扫描的过程进行控制,用于在扫描控制器进入有效状态或无效状态时的数据输出或删除过程。
70.可选地,扫描参数包括但不限于;数据是否有效标志、扫描命令、扫描模式参数、扫描模式命令控制表,其参数具体包括:
71.数据是否有效标志:
72.typedef enum
73.{
74.scan_data_idle=0,//空
75.scan_data_ok,//扫描完成数据有效
76.scan_data_drop,//扫描完成数据无效
77.}enum_scan_data;
78.扫描命令:
79.typedef struct
80.{
81.uint16_t done_frame;//已经完成的帧数
82.st_scan_info_t info;//扫描参数
83.}st_scan_cmd;
84.扫描模式参数:
85.typedef struct
86.{
87.uint8_t mode;//由屏幕模式决定的扫描模式
88.uint8_t frame;//需要工作帧数
89.}st_scan_info_t;
90.扫描模式命令控制表:
91.typedef struct
92.{
93.uint8_t cmd_num;/*一次扫描中的id数量*/
94.uint8_t cmd_idx;/*本次扫描中的模式id*/
95.uint8_t done_idx;/*本次扫描完成的模式id,供取数用*/
96.uint8_t status;/*work state*/
97.uint8_t data_valid;/*数据是否有效*/
98.st_scan_cmd tab[afe_scan_mode_max];/*存储所有模式的信息,cmd+rawdata地址*/
[0099]
}st_scan_tbl。
[0100]
在一个示例性地实施例中,如图3所示,通过扫描控制器对扫描的行为形象化,以进行4个状态的说明:
[0101]
处于用于进行扫描参数配置的初始化状态idle态;当扫描参数完成配置时,启动扫描,进入工作状态busy态;
[0102]
当工作状态busy态扫描完成,且检测结果为有效时,该触控数据为有效状态数据时,扫描控制器进入有效状态scan ok态,就可以将这一有效状态数据给上层应用;
[0103]
当工作状态busy态扫描完成,且检测结果为无效时,扫描控制器进入无效状态scan fail态,将这一无效状态数据抛弃。可以理解的是,在不同扫描成功或失败都可以根据配置参数,重新进入工作状态busy态,或退出工作状态busy态进入初始化状态idle态。
[0104]
在一个示例性地实施例中,扫描控制器是扫描的行为形象化,其参数示意如下:
[0105]
typedef enum
[0106]
{
[0107]
scan_status_idle=0,//空闲态
[0108]
scan_status_busy,//busy
[0109]
scan_status_ok,//ok
[0110]
scan_status_failed//failed
[0111]
}enum_scan_status;
[0112]
基于此,通过初始化状态进行扫描参数的配置过程,并通过工作状态执行触控数据扫描的控制方法,从而通过不同的状态,对触控数据的调用过程进行分类,从而降低触控数据在使用过程的复杂度。
[0113]
在一个示例性地实施例中,其如图4所示,触控控制层采集的数据经由扫描控制器所扫描,扫描控制器所扫描控制而输出的数据输出到应用层。由此,对于触摸控制模块这一个复杂模块,在中间层构建一个扫描控制器这个对象,让驱动与应用剥离;驱动工程师实现具体的寄存器操作,应用工程师直接调用扫描控制器去获取需要的采集数据;在嵌入式应用中体现了面向对象的编程思想,结构清晰,分工明确,有利于软件的可读性和健状性。相对应的,应用工程层不需要理解底层的实现逻辑,也能正确使用,匹配客户需求;学习成本低,维护容易,不容易出错。
[0114]
在一个示例性地实施例中,如图5所示,从本方案扫描控制器的4个状态进行说明;
[0115]
首先,调用初始化函数lib_drv_asm_init(),并控制扫描控制器处于初始化状态idle态;
[0116]
接着,配置屏幕模式下的扫描参数,扫描参数可以是熄屏模式、亮屏模式,扫描帧数等数据。当完成配置后,调用lib_drv_asm_init()将模式参数装入运行表格;
[0117]
然后,调用lib_drv_asm_init()启动扫描,并使得扫描控制器处于工作状态;
[0118]
接下来,等待扫描完成以触发中断事件,从而执行中断服务函数;并在触控数据为有效时,将该触控数据装入内存,并设置数据有效性有完成标志,得到有效状态数据,以将有效状态数据传输至应用层。
[0119]
最后,应用层的主程序获取采样所得的有效状态数据,并处理数据,完成一帧的触控数据处理,以此类推。由此,应用层工程师,只需要理解asm的四个状态机,基于状态机确定各种数据,再将各数据与屏幕模式等实际应用场景匹配,就能较快的实现功能需求,无需关心触控数据扫描的具体逻辑,由驱动工程师实现扫描控制器的逻辑功能,分工明确,简单易用,有利于产品的推广与维护。
[0120]
上述实施例就扫描控制器的四个状态进行说明,下述实施例就扫描过程中的中断事件触发前后的相关事件进行阐述。可选地,当某帧触控数据扫描完成时,产生该帧的中断事件;在该帧的中断事件之后,执行触控数据扫描的控制方法的相应步骤。可选地,可根据触控数据的某些信息,确定进行当前帧的触控数据扫描,或者,进行当前帧的下一帧触控数据扫描,或者,结束扫描。
[0121]
在一个实施例中,对触控数据进行扫描,包括:在对触控数据进行扫描过程中,检测是否发生屏幕模式切换;若未发生屏幕模式切换,则继续对当前帧的触控数据的剩余数据进行扫描,直至当前帧的触控数据扫描完成。
[0122]
屏幕模式涉及触控数据的扫描参数,不同屏幕模式的扫描参数不同,且不同屏幕模式下,应用层所需求的触控数据及驱动接口也存在差异。当未发生屏幕模式切换时,当前帧的触控数据复杂度较低,可对当前帧的触控数据进行扫描,以获取到一帧完整的触控数据,而完整的触控数据可用于进行有效性检测。
[0123]
相对应的,有效状态数据在应用层使用的复杂度低于无效状态数据,因而,将有效状态数据输入到应用层,可以使得数据处理的复杂度较低。应用层使用无效状态数据的复杂度较高;而不将这些无效状态数据输入到应用层,可以降低复杂度,且在正常使用终端的情况下,无效状态数据出现的概率相对较小,对应用层的处理过程相对较少,甚至使用者并不会发觉无效状态数据是存在的。
[0124]
在一个实施方式中,对触控数据进行扫描过程中,检测是否发生屏幕模式切换,包括:对触控数据进行扫描过程中,判断当前的屏幕模式是否结束;若结束,则未发生屏幕模式切换;若未结束,则发生屏幕模式切换。其中,当前的屏幕模式是否结束,可通过对触控数据进行扫描过程所接收到的屏幕模式切换指令确定。
[0125]
本实施例中,在对触控数据进行扫描过程中,检测是否发生屏幕模式切换,以对当前帧的触控数据进行复杂度评估。当未发生屏幕模式切换时,当前帧的触控数据具有的复杂度较低,可继续对当前帧的触控数据的剩余数据进行扫描,并将当前帧最终扫描所得的触控数据作为满足中断条件的触控数据,以进行有效性检测。
[0126]
在一个实施例中,触控数据包括至少两帧触控数据。当触控数据包括至少两帧触控数据时,各帧触控数据依序排列,从而形成当前帧的下一帧触控数据;下一帧触控数据是按照各帧触控数据的扫描顺序排列并确定的。可以理解的是,对下一帧触控数据扫描的过程,其与当前帧的触控数据扫描过程可以是相同或不同的。
[0127]
相对应的,在对触控数据进行扫描过程中,检测是否发生屏幕模式切换之后,还包
括:若发生屏幕模式切换,则停止当前帧的触控数据扫描,基于当前帧的下一帧触控数据进行扫描,并进入工作状态。
[0128]
在扫描过程中,发生屏幕模式切换这一事件时,当前帧的触控数据具有较高的复杂度,不应当继续对当前帧的触控数据的剩余数据进行扫描,而是对当前帧的下一帧触控数据进行扫描,使得进行有效性检测的数据复杂度相对较低,且使得触控数据的扫描效率有所提高。
[0129]
在一个实施例中,对触控数据进行有效性检测,得到检测结果,包括:根据触控数据的屏幕模式信息,判断是否发生屏幕模式切换;若未发生屏幕模式切换,则触控数据是有效的;若发生屏幕模式切换,则确定触控数据是无效的。
[0130]
触控数据的模式信息,用于表征触控数据在采集过程中的处理模式。可选地,可基于模式信息表征的处理模式数量,判断触控数据的有效性。当触控数据属于某种处理模式时,可采用该种处理模式下的驱动接口,对输入到应用层的触控数据进行处理;当触控数据属于至少两种处理模式时,该种处理模式的触控数据不适宜用任意处理模式下的驱动接口,对输入到应用层的触控数据进行处理。检测结果用于判断触控数据是否有效。
[0131]
在一个可行地实施方式中,根据触控数据的屏幕模式信息,判断是否发生屏幕模式切换,包括:对触控数据携带的屏幕模式标识进行统计,得到屏幕模式的标识数量;若标识数量大于标识数量阈值,则发生屏幕模式切换;若标识数量小于标识数量阈值,则不发生屏幕模式切换。示例性地,标识数量阈值为1个。
[0132]
在一个可行地实施方式中,触控数据的模式信息可以是触控数据所携带的模式标识;相对应的,根据触控数据的屏幕模式信息,判断是否发生屏幕模式切换,包括:当触控数据存在一种处理模式的模式标识时,该触控数据属于这一种处理模式下的有效状态数据;当触控数据存在两种处理模式的模式标识时,该触控数据属于无效状态数据。例如:当触控数据存在a处理模式的a标识时,该触控数据属于a处理模式下的有效状态数据;当触控数据存在a处理模式的a标识,以及b处理模式的b标识时,该触控数据属于无效状态数据。
[0133]
在另一个可行地实施方式中,根据触控数据的屏幕模式信息,判断是否发生屏幕模式切换,包括:检测触控数据是否携带不同屏幕模式标识;若是,则发生屏幕模式切换;若否,则不发生屏幕模式切换。
[0134]
本实施例中,根据触控数据的屏幕模式信息,判断是否发生屏幕模式切换,以屏幕模式切换是否发生作为有效性检测;当发生屏幕模式切换时,触控数据复杂度相对较高,为了降低这些复杂度,确定这部分触控数据为无效的;当未发生屏幕模式切换时,触控数据复杂度相对较低,可确定这部分触控数据为有效的。
[0135]
可选地,屏幕模式切换为亮屏模式与熄屏模式之间的切换,亮屏模式与熄屏模式分别采用不同的扫描参数。
[0136]
亮屏模式与熄屏模式是不同的屏幕模式,且二者所采用的扫描参数存在差异。亮屏模式是屏幕显示内容的模式,熄屏模式是屏幕不显示内容的模式。可选地,亮屏模式与熄屏模式通过不同的id进行标识。
[0137]
本实施例中,亮屏模式与熄屏模式之间的屏幕模式切换,会使得触控数据的调用过程存在较高的复杂度,因而,当检测到某部分触控数据表征亮屏模式与熄屏模式之间的切换时,将这部分触控数据确定为无效的。
[0138]
可选地,触控数据包括至少两帧触控数据,且相邻帧触控数据分别存储于不同缓存区。
[0139]
相邻帧触控数据,是按照预设扫描顺序,依次进行扫描的各帧触控数据。可选地,相邻帧触控数据是按照时间顺序逐步更新的。
[0140]
在一个可选地实施例中,对触控数据进行扫描之前,该方法还包括:将当前帧的触控数据通过第一缓存区进行缓存;确定当前帧的下一帧触控数据,将下一帧触控数据通过第二缓存区进行缓存。可以理解的是,在原有的当前帧的触控数据完成在第一缓存区内的缓存完毕后,原有的下一帧触控数据作为当前帧的触控数据,且原有的下一帧触控数据所在的第二缓存区变更为第一缓存区,以此实现不同缓存区的交替使用。
[0141]
在一个示例性地实施例中,函数lib_drv_asm_next_run()主要功能是进行后续行为的处理;设置数据缓冲区,利于双缓存区机制(双buffer机制),避免内存冲突;使用buffer1,buffer2这两个缓存区,对当前帧数据与下一帧数据进行交替使用。
[0142]
此外,不同缓存区还可用于判断是否需要启动下一帧触控数据的扫描;如果需要,则启动下一帧触控数据的扫描,并进入工作状态;如果不需要下一帧触控数据的扫描,则退出扫描进入初始化状态。
[0143]
在一个示例性地实施例中,屏幕模式可以是lcd模式。如果扫描期间有lcd模式改变,说明该触控数据复杂度较高,是不可靠的,需要将该触控数据作为无效状态数据;如果扫描期间的lcd模式是不产生变化,则说明该触控数据复杂度较低,是可靠的,该触控数据为有效状态数据,将底层的有效状态数据复制到内存,并设置数据有效标志,以通过有效标志,将有效状态数据传输到应用层。
[0144]
在一个示例性地实施例中,如图6所示,其包括上述步骤202的实施例对应的lib_drv_asm_next_run,及上述步骤204-208对应的lib_drv_asm_get_data。
[0145]
在lib_drv_asm_next_run中,首先,设置数据的双缓冲区(包括当前帧与下一帧的触控数据的原始缓存区域(raw buffer);接着,判断是否结束当前模式;若结束,则对下一帧数据进行扫描,否则进入lib_drv_asm_get_data的相应步骤。
[0146]
在lib_drv_asm_get_data中,首先是步骤204对应的步骤,判断lcd状态是否改变;如果是步骤204到达步骤206,则进入有效状态,即data_valid=ok,接下来,在步骤206中,若当前帧的触控数据是扫描完成的,则将该帧触控数据作为有效状态数据传输至应用层。
[0147]
在lib_drv_asm_get_data中,如果是步骤204到达步骤208,则进入无效状态,并将触控数据作为无效状态数据,即,进行抛帧,data_valid=drop。
[0148]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0149]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的触控数据扫描的控制方法的触控数据扫描的控制装置。该装置所提供的解决问题的实现方案与上
述方法中所记载的实现方案相似,故下面所提供的一个或多个触控数据扫描的控制装置实施例中的具体限定可以参见上文中对于触控数据扫描的控制方法的限定,在此不再赘述。
[0150]
在一个实施例中,如图7所示,提供了一种触控数据扫描的控制装置,装置包括:
[0151]
扫描模块702,用于对触控数据进行扫描;
[0152]
检测模块704,用于在触控数据的扫描过程中,对触控数据进行有效性检测,得到检测结果;
[0153]
传输模块706,用于当检测结果为有效时,则进入有效状态,并将触控数据作为有效状态数据传输至应用层;
[0154]
标志模块708,用于当检测结果为无效时,则进入无效状态,并将触控数据作为无效状态数据。
[0155]
在其中一个实施例中,扫描模块702,用于:
[0156]
在初始化状态下,获取目标模式的扫描参数;
[0157]
基于扫描数据进行参数配置,并在完成配置后,将初始化状态变更为工作状态;
[0158]
在工作状态下,对触控数据进行扫描。
[0159]
在其中一个实施例中,扫描模块702,用于:
[0160]
在对触控数据进行扫描过程中,检测是否发生屏幕模式切换;
[0161]
若未发生屏幕模式切换,则继续对当前帧的触控数据的剩余数据进行扫描,直至当前帧的触控数据扫描完成。
[0162]
在其中一个实施例中,触控数据包括至少两帧触控数据;扫描模块702,用于:
[0163]
若发生屏幕模式切换,则停止当前帧的触控数据扫描,基于当前帧的下一帧触控数据进行扫描,并进入工作状态。
[0164]
在其中一个实施例中,检测模块704,用于:
[0165]
根据触控数据的屏幕模式信息,判断是否发生屏幕模式切换;
[0166]
若未发生屏幕模式切换,则触控数据是有效的;
[0167]
若发生屏幕模式切换,则确定触控数据是无效的。
[0168]
在其中一个实施例中,屏幕模式切换为亮屏模式与熄屏模式之间的切换,亮屏模式与熄屏模式分别采用不同的扫描参数。
[0169]
在其中一个实施例中,触控数据包括至少两帧触控数据,且相邻帧触控数据分别存储于不同缓存区。
[0170]
上述触控数据扫描的控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0171]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计
算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种触控数据扫描的控制方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0172]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0173]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0174]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0175]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0176]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0177]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0178]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保
护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:
1.一种触控数据扫描的控制方法,其特征在于,应用于扫描控制器,所述方法包括:对触控数据进行扫描;在所述触控数据的扫描过程中,对所述触控数据进行有效性检测,得到检测结果;当所述检测结果为有效时,则进入有效状态,并将所述触控数据作为有效状态数据传输至应用层;当所述检测结果为无效时,则进入无效状态,并将所述触控数据作为无效状态数据。2.根据权利要求1所述的方法,其特征在于,所述对触控数据进行扫描之前,所述方法还包括:在初始化状态下,获取目标模式的扫描参数;基于所述扫描数据进行参数配置,并在完成配置后,将所述初始化状态变更为工作状态;所述对触控数据进行扫描,包括:在所述工作状态下,对触控数据进行扫描。3.根据权利要求1所述的方法,其特征在于,所述对触控数据进行扫描,包括:在对触控数据进行扫描过程中,检测是否发生屏幕模式切换;若未发生所述屏幕模式切换,则继续对当前帧的触控数据的剩余数据进行扫描,直至所述当前帧的触控数据扫描完成

4.根据权利要求3所述的方法,其特征在于,所述触控数据包括至少两帧触控数据;所述在对触控数据进行扫描过程中,检测是否发生屏幕模式切换之后,还包括:若发生所述屏幕模式切换,则停止所述当前帧的触控数据扫描,基于所述当前帧的下一帧触控数据进行扫描,并进入工作状态。5.根据权利要求1所述的方法,其特征在于,所述对所述触控数据进行有效性检测,得到检测结果,包括:根据所述触控数据的屏幕模式信息,判断是否发生屏幕模式切换;若未发生所述屏幕模式切换,则所述触控数据是有效的;若发生所述屏幕模式切换,则确定所述触控数据是无效的。6.根据权利要求5所述的方法,其特征在于,所述屏幕模式切换为亮屏模式与熄屏模式之间的切换,所述亮屏模式与所述熄屏模式分别采用不同的扫描参数。7.根据权利要求1所述的方法,其特征在于,所述触控数据包括至少两帧触控数据,且相邻帧触控数据分别存储于不同缓存区。8.一种触控数据扫描的控制装置,其特征在于,所述装置包括:扫描模块,用于对触控数据进行扫描;检测模块,用于在所述触控数据的扫描过程中,对所述触控数据进行有效性检测,得到检测结果;传输模块,用于当所述检测结果为有效时,则进入有效状态,并将所述触控数据作为有效状态数据传输至应用层;标志模块,用于当所述检测结果为无效时,则进入无效状态,并将所述触控数据作为无效状态数据。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在
于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请涉及一种触控数据扫描的控制方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:对触控数据进行扫描;在所述触控数据的扫描过程中,对所述触控数据进行有效性检测,得到检测结果;当所述检测结果为有效时,则进入有效状态,并将所述触控数据作为有效状态数据传输至应用层;当所述检测结果为无效时,则进入无效状态,并将所述触控数据作为无效状态数据。采用本方法能够降低触控数据在使用过程中的复杂度。使用过程中的复杂度。使用过程中的复杂度。


技术研发人员:林建军 陈楠 王涛
受保护的技术使用者:上海水木蓝鲸半导体技术有限公司
技术研发日:2023.06.29
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐