一种安卓Treble架构下CarService代码配置生成方法及软件技术

技术编号:32774228 阅读:18 留言:0更新日期:2022-03-23 19:30
本发明专利技术提供了一种安卓Treble架构下CarService代码配置生成方法,采用MVC的开发模型即通过控制器把业务逻辑和HMI逻辑衔接起来,HMI界面通过QT Designer绘制出相应的界面并生成代码,使用python编写业务模型的控制代码,将界面、数据、控制分离做到尽可能的解耦,提升可复用性。本发明专利技术预置了一些常用配置项,在配置区选择填写上相关车辆信号的配置属性,软件将根据参数和自定义的模板文件生成完整配置,并生成相应的代码。并生成相应的代码。并生成相应的代码。

【技术实现步骤摘要】
一种安卓Treble架构下CarService代码配置生成方法及软件


[0001]本专利技术涉及汽车电子
,尤其涉及一种安卓Treble架构下CarService代码配置生成方法。

技术介绍

[0002]随着汽车电子的发展,越来越多的中控设备开始采用Android系统,各汽车供应商零部件供应商在Android系统上扩展个性化设置。Android O版本以前,Android系统的代码和OEM厂商代码耦合性较强,为了推动Android的系统与OEM厂商解耦,Android引入Treble架构。同时,Android O版本又推出了Android Automotive这个特色功能,专门为车载而设计的一个功能模块,正式进军汽车车载领域。基于Treble架构的车辆服务Car Service把模块分成了应用接口端jar、中间层Framework、车辆硬件抽象层Vehicle Hal层。OEM厂商需在此架构下对原生的代码进行扩展。在现有的Treble架构下,Android Automotive车控车设功能接口的添加比较有规律、单一,并且关于车控车设的功能点比较多,需要添加的接口相应的也会很多,所以车控车设接口的添加虽然简单,但是工作量大比较繁琐。目前尚未出现可以根据配置自动生成代码的技术,进行大量定制化需求的时候人工扩展容易效率不高且容错率较低。

技术实现思路

[0003]为解决上述问题,本专利技术公开了一种安卓Treble架构下CarService代码配置生成方法,克服了Android Treble架构下OEM厂商大量定制化汽车服务车控车设部分需求而出现的人工编写代码的效率和容错率的不足,对OEM厂商的定制化汽车车控车设服务需求提供一种接口代码自动化生成的技术方案。
[0004]具体方案如下:基于Android Treble架构的Car Service软件开发需要对原生代码和OEM的代码进行配置 ,本专利技术提取了扩展接口需要修改的相关的代码文件,按配置流程顺序把软件接口上分成了配置区、代码生成展示区、自定义文件模板及调试区、信号检索区等。通过设置相关的配置,就能产生对应的代码文件。本专利技术采用MVC的开发模型即通过控制器把业务逻辑和HMI逻辑衔接起来,HMI界面通过QT Designer绘制出相应的界面并生成代码,使用python编写业务模型的控制代码,将界面、数据、控制分离做到尽可能的解耦,提升可复用性。本专利技术预置了一些常用配置项,在配置区选择填写上相关车辆信号的配置属性,软件将根据参数和自定义的模板文件生成完整配置,并生成相应的代码。
[0005]本专利技术主要使用python语言进行编程,主要使用到了PYQT5库,得益于python语言的解释性和库的丰富性,不必进行编译生成,可直接在安装了python解释器的Windows和Linux的操作系统上使用。
[0006]一种安卓Treble架构下CarService代码配置生成方法,其特征在于,具体步骤如下:
步骤1:创建新工程,可从FTP上更新代码,保存成新工程,点击对应文件可查看代码的源码;步骤2:首先判断是否有历史配置数据,若有则加载配置数据并导入后台配置表中,若没有则创建新的配置数据;然后判断是否有登录账号,若有则判断是否同步,若没有则打开本地工程文件,其中,若要同步,则从FTP更新代码,若不要同步则打开本地工程文件;最后创建各模块子窗体;步骤3:在主窗体显示对应项目的配置表,可通过该配置表查看对应的历史接口的配置数据,亦可在配置表中做相应的增删改;步骤4:当配置区域中的参数被选择并确认后,配置表中会产生一个信号的配置项;步骤5:当点击菜单生成并合并后,系统运行增加一个信号配置的流程,读取配置区域的基本信息,生成完整的配置文件并写入到配置表中,读取代码的文件模板,生成代码块文件,可在生成目录中找到生成的代码块文件,将文件通过FTP服务器同步至开发环境。
[0007]作为本专利技术的进一步改进,所述步骤2具体为:判断是否有历史配置文档,有则加载配置,导入到后台Excel的表中,当用户打开配置文件以后,加载并展示历史数据的扩展表,后续的配置结果都将生成在该文档中;如果在Windows环境下,则加载历史用户登陆信息,登陆后续通过FTP服务器实现如Windows环境和Linux环境下的通信,从虚拟环境中同步或更新代码源文件;最后依次加载主窗体、模板文件窗体、信号生成窗体、登陆窗体、汽车信号矩阵表DBC窗体。
[0008]作为本专利技术的进一步改进,所述步骤4中的配置区域依次包含信号的传输类型、给应用操作接口的Manager文件名称、信号名称、信号组、信号数据类型、信号的默认值、需要控制的车辆区域、所属车辆Module分类、实际操作信号的子类、信号的枚举值、读写权限、信号所支持的区域限制、片间通信服务IPCL对应的枚举、操作此信号应用端所需的权限控制。
[0009]一种应用安卓Treble架构下CarService代码配置生成方法的软件,其特征在于:使用python语言进行编程,并应用PYQT5库。
[0010]本专利技术的有益效果在于:可以提高车辆服务Car Service接口代码编写的效率和容错率,大大节省人工编码的时间,简化代码编写的流程;在直接配置每个车控车设功能点的属性后,能够一键生成并通过FTP服务器同步至开发环境,达到快速集成代码的效果。
附图说明
[0011]图1为安卓Treble架构下的CarService的系统框图。
[0012]图2为专利技术中软件的启动流程图。
[0013]图3为本专利技术中软件配置一个新文件的流程图。
[0014]图4为本专利技术的运行图。
具体实施方式
[0015]下面结合附图和具体实施方式,进一步阐明本专利技术,应理解下述具体实施方式仅用于说明本专利技术而不用于限制本专利技术的范围。
[0016]如图1所示,CarService服务给应用提供一套从上至下的通路,使得Android的应
用可以通过SOC、MCU和整车的其他电控节点单元ECU进行交互,完成对于车辆的控制以及车辆状态的展示。涉及Android中间服务Framwork、Framework与应用的接口jar包、汽车硬件抽象服务Vehicle Hal、各服务之间的通信接口等,开发人员在进行相关代码开发的过程中可对具体代码配置进行修改,增加新的功能需求。
[0017]一种安卓Treble架构下CarService代码配置生成方法,具体步骤如下:步骤1:创建新工程,可从FTP上更新代码,保存成新工程,点击对应文件可查看代码的源码;步骤2:首先判断是否有历史配置数据,若有则加载配置数据并导入后台配置表中,若没有则创建新的配置数据;然后判断是否有登录账号,若有则判断是否同步,若没有则打开本地工程文件,其中,若要同步,则从FTP更新代码,若不要同步则打开本地工程文件;最后创建各模块子窗体;步骤3:在主窗体显示对应项目的配置表,可通过该配置表查看对应的历史接口的配置数据,亦可在配置表中做相应的增删改;步骤4:当配本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安卓Treble架构下CarService代码配置生成方法,其特征在于,具体步骤如下:步骤1:创建新工程;步骤2:首先判断是否有历史配置数据,若有则加载配置数据并导入后台配置表中,若没有则创建新的配置数据;然后判断是否有登录账号,若有则判断是否同步,若没有则打开本地工程文件,其中,若要同步,则从FTP更新代码,若不要同步则打开本地工程文件;最后创建各模块子窗体;步骤3:在主窗体显示对应项目的配置表,可通过该配置表查看对应的历史接口的配置数据,亦可在配置表中做相应的增删改;步骤4:当配置区域中的参数被选择并确认后,配置表中会产生一个信号的配置项;步骤5:生成并合并后,系统运行增加一个信号配置的流程,读取配置区域的基本信息,生成完整的配置文件并写入到配置表中,读取代码的文件模板,生成代码块文件。2.根据权利要求1所述的一种安卓Treble架构下CarService代码配置生成方法,其特征在于,所述步骤2具体为:判断是否有历史配置文档,有则加载配置,导入到后台Excel的表中,当用户打开配置文件以后,加载...

【专利技术属性】
技术研发人员:陈韩邰孝敏卢震卢耀张云
申请(专利权)人:延锋伟世通电子科技南京有限公司
类型:发明
国别省市:

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

1