CN103984438B - 用于座舱显示系统的显示屏触控系统及方法 - Google Patents
用于座舱显示系统的显示屏触控系统及方法 Download PDFInfo
- Publication number
- CN103984438B CN103984438B CN201410179587.7A CN201410179587A CN103984438B CN 103984438 B CN103984438 B CN 103984438B CN 201410179587 A CN201410179587 A CN 201410179587A CN 103984438 B CN103984438 B CN 103984438B
- Authority
- CN
- China
- Prior art keywords
- window membe
- window
- module
- membe
- display system
- 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 32
- 230000009471 action Effects 0.000 claims description 27
- 238000013461 design Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 238000009877 rendering Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 12
- 238000012856 packing Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 102000008169 Co-Repressor Proteins Human genes 0.000 claims description 2
- 108010060434 Co-Repressor Proteins Proteins 0.000 claims description 2
- 230000003542 behavioural effect Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000003993 interaction Effects 0.000 abstract description 10
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003137 locomotive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种用于座舱显示系统的显示屏触控系统及方法,触控系统包括触摸组件模块、座舱显示系统内核、定义文件模块和用户应用模块。本发明的触控方法利用ARINC661规范中定义的窗体部件,通过用户应用和座舱显示系统内核间指令交互,在触摸敏感的显示器上,实现局部画面区域跟随触摸点实时移动的功能,使座舱显示画面控制更加灵活高效。
Description
技术领域
本发明涉及航空领域的计算机信息处理技术,特别涉及一种基于ARINC661规范、在触敏显示器上实现局部画面区域随屏幕触点实时移动的方法。
背景技术
随着综合航电系统的迅速发展,作为航电系统中重要组成部分的座舱显示系统也向着开放式构架发展,为适应这种发展趋势,ARINC661规范应运而生,并得到了迅速的发展。该规范将UA (User Applications, 用户应用)的逻辑功能与CDS (Cockpit
Display System, 座舱显示系统)的画面生成功能相隔离,并为两者提供了标准化的接口。
基于ARINC661的座舱显控系统,其CDS内核具有很好的通用性和扩展性。在开发阶段,设计人员只需根据飞行员操作手册,设计DF (Definition
File, 定义文件)和对应的UA逻辑,即可实现对画面的控制和管理,大大缩短了开发周期,节约开发成本,具有重要意义。
飞机座舱显示器一般采用周边键按钮实现人机交互,在设计显控画面时,按钮的设置数目及显示位置受到很大限制,且每个按钮在不同显示状态下具有不同含义,功能设计上也有较大局限性。随着电阻式、电容式、红外式等多种类型触摸屏的发展,具有触敏功能的综合一体化大屏显示器在飞机座舱中得到了应用,座舱显控画面的设计变得灵活,飞行员在进行人机交互时,操作更加直观、高效。
发明内容
本发明所要解决的技术问题是提供一种基于ARINC661的局部画面区域随屏幕触点实时移动的设计与实现方法,利用ARINC661规范中定义的窗体部件,通过UA和CDS内核间指令交互,在触摸敏感的显示器上,实现局部画面区域跟随触摸点实时移动的功能,使座舱显示画面控制更加方便高效。
基于ARINC661规范的座舱显控系统,对显示画面位置的管理一般通过操作Button类窗体部件向UA发出指令,UA响应后对显示画面进行切换或重置图层显示位置。运用这种方法,在设计显示画面时需要包含较多的Button类窗体部件,同时UA也要为这些窗体部件一一设计对应的逻辑处理,以实现图层变换功能。为了节约画面空间、简化设计过程,本发明提供一种基于ARINC661的局部画面区域随屏幕触点实时移动的设计方法和实现步骤,可运用在具有触敏功能的显示器上,通过人机交互实现局部画面区域随屏幕触点的实时移动。
本发明为解决上述技术问题采用以下技术方案:
一方面,本发明提供一种用于座舱显示系统的显示屏触控系统,包括:
触摸组件模块,用于定义和管理飞行员对触屏的操作行为,当飞行员对触屏进行操作时,实时将触点的屏幕坐标、操作行为的状态发送至座舱显示系统内核;
定义文件模块,用于设计满足ARINC661规范的二进制格式定义文件;
用户应用模块,用于设计用户应用的逻辑处理,实现与座舱显示系统内核的正确交互;
座舱显示系统内核,用于加载和解析定义文件模块的定义文件,接收和处理飞行员对触屏的操作行为,与用户应用模块实现指令解析和交互、渲染显示画面。
进一步的,所述飞行员对触屏的操作行为包括三种状态:手指触碰到屏幕、手指与屏幕保持接触、手指离开屏幕。
进一步的,所述座舱显示系统内核包括窗体部件管理模块、定义文件加载模块、触屏信息处理模块、消息指令发送模块、用户应用指令接收模块、图形渲染模块,其中:
所述窗体部件管理模块,用于为每一种窗体部件提供以下功能实现:
(1)在定义阶段,根据定义文件中的描述创建该种窗体部件,即实例化该窗体部件并对其所有参数进行初始设置;
(2)对于该窗体部件的所有运行阶段可变参数,当接收到用户应用模块发出的相关ARINC661指令时,该窗体部件可实现对指令的解析,从而响应该指令信息;
(3)如该种窗体部件为交互式窗体部件,即当操控人员通过触摸组件模块对该种窗体部件进行操作时,该窗体部件能够正确响应操作行为,并按照ARINC661规范相应的事件通报信息进行打包处理;
所述定义文件加载模块,用于为座舱显示系统内核提供定义文件加载接口,接收定义文件模块所设计的二进制定义文件,交给窗体部件管理模块进行解析并实例化;
所述触屏信息处理模块,用于接收触摸组件模块传来的触屏信息,根据触点的屏幕坐标、操作行为的状态来判断该操作行为所对应触发的窗体部件的事件,并将触屏信息传给窗体部件管理模块进行解析和消息的打包;
所述消息指令发送模块,用于将窗体部件管理模块打包好的ARINC661消息发送给用户应用模块;
所述用户应用指令接收模块,用于接收用户应用模块发送给座舱显示系统内核的ARINC661指令,根据指令中的信息定位目标窗体部件,并将指令内容发送给窗体部件管理模块进行解析;
所述图形渲染模块,用于将窗体部件管理模块中实例化的各窗体部件,根据其参数信息,在显示单元中进行渲染。
进一步的,定义文件模块设计满足ARINC661规范的二进制格式定义文件,具体包括以下步骤:
步骤1,在图层上设计一个CursorOver窗体部件,其有效区域覆盖可移动对象的整个活动范围,用于采集触摸点移动时的相对坐标位置,其PositionReportMode参数设为ReportAll,Enable参数设为A661_FALSE;
步骤2,在步骤1的图层上再设计一个BasicContainer窗体部件,包含需要整体移动的全部窗体部件对象,这些窗体部件全部定义在所述的CursorOver覆盖区域内,BasicContainer最后一个子窗体部件设计为CursorPosOverlay窗体部件,用于采集手指触到可移动区域的第一个点及离开时的最后一个点,其活动区域根据需整体移动的全部窗体部件覆盖位置决定。
进一步的,所述用户应用模块设计用户应用的逻辑处理,具体包括以下步骤:
步骤1,当座舱显示系统内核接收到触点状态为手指触碰到屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的窗体部件号WidgetID向座舱显示系统内核发出ARINC661指令,激活对应区域的CursorOver窗体部件,将其Enable参数设为A661_TRUE,并判断出需要移动的BasicContainer窗体部件,记录该BasicContainer的窗体部件号WidgetID;
步骤2,当触点状态为手指与屏幕保持接触、坐标位置在CursorOver窗体部件的有效区域内,且CursorOver处于激活状态时,座舱显示系统内核向用户应用模块发送CursorOver窗体部件的A661_EVT_CURSOR_INSIDE事件通报,通报中还包含实时触点位置,用户应用模块接收到该事件通报后,计算出触点在屏幕上移动的相对距离,根据该相对距离给当前移动的BasicContainer窗体部件发送包含其原点坐标(PosX、PosY)的ARINC661指令,从而修改该BasicContainer的原点坐标,使BasicContainer容器内所有窗体部件在显示画面上的位置发生整体移动;
步骤3,当触点状态为手指离开屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的信息将对应区域的CursorOver窗体部件设为非激活状态,将其Enable参数设为A661_FALSE,从而完成局部画面的重新定位操作。
进一步的,所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。。
进一步的,所述窗体部件管理模块中的窗体部件包括ARINC661规范所规定的全部窗体部件和用户自定义窗体部件。
另一方面,本发明还提出一种用于座舱显示系统的显示屏触控方法,包括以下步骤:
步骤1,在系统定义阶段,座舱显示系统内核加载定义文件模块所设计的二进制格式定义文件,实例化所有窗体部件,并对各参数值进行初始设置;
步骤2,在系统运行阶段,当需要移动某一指定画面区域时,手指触摸屏幕该区域,触摸组件模块采集操作行为信息,并将数据传给座舱显示系统内核;
步骤3,座舱显示系统内核扫描画面上的有效交互式部件,判断触摸点所对应的窗体部件,如触摸点处于需要移动的CursorPosOverlay窗体部件的活动区域内,则按照ARINC661规定的格式打包一条A661_EVT_CURSOR_POS_CHANGE事件指令,并发送给用户应用模块;
步骤4,用户应用模块接收到步骤3中的事件指令,根据其中包含的信息,激活对应区域的CursorOver窗体部件,并判断出需要移动的BasicContainer,记录其窗体部件号WidgetID;
步骤5,触摸点在屏幕上移动,触摸组件模块实时采集操作行为信息,并将数据传给座舱显示系统内核;
步骤6,座舱显示系统内核实时接收步骤5中的操作行为信息,并进行解析,产生触点处CursorOver窗体部件的A661_EVT_CURSOR_INSIDE事件通报,根据ARINC661指令格式打包该事件通报并发送给用户应用模块;
步骤7,用户应用模块接收到步骤6中的事件通报,根据其中包含的实时触点位置,计算出触点当前移动的相对距离,再根据该相对距离,重置步骤4中标记的BasicContainer窗体部件的原点位置,从而使该BasicContainer容器内所有窗体部件的屏幕坐标位置发生整体移动;
步骤8,返回步骤5,直至手指离开触摸屏,当系统将资源分配给画面渲染任务时,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,从而在屏幕上实现局部画面区域跟随触摸点实时移动的响应行为;
步骤9,确定可移动区域的终止位置后,手指离开触摸屏,触摸组件模块采集最终的触点信息,并将其传给座舱显示系统内核;
步骤10,座舱显示系统内核接收到步骤9中的信息,产生触摸点处CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件,根据ARINC661指令格式打包该事件指令,并发送给用户应用模块;
步骤11,用户应用模块接收到步骤10中的事件指令,根据其中包含的信息,将对应区域的CursorOver窗体部件置于非激活状态,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,最终完成局部画面区域根据触点重新定位的操作。
进一步的,上述用于座舱显示系统的显示屏触控方法,步骤3中所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。。
进一步的,上述用于座舱显示系统的显示屏触控方法,步骤6中所述事件通报包含发生事件CursorOver的窗体部件号WidgetID及实时触点位置,所述实时触点位置为相对于该窗体部件原点的坐标位置。
本发明采用以上技术方案与现有技术相比,利用ARINC661规范中定义的窗体部件,通过用户应用UA和座舱显示系统CDS内核间指令交互,在触摸敏感的显示器上,实现局部画面区域跟随触摸点实时移动的功能,使座舱显示画面控制更加方便高效;可运用在具有触敏功能的显示器上,通过人机交互实现局部画面区域随屏幕触点的实时移动,有效节约画面空间、简化设计过程。
附图说明
图1是本发明所设计的系统结构示意图。
图2是座舱显示系统内核设计模块的结构示意图。
图3是局部画面区域随屏幕触点实时移动过程中CDS内核与UA指令交互示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解的是,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明涉及到的本领域常用技术术语,如下表所示:
技术术语 | 英文 | 中文 |
UA | User Applications | 用户应用 |
CDS | Cockpit Display System | 座舱显示系统 |
DF | Definition File | 定义文件 |
本发明涉及到的所有英文术语可参考ARINC661规范中的定义。
本发明设计一种基于ARINC661的局部画面区域随屏幕触点实时移动的设计方法,如图1所示,包括触摸组件模块、座舱显示系统内核、定义文件模块和用户应用模块。
触摸组件模块110,用于实时地响应飞行员对显示器触摸屏的操作,并将操作行为信息发送给座舱显示系统内核120;
座舱显示系统内核120,用于实现以下功能:加载定义文件模块130、处理触摸组件模块110发送的触屏操作信息、接收用户应用模块140发送的ARINC661指令,向用户应用模块140发送ARINC661消息,渲染画面和管理所有窗体部件;
定义文件模块130,是符合ARINC661规范的标准格式文件,可供座舱显示系统内核120加载并实例化生成窗体部件;
用户应用模块140,用于传输数据给座舱显示系统内核120,实现对显示画面内容的操控,也可接收由座舱显示系统内核120管理的交互式图形产生的输入数据,从而实现与座舱显示系统内核120的指令交互。
对于触摸组件模块110的应用设计,触摸组件模块110接收飞行员对显示器触摸屏的操作,它将操作行为分为三种状态:1、手指触碰到屏幕;2、手指与屏幕保持接触;3、手指离开屏幕。飞行员对触摸屏进行操作时,触摸组件模块110实时将触点的屏幕坐标位置及操作行为所属状态发送给座舱显示系统内核120。
对于座舱显示系统内核120的设计,座舱显示系统内核如图2所示包括:
窗体部件管理模块121,该模块为每一种窗体部件(包括ARINC661规范所规定的全部窗体部件和用户自定义窗体部件)提供以下功能实现:(1)在定义阶段,根据定义文件中的描述创建该种窗体部件,即实例化该窗体部件并对其所有参数进行初始设置;(2)对于该窗体部件的所有运行阶段可变参数,当接收到用户应用模块发出的相关ARINC661指令时,该窗体部件可实现对指令的解析,从而响应该指令信息;(3)如该种窗体部件为交互式窗体部件,即当操控人员通过触摸组件对该种窗体部件进行操作时,该窗体部件能够正确响应操作行为,并按照ARINC661规范相应的事件通报信息进行打包处理;
定义文件加载模块122,用于为内核提供定义文件加载接口,接收符合ARINC661规范的二进制定义文件,交给窗体部件管理模块121解析并实例化;
触屏信息处理模块123,用于接收触摸组件传来的触屏信息,根据触摸操作的位置和状态判断该行为触发了哪个窗体部件的事件,并将信息传给窗体部件管理模块121进行解析和消息的打包;
消息指令发送模块124,用于将窗体部件管理模块121打包好的ARINC661消息发送给用户应用模块;
UA指令接收模块125,用于接收用户应用模块发送的ARINC661指令,根据指令中的信息定位目标窗体部件,并将指令内容发送给窗体部件管理模块121进行解析;
图形渲染模块126,将窗体部件管理模块121中实例化的各窗体部件,根据其参数信息,在显示单元中进行渲染。根据ARINC661规范中提出的分层显示原理,图形渲染模块126按照显示单元、窗口、层、窗体部件的顺序逐层渲染,坐标系通过含pos类参数的容器类窗体部件实现传递和变换,子窗体部件继承父容器的坐标系。当父容器坐标位置发生变化时,其所有子窗体部件的渲染位置也跟着发生变化。在系统运行阶段,图形渲染模块实时读取各窗体部件当前的坐标位置,换算为屏幕坐标位置后进行显示画面的绘制。
为实现本发明中所述的局部画面区域随屏幕触点实时移动功能,对于窗体部件管理模块121的设计重点在CursorOver和CursorPosOverlay这两个窗体部件的交互式功能实现上。以下是具体设计内容:
(1)CursorOver窗体部件允许在光标进入、停留或者离开窗体部件的活动区域时通知UA。事件通报中报告的光标位置与CursorOver窗体部件的原点相关联。事件的产生不需要光标的选择动作,当光标的X、Y坐标位置与窗体部件的活动区域交叠时,事件就产生了,产生的事件可以通过PositionReport Mode参数来进行如下配置:
(a)ReportAll:只有当光标进入、停留或者离开活动区域时,就发送事件;
(b)On
Transition:只有当光标进入或者离开活动区域时才发送事件。
在本实施例中,CursorOver窗体部件设计为,当其Enable参数值为A661_TRUE、PositionReport Mode参数值为ReportAll时,触摸组件给座舱显示系统内核传输的触点位置在CursorOver活动区域内,且操作状态为状态2(即手指与屏幕保持接触),则该CursorOver向UA发送A661_EVT_CURSOR_INSIDE事件通报。
(2)CursorPosOverlay窗体部件,当光标在其活动区域内进行点击选择时,允许其报告当前光标指示的相对坐标位置。在本实施例中,CursorPosOverlay窗体部件设计为,当其Enable参数值为A661_TRUE时,触摸组件模块给CDS内核传输的触点位置在CursorPosOverlay活动区域内,且操作状态为状态1(即手指触碰到屏幕)或状态3(即手指离开屏幕),则该CursorPosOverlay向用户应用模块发送A661_EVT_CURSOR_POS_CHANGE事件通报。
对于定义文件模块103的设计,下面以一个具体实例进行详细说明,设计步骤如下:
步骤1,在定义文件中设计一个图层号LayerID为1的图层Layer1,在Layer1中定义一个CursorOver窗体部件,有效区域覆盖可移动对象的整个活动范围,用于采集触摸点移动时的相对坐标位置,其PositionReportMode参数设为ReportAll,Enable参数设为A661_FALSE;
步骤2,在图层Layer1中定义一个BasicContainer窗体部件,在该BasicContainer中加入需要整体移动的全部窗体部件对象,这些窗体部件全部定义在步骤一中的CursorOver覆盖区域内。BasicContainer中还需定义一个CursorPosOverlay窗体部件,用于采集手指触到可移动区域的第一个点及离开时的最后一个点。该CursorPosOverlay是BasicContainer容器的最后一个子窗体部件,其活动区域根据需整体移动的全部窗体部件覆盖位置决定。
由上述设计可见,触摸组件模块接收到触屏操作,通知CDS内核开始扫描各窗体部件,当扫描到图层Layer1时,若触点在CursorPosOverlay有效活动区域内、且不在PushButton、ToggleButton等有效交互式窗体部件内,则操作行为生效,CDS内核发出该CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件通报。
对于用户应用模块104的逻辑设计,针对上文所举的定义文件实例,用户应用模块的逻辑设计包括以下具体步骤:
步骤1,当CDS内核接收到触点状态为手指触碰到屏幕,且坐标位置在CursorPosOverlay的活动区域(内,CDS内核向UA发出一条CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件通报。UA接收到该事件后,根据其中包含的窗体部件号WidgetID向CDS内核发出ARINC661指令,激活对应区域的CursorOver窗体部件(将其Enable参数设为A661_TRUE),并判断出需要移动的BasicContainer窗体部件,记录其窗体部件号WidgetID;
步骤2,当触点状态为手指与屏幕保持接触、坐标位置在CursorOver区域内,且CursorOver处于激活状态,CDS内核向UA发送CursorOver窗体部件的A661_EVT_CURSOR_INSIDE事件通报,通报中还包含实时触点位置。UA接收到该事件通报后,计算出触点在屏幕上移动的相对距离,根据该相对距离给当前移动的BasicContainer窗体部件发送包含其原点坐标PosX、PosY的ARINC661指令,修改当前原点坐标值,从而使BasicContainer容器内所有窗体部件的屏幕坐标位置发生整体移动;
步骤3,当触点状态为手指离开屏幕,且坐标位置在CursorPosOverlay的活动区域内,CDS内核向UA发出一条CursorPosOverlay的A661_EVT_CURSOR_POS_CHANGE事件通报,UA接收到该事件后,根据其中包含的信息将对应区域的CursorOver窗体部件设为非激活状态(将其Enable参数设为A661_FALSE),从而完成局部画面的重新定位操作。
本发明的一种基于ARINC661的局部画面区域随屏幕触点实时移动的实现方法,结合上述实施例的设计内容,具体实现步骤如下:
步骤1,系统进行初始化后,CDS内核进入定义阶段,定义文件加载模块读取定义文件模块所设计的二进制定义文件,窗体部件管理模块分配内存空间,实例化所有窗体部件,并对各参数值进行初始设置;
步骤2,系统进入运行阶段,当需要移动某一指定画面区域时,手指触摸屏幕该区域,触摸组件模块采集触点的屏幕坐标位置,并将该坐标值与触摸状态一起传给CDS内核进行处理;
步骤3,CDS内核调用触屏信息处理模块,接收到触点状态为手指触碰到屏幕,坐标位置在一个CursorPosOverlay窗体部件的活动区域内,该操作行为有效,窗体部件管理模块打包一条该CursorPosOverlay的A661_EVT_CURSOR_POS_CHANGE事件指令,并通过消息指令发送模块发送给UA。该指令包含发生事件CursorPosOverlay的窗体部件号WidgetID及触点相对于该窗体部件原点的坐标位置;
步骤4,UA接收到步骤3中的事件通报,根据其中包含的信息向CDS内核发出ARINC661指令,指令内容为激活对应区域的CursorOver窗体部件(将其Enable参数设为A661_TRUE)。同时,UA判断出需要移动的BasicContainer窗体部件,记录其窗体部件号WidgetID;
步骤5,CDS内核通过UA指令接收模块接收到步骤4中UA发出的ARINC661指令,通过窗体部件管理模块进行解析,将指定CursorOver窗体部件的Enable参数设为A661_TRUE;
步骤6,触摸点在屏幕上移动,触摸组件模块采集触点的屏幕坐标位置,并将该坐标值与触摸状态一起传给CDS内核的触屏信息处理模块进行处理;
步骤7,CDS内核的触屏信息处理模块,接收到触点状态为手指与屏幕保持接触,再根据触点坐标位置,解析得该操作行为触发了步骤5中激活的CursorOver窗体部件的A661_EVT_CURSOR_INSIDE事件。窗体部件管理模块根据ARINC661指令格式打包一条该CursorOver的事件指令,并通过事件通报发送模块发送给UA。该指令包含CursorOver的窗体部件号WidgetID及实时触点位置(相对于该窗体部件原点的坐标位置);
步骤8,UA接收到CDS内核的事件通报发送模块在步骤7中发出的事件通报,根据其中的实时触点位置,计算出触点在屏幕上移动的相对距离,再根据该相对距离给步骤4中标记的BasicContainer发送包含坐标值PosX、PosY的ARINC661指令;
步骤9,CDS内核中的UA指令接收模块接收到步骤8中UA发出的参数设置指令,通过窗体部件管理模块进行解析,重置指定BasicContainer的原点坐标位置,从而使该BasicContainer容器内所有窗体部件的屏幕坐标位置发生整体移动;
步骤10,返回步骤6,直至手指离开触摸屏。当系统将资源分配给CDS渲染任务时,CDS内核的图形渲染模块根据各窗体部件当前的参数值,对显示单元画面进行渲染,从而在屏幕上实现局部画面区域跟随触摸点实时移动的响应行为;
步骤11,确定可移动区域的终止位置后,手指离开触摸屏,触摸组件模块采集触点最终屏幕坐标位置,并将该坐标值与触摸状态一起传给CDS内核的触屏信息处理模块进行处理;
步骤12,CDS内核中的触屏信息处理模块,接收到触点状态为手指离开屏幕,再根据触点坐标位置,解析得该操作行为触发了步骤3中CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件。窗体部件管理模块根据ARINC661指令格式打包一条该CursorPosOverlay的事件指令,并通过消息指令发送模块发送给UA;
步骤13,UA接收到CDS内核的事件通报发送模块在步骤12中发出的事件通报,根据其中包含的信息向CDS内核的UA指令接收模块发送ARINC661指令,指令内容为去激活对应区域的CursorOver窗体部件(将其Enable参数设为A661_FALSE)。这里的CursorOver与步骤4中激活的CursorOver为同一窗体部件;
步骤14,CDS内核中的UA指令接收模块接收到步骤13中的ARINC661指令,通过窗体部件管理模块进行解析,将指定CursorOver窗体部件设为非激活状态(将其Enable参数设为A661_FALSE)。CDS内核的图形渲染模块根据各窗体部件当前的参数值,对显示单元画面进行渲染,最终完成局部画面区域根据触点重新定位的操作。
图3为系统运行阶段,本发明在实现过程中CDS内核与UA间进行指令交互的示意图。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (9)
1.用于座舱显示系统的显示屏触控系统,其特征在于,包括:
触摸组件模块,用于定义和管理飞行员对触屏的操作行为,当飞行员对触屏进行操作时,实时将触点的屏幕坐标、操作行为的状态发送至座舱显示系统内核;
定义文件模块,用于设计满足ARINC661规范的二进制格式定义文件;
用户应用模块,用于设计用户应用的逻辑处理,实现与座舱显示系统内核的正确交互;
座舱显示系统内核,用于加载和解析定义文件模块的定义文件,接收和处理飞行员对触屏的操作行为,与用户应用模块实现指令解析和交互、渲染显示画面;
其中,所述座舱显示系统内核包括窗体部件管理模块、定义文件加载模块、触屏信息处理模块、消息指令发送模块、用户应用指令接收模块、图形渲染模块,其中:
所述窗体部件管理模块,用于为每一种窗体部件提供以下功能实现:
(1)在定义阶段,根据定义文件中的描述创建该种窗体部件,即实例化该窗体部件并对其所有参数进行初始设置;
(2)对于该窗体部件的所有运行阶段可变参数,当接收到用户应用模块发出的相关ARINC661指令时,该窗体部件可实现对指令的解析,从而响应该指令信息;
(3)如该种窗体部件为交互式窗体部件,即当操控人员通过触摸组件模块对该种窗体部件进行操作时,该窗体部件能够正确响应操作行为,并按照ARINC661规范相应的事件通报信息进行打包处理;
所述定义文件加载模块,用于为座舱显示系统内核提供定义文件加载接口,接收定义文件模块所设计的二进制定义文件,交给窗体部件管理模块进行解析并实例化;
所述触屏信息处理模块,用于接收触摸组件模块传来的触屏信息,根据触点的屏幕坐标、操作行为的状态来判断该操作行为所对应触发的窗体部件的事件,并将触屏信息传给窗体部件管理模块进行解析和消息的打包;
所述消息指令发送模块,用于将窗体部件管理模块打包好的ARINC661消息发送给用户应用模块;
所述用户应用指令接收模块,用于接收用户应用模块发送给座舱显示系统内核的ARINC661指令,根据指令中的信息定位目标窗体部件,并将指令内容发送给窗体部件管理模块进行解析;
所述图形渲染模块,用于将窗体部件管理模块中实例化的各窗体部件,根据其参数信息,在显示单元中进行渲染。
2.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述飞行员对触屏的操作行为包括三种状态:手指触碰到屏幕、手指与屏幕保持接触、手指离开屏幕。
3.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,定义文件模块设计满足ARINC661规范的二进制格式定义文件,具体包括以下步骤:
步骤1,在图层上设计一个CursorOver窗体部件,其有效区域覆盖可移动对象的整个活动范围,用于采集触摸点移动时的相对坐标位置,其PositionReportMode参数设为ReportAll,Enable参数设为A661_FALSE;
步骤2,在步骤1的图层上再设计一个BasicContainer窗体部件,包含需要整体移动的全部窗体部件对象,这些窗体部件全部定义在所述的CursorOver覆盖区域内,BasicContainer最后一个子窗体部件设计为CursorPosOverlay窗体部件,用于采集手指触到可移动区域的第一个点及离开时的最后一个点,其活动区域根据需整体移动的全部窗体部件覆盖位置决定。
4.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述用户应用模块设计用户应用的逻辑处理,具体包括以下步骤:
步骤1,当座舱显示系统内核接收到触点状态为手指触碰到屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的窗体部件号WidgetID向座舱显示系统内核发出ARINC661指令,激活对应区域的CursorOver窗体部件,将其Enable参数设为A661_TRUE,并判断出需要移动的BasicContainer窗体部件,记录该BasicContainer的窗体部件号WidgetID;
步骤2,当触点状态为手指与屏幕保持接触、坐标位置在CursorOver窗体部件的有效区域内,且CursorOver处于激活状态时,座舱显示系统内核向用户应用模块发送CursorOver窗体部件的A661_EVT_CURSOR_INSIDE事件通报,通报中还包含实时触点位置,用户应用模块接收到该事件通报后,计算出触点在屏幕上移动的相对距离,根据该相对距离给当前移动的BasicContainer窗体部件发送包含其原点坐标(PosX、PosY)的ARINC661指令,从而修改该BasicContainer的原点坐标,使BasicContainer容器内所有窗体部件在显示画面上的位置发生整体移动;
步骤3,当触点状态为手指离开屏幕,且坐标位置在CursorPosOverlay窗体部件的活动区域内时,座舱显示系统内核向用户应用模块发出一条CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件通报,用户应用模块接收到该事件后,根据其中包含的信息将对应区域的CursorOver窗体部件设为非激活状态,将其Enable参数设为A661_FALSE,从而完成局部画面的重新定位操作。
5.根据权利要求4所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。
6.根据权利要求1所述的用于座舱显示系统的显示屏触控系统,其特征在于,所述窗体部件管理模块中的窗体部件包括ARINC661规范所规定的全部窗体部件和用户自定义窗体部件。
7.一种用于座舱显示系统的显示屏触控方法,其特征在于,包括以下步骤:
步骤1,在系统定义阶段,座舱显示系统内核加载定义文件模块所设计的二进制格式定义文件,实例化所有窗体部件,并对各参数值进行初始设置;
步骤2,在系统运行阶段,当需要移动某一指定画面区域时,手指触摸屏幕该区域,触摸组件模块采集操作行为信息,并将数据传给座舱显示系统内核;
步骤3,座舱显示系统内核扫描画面上的有效交互式部件,判断触摸点所对应的窗体部件,如触摸点处于需要移动的CursorPosOverlay窗体部件的活动区域内,则按照ARINC661规定的格式打包一条A661_EVT_CURSOR_POS_CHANGE事件指令,并发送给用户应用模块;
步骤4,用户应用模块接收到步骤3中的事件指令,根据其中包含的信息,激活对应区域的CursorOver窗体部件,并判断出需要移动的BasicContainer,记录其窗体部件号WidgetID;
步骤5,触摸点在屏幕上移动,触摸组件模块实时采集操作行为信息,并将数据传给座舱显示系统内核;
步骤6,座舱显示系统内核实时接收步骤5中的操作行为信息,并进行解析,产生触点处CursorOver窗体部件的A661_EVT_CURSOR_INSIDE事件通报,根据ARINC661指令格式打包该事件通报并发送给用户应用模块;
步骤7,用户应用模块接收到步骤6中的事件通报,根据其中包含的实时触点位置,计算出触点当前移动的相对距离,再根据该相对距离,重置步骤4中标记的BasicContainer窗体部件的原点位置,从而使该BasicContainer容器内所有窗体部件的屏幕坐标位置发生整体移动;
步骤8,返回步骤5,直至手指离开触摸屏,当系统将资源分配给画面渲染任务时,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,从而在屏幕上实现局部画面区域跟随触摸点实时移动的响应行为;
步骤9,确定可移动区域的终止位置后,手指离开触摸屏,触摸组件模块采集最终的触点信息,并将其传给座舱显示系统内核;
步骤10,座舱显示系统内核接收到步骤9中的信息,产生触摸点处CursorPosOverlay窗体部件的A661_EVT_CURSOR_POS_CHANGE事件,根据ARINC661指令格式打包该事件指令,并发送给用户应用模块;
步骤11,用户应用模块接收到步骤10中的事件指令,根据其中包含的信息,将对应区域的CursorOver窗体部件置于非激活状态,座舱显示系统内核根据各窗体部件当前的参数值,对显示单元画面进行渲染,最终完成局部画面区域根据触点重新定位的操作。
8.根据权利要求7所述的一种用于座舱显示系统的显示屏触控方法,其特征在于,步骤3中所述CursorPosOverlay窗体部件的活动区域为CursorPosOverlay窗体部件的有效覆盖区域,所述有效覆盖区域不包括其他有效交互式窗体部件的区域。
9.根据权利要求7所述的一种用于座舱显示系统的显示屏触控方法,其特征在于,步骤6中所述事件通报包含发生事件CursorOver的窗体部件号WidgetID及实时触点位置,所述实时触点位置为相对于该窗体部件原点的坐标位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410179587.7A CN103984438B (zh) | 2014-04-30 | 2014-04-30 | 用于座舱显示系统的显示屏触控系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410179587.7A CN103984438B (zh) | 2014-04-30 | 2014-04-30 | 用于座舱显示系统的显示屏触控系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103984438A CN103984438A (zh) | 2014-08-13 |
CN103984438B true CN103984438B (zh) | 2017-01-04 |
Family
ID=51276443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410179587.7A Active CN103984438B (zh) | 2014-04-30 | 2014-04-30 | 用于座舱显示系统的显示屏触控系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103984438B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107738751A (zh) * | 2017-09-25 | 2018-02-27 | 中国航空工业集团公司西安飞机设计研究所 | 一种座舱压力变化率显示方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104299068B (zh) * | 2014-08-27 | 2017-06-27 | 南京航空航天大学 | 基于arinc661的座舱显控信息管理系统及方法 |
CN105116791A (zh) * | 2015-07-16 | 2015-12-02 | 中国航空无线电电子研究所 | 一种小型直升机综合显示控制系统软件架构 |
CN105335158B (zh) * | 2015-10-29 | 2018-08-31 | 西安电子科技大学 | 基于arinc661自定义符号库的飞行界面显示方法 |
CN105574906A (zh) * | 2015-12-21 | 2016-05-11 | 苏州长风航空电子有限公司 | 一种基于预置像素的高效座舱画面设计方法 |
CN106775767B (zh) * | 2017-01-12 | 2019-09-20 | 南京航空航天大学 | 一种座舱显控系统目标符号的显控方法 |
CN108829300A (zh) * | 2017-05-05 | 2018-11-16 | 中国航空无线电电子研究所 | 一种航空座舱显示系统 |
CN109144396B (zh) * | 2018-09-05 | 2021-06-15 | 广州视源电子科技股份有限公司 | 一种触摸信息处理方法、装置、设备和存储介质 |
CN109634498B (zh) * | 2018-12-18 | 2021-08-10 | 南京航空航天大学 | 一种基于arinc661的座舱显示系统外部事件高效处理方法 |
CN112015312B (zh) * | 2020-09-02 | 2022-11-04 | 中国航空无线电电子研究所 | 基于arinc661的座舱显示系统触控操作识别系统和方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577039A (zh) * | 2012-07-27 | 2014-02-12 | 泰勒斯公司 | 用于显示航空器的地理位置的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676399B2 (en) * | 2011-11-21 | 2014-03-18 | Honeywell International Inc. | System and method for generating and displaying an electric taxi index |
-
2014
- 2014-04-30 CN CN201410179587.7A patent/CN103984438B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577039A (zh) * | 2012-07-27 | 2014-02-12 | 泰勒斯公司 | 用于显示航空器的地理位置的方法 |
Non-Patent Citations (3)
Title |
---|
基于ARINC661规范的座舱显示系统研究与实现;刘建;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20120715;全文 * |
开放式座舱显示设计平台的研究与实现;曹猛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130415;全文 * |
航空座舱显示系统内核设计研究;黄鸣丰等;《现代电子技术》;20111001;第34卷(第19期);正文第206页左栏第2、4段,右栏第5-6行 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107738751A (zh) * | 2017-09-25 | 2018-02-27 | 中国航空工业集团公司西安飞机设计研究所 | 一种座舱压力变化率显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103984438A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103984438B (zh) | 用于座舱显示系统的显示屏触控系统及方法 | |
US20220155949A1 (en) | Intent Driven Dynamic Gesture Recognition System | |
Hamon et al. | Formal description of multi-touch interactions | |
US10067667B2 (en) | Method and apparatus for touch gestures | |
CN110795024B (zh) | 一种基于xml的保护设备通用人机交互系统及方法 | |
CN106933450A (zh) | 一种控制方法及电子设备 | |
CN111190598A (zh) | 基于控件库拖拽式开发的燃机监控软件画面组态方法 | |
CN102722337A (zh) | 滚动操作的折叠显示方法及装置 | |
CN104063071A (zh) | 内容输入方法及装置 | |
CN104571893A (zh) | 通知栏内的通知处理方法及装置 | |
CN105718265B (zh) | 一种带标签的并列式嵌套型软件设计和编程方法 | |
CN109213563B (zh) | 支持多用户同步操作的座舱显示系统 | |
Anam et al. | Usability study of smart phone messaging for elderly and low-literate users | |
US10365736B2 (en) | Morphing pad, system and method for implementing a morphing pad | |
CN105867831A (zh) | 一种触摸屏的操作方法及系统 | |
Dixon et al. | Pixel-based methods for widget state and style in a runtime implementation of sliding widgets | |
CN112181267A (zh) | 窗口界面交互方法及系统 | |
CN101976190A (zh) | 基于DirectUI的界面生成系统及方法 | |
US20240176481A1 (en) | Remote control system and method, and storage medium | |
CN103399738B (zh) | 基于控件的多属性更改方法以及对象的多属性更改方法 | |
EP3655849B1 (en) | Method for handling on a mobile terminal a list of contents each associated to a sub-content | |
CN101667094A (zh) | 移动装置的金融看盘软件的操作方法 | |
JPH0922330A (ja) | タッチパネルの入力方法 | |
CN104133583A (zh) | 显示系统的输入设备及其输入方法 | |
Canny et al. | Divide to Conquer: Functional Decomposition to Support Model-Based Engineering of Command and Control of Cyber-Physical Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |