通过Android系统将控车矩阵文件自动生成控车代码的方法及系统技术方案

技术编号:32362033 阅读:20 留言:0更新日期:2022-02-20 03:30
本发明专利技术涉及一种数据转换方法,尤其是通过Android系统将控车矩阵文件自动生成控车代码的方法及系统。通过Android手机将控车矩阵文件自动生成控车代码的方法,包括以下步骤:将控车矩阵协议编辑在Excel中,并在Excel文件中写入远程驾驶控制器报文定义数据;Android手机读取Excel表格内容,并定位到远程驾驶控制器报文定义数据;对数据进行解析;将数据根据预先定义的代码模板转换成代码,并保存为代码文件;将代码文件导出到C文件。该方法通过Android系统就可以将一份Excel格式的控车矩阵文件自动生成一份对应的控车功能代码,然后稍加修改,就可以完成一个车型的适配,大大的节省人力与时间成本,具有非常可观的经济效益。益。益。

【技术实现步骤摘要】
通过Android系统将控车矩阵文件自动生成控车代码的方法及系统


[0001]本专利技术涉及一种数据转换方法,尤其是通过Android系统将控车矩阵文件自动生成控车代码的方法及系统。

技术介绍

[0002]在完成一个远程驾驶项目车型开发后,相似类型的远程驾驶项目车型,其控车逻辑基本不会有太大变化,但复杂的控车矩阵,针对每个不同的车型都需要花费大量的时间精力去解析适配的。

技术实现思路

[0003]为解决上述问题,本专利技术提供一种将控车矩阵协议文件编写在Excel中,并通过预先定义的代码模板将Excel文件转换成代码文件,能够适配不同项目车型的通过Android系统将控车矩阵文件自动生成控车代码的方法,具体技术方案为:
[0004]通过Android手机将控车矩阵文件自动生成控车代码的方法,包括以下步骤:
[0005]将控车矩阵协议编辑在Excel中,并在Excel文件中写入远程驾驶控制器报文定义数据;
[0006]Android手机读取Excel表格内容,并定位到远程驾驶控制器报文定义数据;
[0007]对数据进行解析;
[0008]将数据根据预先定义的代码模板转换成代码,并保存为代码文件;
[0009]将代码文件导出到C文件。
[0010]优选的,所述远程驾驶控制器报文定义数据包括:报文ID、报文发送类型、报文周期、报文长度、信号名称、信号描述、信号长度、起始字节位置、起始位位置、精度、偏移量、十六进制取值范围、“物理值取值范围、信号值描述和初始值。
[0011]进一步的,数据解析时:
[0012]先提取报文ID、报文发送类型、报文周期和报文长度,并根据ID的不同将上述信息分条目保存到一个数据列表中,数据列表类型为:
[0013]ArrayList<RcuCanSignalData>;
[0014]其中RcuCanSignalData为包含:报文ID、报文发送类型、报文周期、报文长度和SignalData的自定义类。
[0015]然后解析报文ID下的详细条目,提取信号名称、信号描述、信号长度、起始字节位置、起始位位置、精度、偏移量、十六进制取值范围、“物理值取值范围、信号值描述和初始值,将上述信息保存在对应报文ID的RcuCanSignalData类的SignalData内部类中。
[0016]其中,预先定义的代码模板包括数据声明模板、数据定义模板和函数实现模板,代码模板以字符串形式存储在res/string.xml中。
[0017]进一步的,所述数据声明模板包括声明固定部分和声明动态获取部分;
[0018]所述声明固定部分包含C语言语法内容,所述C语言语法内容包括include头文件、标识符、关键字和变量类型;
[0019]所述声明动态获取部分定义为%1$s、%2$s、%3$s
……
,在AndroidAPP的sourcecode中通过getString()的传入参数来写入具体的字符串;
[0020]所述数据定义模板包括定义固定部分和定义动态获取部分;
[0021]所述定义固定部分包含C语言语法内容,所述C语言语法内容包括标识符、关键字和变量类型;
[0022]所述定义动态获取部分定义为%1$s、%2$s、%3$s
……
,在sourcecode中通过getString()的传入参数来写入具体的字符串。
[0023]所述函数实现模板包括函数固定部分和函数动态获取部分;
[0024]所述函数固定部分包含C语言语法内容,所述C语言语法内容包括标识符、关键字、变量类型;
[0025]所述函数动态获取部分定义为%1$s、%2$s、%3$s
……
,在sourcecode中通过getString()的传入参数来写入具体的字符串。
[0026]优选的,转化代码时:
[0027]遍历数据解析出的数据列表,获取各RcuCanSignalData的成员数据,根据起始字节位置和起始位位置来控制调用顺序,然后分别:
[0028]通过getString带入参数:R.string.c_code_claims、报文ID、报文长度、信号名称和信号描述,将定义好的数据声明模板通过传入具体的参数,生成包含:头文件引用、宏定义、变量声名和结构体声名内容;
[0029]通过getString带入参数:R.string.c_code_define、报文ID和初始值,将定义好的数据定义模板通过传入具体的参数,生成包含:头文件引用、变量定义、结构体变量定义的代码片段;
[0030]通过getString带入参数:R.string.c_code_function、报文ID、报文发送类型、报文周期、偏移量和十六进制取值范围,将定义好的函数实现模板通过传入具体的参数,生成包含:函数实现、定时任务启动、函数调用的代码片段。
[0031]通过Android手机将控车矩阵自动生成控车代码的系统,包括:浏览单元,所述浏览单元用于选取控车矩阵协议文件;生成代码单元,所述生成代码单元用于将控车矩阵协议文件生成代码文件;及导出单元,所述导出单元将代码文件导出到C文件。
[0032]与现有技术相比本专利技术具有以下有益效果:
[0033]本专利技术提供的通过Android系统将控车矩阵文件自动生成控车代码的方法通过Android系统就可以将一份Excel格式的控车矩阵文件自动生成一份对应的控车功能代码,然后稍加修改,就可以完成一个车型的适配,大大的节省人力与时间成本,具有非常可观的经济效益。
附图说明
[0034]图1是通过Android系统将控车矩阵文件自动生成控车代码的方法的流程图;
[0035]图2是通过Android系统将控车矩阵文件自动生成控车代码的系统的界面图。
具体实施方式
[0036]现结合附图对本专利技术作进一步说明。
[0037]远程驾驶车架底盘功能设计时以Excel表格的形式进行编写控车矩阵协议,远程驾驶车载端的开发者在拿到控车矩阵协议后,对着Excel表格逐行去适配控车代码,将Excel中的内容转成一条条的控车CAN报文。
[0038]Android系统将特定格式的Excel控车矩阵协议文档自动转换成控车代码,开发者只需要通过简单的操作,就可得到控车代码,然后稍加调整编译通过,即可完成不同车型的适配。
[0039]实施例一
[0040]用户可将控车矩阵协议文件放在Android手机或平板的存储中,通过点击系统界面的“浏览”弹出文件选择,选取对应的控车矩阵协议文件,在浏览时,只显示Excel文件。当用户选取了常规的控车矩阵协议文件后,可通过点击“生成代码”,APP将在后台对Excel文件第一列进行逐行遍历,确认是否有“RCU”列存在,RCU为远程驾驶控制器报文描述,如果不存在,提示未找到控车矩阵定义,请重启选本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.通过Android系统将控车矩阵文件自动生成控车代码的方法,其特征在于,包括以下步骤:将控车矩阵协议编辑在Excel中,并在Excel文件中写入远程驾驶控制器报文定义数据;Android系统读取Excel表格内容,并定位到远程驾驶控制器报文定义数据;对数据进行解析;将数据根据预先定义的代码模板转换成代码,并保存为代码文件;将代码文件导出到C文件。2.根据权利要求1所述的通过Android系统将控车矩阵文件自动生成控车代码的方法,其特征在于,所述远程驾驶控制器报文定义数据包括:报文ID、报文发送类型、报文周期、报文长度、信号名称、信号描述、信号长度、起始字节位置、起始位位置、精度、偏移量、十六进制取值范围、物理值取值范围、信号值描述和初始值。3.根据权利要求2所述的通过Android系统将控车矩阵文件自动生成控车代码的方法,其特征在于,数据解析时:先提取报文ID、报文发送类型、报文周期和报文长度,并根据ID的不同将上述信息分条目保存到一个数据列表中,数据列表类型为:ArrayList<RcuCanSignalData>;其中RcuCanSignalData为包含:报文ID、报文发送类型、报文周期、报文长度和SignalData的自定义类。然后解析报文ID下的详细条目,提取信号名称、信号描述、信号长度、起始字节位置、起始位位置、精度、偏移量、十六进制取值范围、物理值取值范围、信号值描述和初始值,将上述信息保存在对应报文ID的RcuCanSignalData类的SignalData内部类中。4.根据权利要求3所述的通过Android系统将控车矩阵文件自动生成控车代码的方法,其特征在于,预先定义的代码模板包括数据声明模板、数据定义模板和函数实现模板,代码模板以字符串形式存储在res/string.xml中。5.根据权利要求4所述的通过Android系统将控车矩阵文件自动生成控车代码的方法,其特征在于,所述数据声明模板包括声明固定部分和声明动态获取部分;所述声明固定部分包含C语言语法内容,所述C语言语法内容包括include头文件、标识符、关键字和变量类型;所述声明动态获取部分定义为%1$s、%2$s、%3$s
……...

【专利技术属性】
技术研发人员:徐静方孝生张阿曼齐利敏刘小玲
申请(专利权)人:宁波波导易联电子有限公司
类型:发明
国别省市:

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

1