一种Can指令并发处理方法及装置制造方法及图纸

技术编号:37322327 阅读:17 留言:0更新日期:2023-04-21 23:02
本申请公开了一种Can指令并发处理方法及装置。所述Can指令并发处理方法包括:将控制器状态保持在设定的状态变量中;持续接收用户或者测试人员下发的Can指令,并将其存储在预设的队列中;将队列中队尾的指令发送给控制器,并在预设时间段内等待所述控制器的反馈;当在预设是时间段内收到所述控制器的反馈时,更新所述状态变量;判断所述控制器的反馈是否对应于队列中队尾的指令,如果是,则清空队列,并将所述反馈上报给应用层,否则继续将队列中队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,直至所述队列中不再有Can指令。本申请既能保证界面展示和控制器状态一致,又能满足用户交互与视觉的流畅性。能满足用户交互与视觉的流畅性。能满足用户交互与视觉的流畅性。

【技术实现步骤摘要】
一种Can指令并发处理方法及装置


[0001]本申请涉及车辆控制器设计
,具体涉及一种Can指令并发处理方法以及Can指令并发处理装置。

技术介绍

[0002]在车机系统智能化的趋势下,车辆里越来越多的功能集中到了中控的屏幕操作里。当用户操作屏幕进行功能设置时,主机需要先进行结果的界面展示,同时同步接收控制器的反馈信号,根据最终结果的控制器反馈信号进行最终的界面展示。这里包含了两个要求:
[0003]1.界面的最终展示要跟控制器的状态始终保持一致;
[0004]2.用户的操作需要立即反映在界面上;
[0005]具体到软件的开发过程中,有两种实现的方式:
[0006]1.用户在进行点击操作后,等收到控制器的反馈后再进行界面的更新,在此期间不让用户进行点击。这种方法能够严格保证第1点需求。但车里诸多控制器的行为差异很大,有的收到设置指令后能在200

300ms内反馈,有的则反馈很慢,甚至长达将近2s。就用户体验来说这是不可接受的。
[0007]2.用户在进行点击操作后,界面马上更新,然后再等待控制器的反馈。正常情况下界面展示都能和控制器状态一致。但由于有些控制器反应慢,在等待控制器反馈的过程中用户还有可能频繁的操作同一功能的设置,极端一点就是暴点。此时会有大量设置信号下发给控制器,过一段时间后则会有大量的反馈信号报上来,且无法保证时序,这会给界面的展示造成困扰。界面无法一收到控制器的反馈就进行界面更新,那样会看到界面上不停的跳变。何况控制器的行为也存在正常反馈、无响应与异常三种情况需要区分。针对此类情况的解决方式是通常是定义一个时间值,该时间内的点击操作不响应,这对于音量或亮度等进度条的调节有一定作用,但对于控制器的Can指令并发并不适合。

技术实现思路

[0008]本专利技术的目的在于提供一种Can指令并发处理方法及装置来至少解决上述的一个技术问题。
[0009]本申请第一方面,提供一种Can指令并发处理方法,应用于机车用户或者测试人员在屏幕上的暴力点击导致的同一个功能的Can指令并发的情况,所述Can指令并发处理方法包括:
[0010]将控制器状态保持在设定的状态变量中,所述控制器是指用于响应用户或者测试人员在屏幕上的点击操作而进行指令响应或反馈的设备;
[0011]持续接收用户或者测试人员下发的Can指令,并将其存储在预设的队列中;
[0012]将队列中队尾的指令发送给控制器,并在预设时间段内等待所述控制器的反馈;
[0013]当在预设是时间段内收到所述控制器的反馈时,更新所述状态变量;
[0014]判断所述控制器的反馈是否对应于队列中队尾的指令,如果是,则清空队列,并将所述反馈上报给应用层,否则继续将队列中队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,直至所述队列中不再有Can指令。
[0015]优选的是,所述预设时间段为1.5s

2.5s。
[0016]优选的是,所述预设时间段为2s。
[0017]优选的是,将队列中队尾的指令发送给控制器之后,进一步包括:
[0018]当在预设的时间段内未接收到所述控制器的反馈时,进行超时处理,所述超时处理包括:
[0019]判断发送给控制器的指令是否是队列当前队尾的指令,如果发送给控制器的指令不是队列队尾的指令,则继续将队列队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,如果发送给控制器的指令是队列队尾的指令,则清空队列,并将所述状态变量中保存的将控制器状态上报给应用层。
[0020]优选的是,将队列中队尾的指令发送给控制器之后,进一步包括:
[0021]判断控制器是否异常,如果异常,则上报异常状态。
[0022]本申请第二方面,提供了一种Can指令并发处理装置,应用于机车用户或者测试人员在屏幕上的暴力点击导致的同一个功能的Can指令并发的情况,其特征在于,所述Can指令并发处理装置包括:
[0023]状态变量初始化模块,用于将控制器状态保持在设定的状态变量中,所述控制器是指用于响应用户或者测试人员在屏幕上的点击操作而进行指令响应或反馈的设备;
[0024]Can指令存储模块,用于持续接收用户或者测试人员下发的Can指令,并将其存储在预设的队列中;
[0025]指令传输模块,用于将队列中队尾的指令发送给控制器,并在预设时间段内等待所述控制器的反馈;
[0026]状态变量更新模块,用于当在预设是时间段内收到所述控制器的反馈时,更新所述状态变量;
[0027]循环控制模块,用于判断所述控制器的反馈是否对应于队列中队尾的指令,如果是,则清空队列,并将所述反馈上报给应用层,否则继续将队列中队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,直至所述队列中不再有Can指令。
[0028]优选的是,所述预设时间段为1.5s

2.5s。
[0029]优选的是,所述预设时间段为2s。
[0030]优选的是,所述Can指令并发处理装置还包括:
[0031]超时处理模块,用于当在预设的时间段内未接收到所述控制器的反馈时,进行超时处理,所述超时处理模块包括:
[0032]超时超时处理判别单元,用于判断发送给控制器的指令是否是队列当前队尾的指令,如果发送给控制器的指令不是队列队尾的指令,则继续将队列队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,如果发送给控制器的指令是队列队尾的指令,则清空队列,并将所述状态变量中保存的将控制器状态上报给应用层。
[0033]优选的是,所述Can指令并发处理装置还包括:
[0034]异常上报单元,用于判断控制器是否异常,如果异常,则上报异常状态。
[0035]本申请第三方面提供一种电子设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的Can指令并发处理方法。
[0036]本申请第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的Can指令并发处理方法。
[0037]有益效果:
[0038]本申请既能保证界面展示和控制器状态一致,又能满足用户交互与视觉的流畅性。
附图说明
[0039]图1是本申请一实施例的Can指令并发处理方法的流程图。
[0040]图2是能够实现本申请一实施例的Can指令并发处理方法的电子设备的示意图。
具体实施方式
[0041]为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Can指令并发处理方法,应用于机车用户或者测试人员在屏幕上的暴力点击导致的同一个功能的Can指令并发的情况,其特征在于,所述Can指令并发处理方法包括:将控制器状态保持在设定的状态变量中,所述控制器是指用于响应用户或者测试人员在屏幕上的点击操作而进行指令响应或反馈的设备;持续接收用户或者测试人员下发的Can指令,并将其存储在预设的队列中;将队列中队尾的指令发送给控制器,并在预设时间段内等待所述控制器的反馈;当在预设是时间段内收到所述控制器的反馈时,更新所述状态变量;判断所述控制器的反馈是否对应于队列中队尾的指令,如果是,则清空队列,并将所述反馈上报给应用层,否则继续将队列中队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,直至所述队列中不再有Can指令。2.如权利要求1所述的Can指令并发处理方法,其特征在于,所述预设时间段为1.5s

2.5s。3.如权利要求2所述的Can指令并发处理方法,其特征在于,所述预设时间段为2s。4.如权利要求1所述的Can指令并发处理方法,其特征在于,将队列中队尾的指令发送给控制器之后,进一步包括:当在预设的时间段内未接收到所述控制器的反馈时,进行超时处理,所述超时处理包括:判断发送给控制器的指令是否是队列当前队尾的指令,如果发送给控制器的指令不是队列队尾的指令,则继续将队列队尾的指令发送给控制器,以基于控制器的反馈更新所述状态变量,如果发送给控制器的指令是队列队尾的指令,则清空队列,并将所述状态变量中保存的将控制器状态上报给应用层。5.如权利要求1所述的Can指令并发处理方法,其特征在于,将队列中队尾的指令发送给控制器之后,进一步包括:判断控制器是否异常,如果异常,则上报异常状态。6.一种Can指令并发处理装置,应用于机车用户或者测试人员在屏幕上的暴力点击导致的同一...

【专利技术属性】
技术研发人员:李光明
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1