用于座舱显示系统的显示屏触控系统及方法

xiaoxiao2020-7-22  15

用于座舱显示系统的显示屏触控系统及方法
【专利摘要】本发明公开了一种用于座舱显示系统的显示屏触控系统及方法,触控系统包括触摸组件模块、座舱显示系统内核、定义文件模块和用户应用模块。本发明的触控方法利用ARINC661规范中定义的窗体部件,通过用户应用和座舱显示系统内核间指令交互,在触摸敏感的显示器上,实现局部画面区域跟随触摸点实时移动的功能,使座舱显示画面控制更加灵活高效。
【专利说明】用于座舱显示系统的显示屏触控系统及方法
【技术领域】
[0001]本发明涉及航空领域的计算机信息处理技术,特别涉及一种基于ARINC661规范、在触敏显示器上实现局部画面区域随屏幕触点实时移动的方法。
【背景技术】
[0002]随着综合航电系统的迅速发展,作为航电系统中重要组成部分的座舱显示系统也向着开放式构架发展,为适应这种发展趋势,ARINC661规范应运而生,并得到了迅速的发展。该规范将UA (User Applications,用户应用)的逻辑功能与⑶S (Cockpit DisplaySystem,座舱显示系统)的画面生成功能相隔离,并为两者提供了标准化的接口。
[0003]基于ARINC661的座舱显控系统,其⑶S内核具有很好的通用性和扩展性。在开发阶段,设计人员只需根据飞行员操作手册,设计DF (Definition File,定义文件)和对应的UA逻辑,即可实现对画面的控制和管理,大大缩短了开发周期,节约开发成本,具有重要意义。
[0004]飞机座舱显示器一般采用周边键按钮实现人机交互,在设计显控画面时,按钮的设置数目及显示位置受到很大限制,且每个按钮在不同显示状态下具有不同含义,功能设计上也有较大局限性。随着电阻式、电容式、红外式等多种类型触摸屏的发展,具有触敏功能的综合一体化大屏显示器在飞机座舱中得到了应用,座舱显控画面的设计变得灵活,飞行员在进行人机交互时,操作更加直观、高效。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种基于ARINC661的局部画面区域随屏幕触点实时移动的设计与实现方法,利用ARINC661规范中定义的窗体部件,通过UA和CDS内核间指令交互,在触摸敏感的显示器上,实现局部画面区域跟随触摸点实时移动的功能,使座舱显示画面控制更加方便高效。
[0006]基于ARINC661规范的座舱显控系统,对显示画面位置的管理一般通过操作Button类窗体部件向UA发出指令,UA响应后对显示画面进行切换或重置图层显示位置。运用这种方法,在设计显示画面时需要包含较多的Button类窗体部件,同时UA也要为这些窗体部件一一设计对应的逻辑处理,以实现图层变换功能。为了节约画面空间、简化设计过程,本发明提供一种基于ARINC661的局部画面区域随屏幕触点实时移动的设计方法和实现步骤,可运用在具有触敏功能的显示器上,通过人机交互实现局部画面区域随屏幕触点的实时移动。
[0007]本发明为解决上述技术问题采用以下技术方案:
一方面,本发明提供一种用于座舱显示系统的显示屏触控系统,包括:
触摸组件模块,用于定义和管理飞行员对触屏的操作行为,当飞行员对触屏进行操作时,实时将触点的屏幕坐标、操作行为的状态发送至座舱显示系统内核;
定义文件模块,用于设计满足ARINC661规范的二进制格式定义文件; 用户应用模块,用于设计用户应用的逻辑处理,实现与座舱显示系统内核的正确交
互;
座舱显示系统内核,用于加载和解析定义文件模块的定义文件,接收和处理飞行员对触屏的操作行为,与用户应用模块实现指令解析和交互、渲染显示画面。
[0008]进一步的,所述飞行员对触屏的操作行为包括三种状态:手指触碰到屏幕、手指与屏眷保持接触、手指尚开屏眷。
[0009]进一步的,所述座舱显示系统内核包括窗体部件管理模块、定义文件加载模块、触屏信息处理模块、消息指令发送模块、用户应用指令接收模块、图形渲染模块,其中:
所述窗体部件管理模块,用于为每一种窗体部件提供以下功能实现:
(1)在定义阶段,根据定义文件中的描述创建该种窗体部件,即实例化该窗体部件并对其所有参数进行初始设置;
(2)对于该窗体部件的所有运行阶段可变参数,当接收到用户应用模块发出的相关ARINC661指令时,该窗体部件可实现对指令的解析,从而响应该指令信息;
(3)如该种窗体部件为交互式窗体部件,即当操控人员通过触摸组件模块对该种窗体部件进行操作时,该窗体部件能够正确响应操作行为,并按照ARINC661规范相应的事件通报信息进行打包处理;
所述定义文件加载模块,用于为座舱显示系统内核提供定义文件加载接口,接收定义文件模块所设计的二进制定义文件,交给窗体部件管理模块进行解析并实例化;
所述触屏信息处理模块,用于接收触摸组件模块传来的触屏信息,根据触点的屏幕坐标、操作行为的状态来判断该操作行为所对应触发的窗体部件的事件,并将触屏信息传给窗体部件管理模块进行解析和消息的打包;
所述消息指令发送模块,用于将窗体部件管理模块打包好的ARINC661消息发送给用户应用模块;
所述用户应用指令接收模块,用于接收用户应用模块发送给座舱显示系统内核的ARINC661指令,根据指令中的信息定位目标窗体部件,并将指令内容发送给窗体部件管理模块进行解析;
所述图形渲染模块,用于将窗体部件管理模块中实例化的各窗体部件,根据其参数信息,在显示单元中进行渲染。
[0010]进一步的,定义文件模块设计满足ARINC661规范的二进制格式定义文件,具体包括以下步骤:
步骤1,在图层上设计一个CursorOver窗体部件,其有效区域覆盖可移动对象的整个活动范围,用于采集触摸点移动时的相对坐标位置,其PositionReportMode参数设为ReportAll, Enable 参数设为 A661_FALSE ;
步骤2,在步骤I的图层上再设计一个BasicContainer窗体部件,包含需要整体移动的全部窗体部件对象,这些窗体部件全部定义在所述的CursorOver覆盖区域内,BasicContainer最后一个子窗体部件设计为CursorPosOverlay窗体部件,用于采集手指触到可移动区域的第一个点及离开时的最后一个点,其活动区域根据需整体移动的全部窗体部件覆盖位置决定。
[0011]进一步的,所述用户应用模块设计用户应用的逻辑处理,具体包括以下步骤: 步骤1,当座舱显示系统内核接收到触点状态为手指触碰到屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURS0R_P0S_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的窗体部件号WidgetID向座舱显示系统内核发出ARINC661指令,激活对应区域的CursorOver窗体部件,将其Enable参数设为A661_TRUE,并判断出需要移动的BasicContainer窗体部件,记录该BasicContainer的窗体部件号WidgetID ;步骤2,当触点状态为手指与屏幕保持接触、坐标位置在CursorOver窗体部件的有效区域内,且CursorOver处于激活状态时,座舱显示系统内核向用户应用模块发送CursorOver窗体部件的A661_EVT_CURS0R_INSIDE事件通报,通报中还包含实时触点位置,用户应用模块接收到该事件通报后,计算出触点在屏幕上移动的相对距离,根据该相对距离给当前移动的BasicContainer窗体部件发送包含其原点坐标(PosX、PosY)的ARINC661指令,从而修改该BasicContainer的原点坐标,使BasicContainer容器内所有窗体部件在显示画面上的位置发生整体移动;
步骤3,当触点状态为手指离开屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURS0R_P0S_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的信息将对应区域的CursorOver窗体部件设为非激活状态,将其Enable参数设为A661_FALSE,从而完成局部画面的重新定位操作。
[0012]进一步的,所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。。
[0013]进一步的,所述窗体部件管理模块中的窗体部件包括ARINC661规范所规定的全部窗体部件和用户自定义窗体部件。
[0014]另一方面,本发明还提出一种用于座舱显示系统的显示屏触控方法,包括以下步骤:
步骤1,在系统定义阶段,座舱显示系统内核加载定义文件模块所设计的二进制格式定义文件,实例化所有窗体部件,并对各参数值进行初始设置;
步骤2,在系统运行阶段,当需要移动某一指定画面区域时,手指触摸屏幕该区域,触摸组件模块采集操作行为信息,并将数据传给座舱显示系统内核;
步骤3,座舱显示系统内核扫描画面上的有效交互式部件,判断触摸点所对应的窗体部件,如触摸点处于需要移动的CursorPosOverlay窗体部件的活动区域内,则按照ARINC661规定的格式打包一条A661_EVT_CURS0R_P0S_CHANGE事件指令,并发送给用户应用模块;步骤4,用户应用模块接收到步骤3中的事件指令,根据其中包含的信息,激活对应区域的CursorOver窗体部件,并判断出需要移动的BasicContainer,记录其窗体部件号WidgetID ;
步骤5,触摸点在屏幕上移动,触摸组件模块实时采集操作行为信息,并将数据传给座舱显示系统内核;
步骤6,座舱显示系统内核实时接收步骤5中的操作行为信息,并进行解析,产生触点处CursorOver窗体部件的A661_EVT_CURS0R_INSIDE事件通报,根据ARINC661指令格式打包该事件通报并发送给用户应用模块; 步骤7,用户应用模块接收到步骤6中的事件通报,根据其中包含的实时触点位置,计算出触点当前移动的相对距离,再根据该相对距离,重置步骤4中标记的BasicContainer窗体部件的原点位置,从而使该BasicContainer容器内所有窗体部件的屏幕坐标位置发生整体移动;
步骤8,返回步骤5,直至手指离开触摸屏,当系统将资源分配给画面渲染任务时,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,从而在屏幕上实现局部画面区域跟随触摸点实时移动的响应行为;
步骤9,确定可移动区域的终止位置后,手指离开触摸屏,触摸组件模块采集最终的触点信息,并将其传给座舱显示系统内核;
步骤10,座舱显示系统内核接收到步骤9中的信息,产生触摸点处CursorPosOverlay窗体部件的A661_EVT_CURS0R_P0S_CHANGE事件,根据ARINC661指令格式打包该事件指令,并发送给用户应用模块;
步骤11,用户应用模块接收到步骤10中的事件指令,根据其中包含的信息,将对应区域的CursorOver窗体部件置于非激活状态,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,最终完成局部画面区域根据触点重新定位的操作。
[0015]进一步的,上述用于座舱显示系统的显示屏触控方法,步骤3中所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。。
[0016]进一步的,上述用于座舱显示系统的显示屏触控方法,步骤6中所述事件通报包含发生事件CursorOver的窗体部件号WidgetID及实时触点位置,所述实时触点位置为相对于该窗体部件原点的坐标位置。
[0017]本发明采用以上技术方案与现有技术相比,利用ARINC661规范中定义的窗体部件,通过用户应用UA和座舱显示系统CDS内核间指令交互,在触摸敏感的显示器上,实现局部画面区域跟随触摸点实时移动的功能,使座舱显示画面控制更加方便高效;可运用在具有触敏功能的显示器上,通过人机交互实现局部画面区域随屏幕触点的实时移动,有效节约画面空间、简化设计过程。
【专利附图】

【附图说明】
[0018]图1是本发明所设计的系统结构示意图。
[0019]图2是座舱显示系统内核设计模块的结构示意图。
[0020]图3是局部画面区域随屏幕触点实时移动过程中⑶S内核与UA指令交互示意图。【具体实施方式】
[0021]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0022]本【技术领域】技术人员可以理解的是,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0023]本【技术领域】技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0024]下面结合附图对本发明的技术方案做进一步的详细说明:
本发明涉及到的本领域常用技术术语,如下表所示:_
【权利要求】
1.用于座舱显示系统的显示屏触控系统,其特征在于,包括: 触摸组件模块,用于定义和管理飞行员对触屏的操作行为,当飞行员对触屏进行操作时,实时将触点的屏幕坐标、操作行为的状态发送至座舱显示系统内核; 定义文件模块,用于设计满足ARINC661规范的二进制格式定义文件; 用户应用模块,用于设计用户应用的逻辑处理,实现与座舱显示系统内核的正确交互; 座舱显示系统内核,用 于加载和解析定义文件模块的定义文件,接收和处理飞行员对触屏的操作行为,与用户应用模块实现指令解析和交互、渲染显示画面。
2.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述飞行员对触屏的操作行为包括三种状态:手指触碰到屏幕、手指与屏幕保持接触、手指离开屏眷。
3.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述座舱显示系统内核包括窗体部件管理模块、定义文件加载模块、触屏信息处理模块、消息指令发送模块、用户应用指令接收模块、图形渲染模块,其中: 所述窗体部件管理模块,用于为每一种窗体部件提供以下功能实现: (1)在定义阶段,根据定义文件中的描述创建该种窗体部件,即实例化该窗体部件并对其所有参数进行初始设置; (2)对于该窗体部件的所有运行阶段可变参数,当接收到用户应用模块发出的相关ARINC661指令时,该窗体部件可实现对指令的解析,从而响应该指令信息; (3)如该种窗体部件为交互式窗体部件,即当操控人员通过触摸组件模块对该种窗体部件进行操作时,该窗体部件能够正确响应操作行为,并按照ARINC661规范相应的事件通报信息进行打包处理; 所述定义文件加载模块,用于为座舱显示系统内核提供定义文件加载接口,接收定义文件模块所设计的二进制定义文件,交给窗体部件管理模块进行解析并实例化; 所述触屏信息处理模块,用于接收触摸组件模块传来的触屏信息,根据触点的屏幕坐标、操作行为的状态来判断该操作行为所对应触发的窗体部件的事件,并将触屏信息传给窗体部件管理模块进行解析和消息的打包; 所述消息指令发送模块,用于将窗体部件管理模块打包好的ARINC661消息发送给用户应用模块; 所述用户应用指令接收模块,用于接收用户应用模块发送给座舱显示系统内核的ARINC661指令,根据指令中的信息定位目标窗体部件,并将指令内容发送给窗体部件管理模块进行解析; 所述图形渲染模块,用于将窗体部件管理模块中实例化的各窗体部件,根据其参数信息,在显示单元中进行渲染。
4.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,定义文件模块设计满足ARINC661规范的二进制格式定义文件,具体包括以下步骤: 步骤1,在图层上设计一个CursorOver窗体部件,其有效区域覆盖可移动对象的整个活动范围,用于采集触摸点移动时的相对坐标位置,其PositionReportMode参数设为ReportAll, Enable 参数设为 A661_FALSE ;步骤2,在步骤I的图层上再设计一个BasicContainer窗体部件,包含需要整体移动的全部窗体部件对象,这些窗体部件全部定义在所述的CursorOver覆盖区域内,BasicContainer最后一个子窗体部件设计为CursorPosOverlay窗体部件,用于采集手指触到可移动区域的第一个点及离开时的最后一个点,其活动区域根据需整体移动的全部窗体部件覆盖位置决定。
5.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述用户应用模块设计用户应用的逻辑处理,具体包括以下步骤: 步骤1,当座舱显示系统内核接收到触点状态为手指触碰到屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURS0R_P0S_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的窗体部件号WidgetID向座舱显示系统内核发出ARINC661指令,激活对应区域的CursorOver窗体部件,将其Enab I e参数设为A661_TRUE,并判断出需要移动的BasicContainer窗体部件,记录该BasicContainer的窗体部件号WidgetID ; 步骤2,当触点状态为手指与屏幕保持接触、坐标位置在CursorOver窗体部件的有效区域内,且CursorOver处于激活状态时,座舱显示系统内核向用户应用模块发送CursorOver窗体部件的A661_EVT_CURS0R_INSIDE事件通报,通报中还包含实时触点位置,用户应用模块接收到该事件通报后,计算出触点在屏幕上移动的相对距离,根据该相对距离给当前移动的BasicContainer窗体部件发送包含其原点坐标(PosX、PosY)的ARINC661指令,从而修改该BasicContainer的原点坐标,使BasicContainer容器内所有窗体部件在显示画面上的位置发生整体移动; 步骤3,当触点状态为手指离开屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURS0R_P0S_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的信息将对应区域的CursorOver窗体部件设为非激活状态,将其Enable参数设为A661_FALSE,从而完成局部画面的重新定位操作。
6.根据权利要求5所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。
7.根据权利要求3所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述窗体部件管理模块中的窗体部件包括ARINC661规范所规定的全部窗体部件和用户自定义窗体部件。
8.一种用于座舱显示系统的显示屏触控方法,其特征在于,包括以下步骤: 步骤1,在系统定义阶段,座舱显示系统内核加载定义文件模块所设计的二进制格式定义文件,实例化所有窗体部件,并对各参数值进行初始设置; 步骤2,在系统运行阶段,当需要移动某一指定画面区域时,手指触摸屏幕该区域,触摸组件模块采集操作行为信息,并将数据传给座舱显示系统内核; 步骤3,座舱显示系统内核扫描画面上的有效交互式部件,判断触摸点所对应的窗体部件,如触摸点处于需要移动的CursorPosOverlay窗体部件的活动区域内,则按照ARINC661规定的格式打包一条A661_EVT_CURS0R_P0S_CHANGE事件指令,并发送给用户应用模块;步骤4,用户应用模块接收到步骤3中的事件指令,根据其中包含的信息,激活对应区域的CursorOver窗体部件,并判断出需要移动的BasicContainer,记录其窗体部件号WidgetID ; 步骤5,触摸点在屏幕上移动,触摸组件模块实时采集操作行为信息,并将数据传给座舱显示系统内核; 步骤6,座舱显示系统内核实时接收步骤5中的操作行为信息,并进行解析,产生触点处CursorOver窗体部件的A661_EVT_CURS0R_INSIDE事件通报,根据ARINC661指令格式打包该事件通报并发送给用户应用模块; 步骤7,用户应用模块接收到步骤6中的事件通报,根据其中包含的实时触点位置,计算出触点当前移动的相对距离,再根据该相对距离,重置步骤4中标记的BasicContainer窗体部件的原点位置,从而使该BasicContainer容器内所有窗体部件的屏幕坐标位置发生整体移动; 步骤8,返回步骤5,直至手指离开触摸屏,当系统将资源分配给画面渲染任务时,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,从而在屏幕上实现局部画面区域跟随触摸点实时移动的响应行为; 步骤9,确定可移动区域的终止位置后,手指离开触摸屏,触摸组件模块采集最终的触点信息,并将其传给 座舱显示系统内核; 步骤10,座舱显示系统内核接收到步骤9中的信息,产生触摸点处CursorPosOverlay窗体部件的A661_EVT_CURS0R_P0S_CHANGE事件,根据ARINC661指令格式打包该事件指令,并发送给用户应用模块; 步骤11,用户应用模块接收到步骤10中的事件指令,根据其中包含的信息,将对应区域的CursorOver窗体部件置于非激活状态,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,最终完成局部画面区域根据触点重新定位的操作。
9.根据权利要求8所述的一种用于座舱显示系统的显示屏触控方法,其特征在于,步骤3中所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。
10.根据权利要求8所述的一种用于座舱显示系统的显示屏触控方法,其特征在于,步骤6中所述事件通报包含发生事件CursorOver的窗体部件号WidgetID及实时触点位置,所述实时触点位置为相对于该窗体部件原点的坐标位置。
【文档编号】G06F3/0488GK103984438SQ201410179587
【公开日】2014年8月13日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】郑澄, 孙永荣, 王达, 李荣冰, 王晖, 熊智, 赵文献, 李笑瑜, 钱雪佳 申请人:南京航空航天大学

最新回复(0)