一站式HMI软件开发套件eStation,让开发更简单高效

4月份举办的北京国际车展上全球首发车117辆,新能源车型278个,越来越多的车厂通过差异化和改善UI/UE体验,来获取更多用户的青睐。为快速响应差异化竞争需求,智能座舱HMI市场遇到以下挑战:

  • 如何兼容不同项目开发人员编程习惯及能力?
  • 如何在原有的积累下兼容新的UI工具(如Unreal、Cocos等)?
  • 如何让软件以较小的修改来产生更多的差异化?
  • 如何实现软硬分离?
  • ……

怿星科技发布的eStation开发套件具备兼容性、解耦、标准化模块和高维护性的特点,能够有效应对上述挑战,助力工程师提升开发、代码调试效率、避免输出非健壮代码。

eStation开发套件是基于EPT eFramework框架的Model Based Application Development Kit。eStation以开发为中心,衍生覆盖需求,架构,模块,信号,代码生成,测试管理,集成发布,质量交付的全流程开发与管理套件。包含eFramework,ePlugin,eToolkit,eTester,eDesk五大部分。

01.eFramework平台化开发框架

eFramework定义了座舱开发的UI显示层、UX交互层、Function业务逻辑层和数据解析层。每一层之间通过抽象的键值对作为通信接口,四层完全分离、且可以随意组合灵活部署,如下图:

向上兼容 适应性强:UI显示层可支持使用Kanzi、Unreal、Cocos和Qt等UI工具开发,实现了向上兼容多种工具的需求。使车厂能复用同一套UE、业务逻辑的情况下,更好地选择合适的UI工具,实现更好的渲染效果。

方便复用 包容性强:数据解析层通过适配器的方式,把各种数据来源,统一转换为怿星的标准键值对定义。通过这种方式,eFramework隔离了底层不同车厂、Tier1的数据差异,使UE和Function业务逻辑能被很好地复用。借助eFramework,车厂可以更好地选择Tier1,更好地实现做差异化。

同时,eFramework针对智能座舱场景进行优化,对性能、数据传输效率、异常保护等问题做了大量优化,也得到了多个量产项目的成功验证。

02.ePlugin标准插件集

ePlugin集成了怿星在智能座舱HMI多年积累下来的插件,包括动态车道线、序列帧动画、视频流渲染、数据统计等插件。ePlugin所有的插件都是按照标准化接口和规范开发的插件集,是跨UI工具的标准插件集,可以以插件形式为客户提供快速解决技术难点的能力。

03.eToolkit开发工具集

eToolkit包含eSimulator、eWatcher、eLogger等工具,致力于让整个座舱开发过程更高效。我们在开发过程中,往往会因为等待依赖方的功能实现而导致工作阻塞,eSimulator使开发者能够在eFramework的每两层之间发送模拟数据,使任意一层的开发者可以脱离依赖方独立开发。为了提高调试效率,eToolkit中还提供了eWatcher,eLogger工具。eWatcher可以让开发者能通过web的方式看到当前程序运行中四层接口变量的实时值,从而快速定位问题出现的位置;eLogger可以帮助采集每一层接受和发送的数据和时序,并提供Log查看和回放的功能。借助这些工具,开发和Debug效率能得到很大的提升。

04.eTester测试工具集

为开发和测试提供了快速验证的能力。开发和测试任意可以使用eUnitTest,对模块的每一层按照测试用例定义输入值和期望的输出值,最终使用eUnitTest自动运行用例,验证代码是否按照期望的结果执行。

05.eDesk开发管理系统

上述eFramework,ePlugin,eTester,eToolkit四大部分均为标准化的设计,为了形成完整的闭环,怿星开发了eDesk,对标准化模块和研发过程进行全流程的管理。eDesk从上传需求文档开始,进行需求分解录入,接口跟进需求进行设计,根据需求把信号和接口对接,并根据关联的需求生成测试用例,所以在eDesk中,不管是开发还是测试,都和需求完全关联起来了。通过eDesk,可以很快地看到开发对需求的覆盖率及测试对需求的覆盖率,及时发现风险和问题。同时,eDesk还对标准化的信号连接代码、自动化测试代码实现自动生成,减少重复代码撰写的工作量,提升整体效率。

最终,eStation套件不但解决了对UI工具的兼容和对不同车厂、Tier1数据的数据兼容,还通过插件、工具及自动化的方式,全面提升智能座舱开发效率,助力客户使用更少的时间创造更大的竞争力。


十年磨砺锋刃出,蓄势待发正当时,2024年是怿星科技潜心沉淀的第十个年头,公司将持续聚焦智能汽车软件新基建,紧密围绕汽车软件研发过程中的难点问题,不断开发新产品,以新质生产力助力汽车软件行业高速发展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/10824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 使用SendMessage进行进程通信,可发送字符串,结构体

发送时只能以结构体形式发送,类的话会提示“指定结构必须能直接复制到本机结构中,或是具有布局信息 ”的错误提示 以下两种结构体示例都可以被发送 public struct A{public A(int a){name "heow";array new double[3] { 1, 2, 5.6 };}strin…

批量为本地视频生成字幕文件,并可将字幕文件翻译成其它语言

VideoSubtitleGenerator 批量为本地视频生成字幕文件,并可将字幕文件翻译成其它语言 本项目基于 macOS, node 环境运行,暂未兼容 windows 环境 🌐Github地址 https://github.com/buxuku/VideoSubtitleGenerator 初衷 自己有一大批外文视频&…

力扣例题(用栈实现队列)

目录 链接. - 力扣(LeetCode) 描述 思路 push pop peek empty 代码 链接. - 力扣(LeetCode) 描述 思路 push 例如我们将10个元素放入栈中,假设最左边为栈顶,最右侧为栈底 则为10,9,8,7,6,5,4,3,…

嵌入式 - GPIO编程简介

An Introduction to GPIO Programming By Jeff Tranter Wednesday, June 12, 2019 编者按:本 2019 年博客系列是 ICS 最受欢迎的系列之一,现已更新(2022 年 12 月),以确保内容仍然准确、相关和有用。 本博客是 Integr…

实体类和Entity Class之间有什么联系

实体类(Entity Class)和Entity Class在本质上是相同的,它们都是面向对象编程(OOP)中用于表示具有业务逻辑意义的实体的类。 具体来说,实体类通常被设计用于代表真实世界中的对象或概念,这些对象…

PWRWER

编译烧录完代码之后,按下复位键屏幕会进行刷新,数据不会丢失 如果按下按键,进行页擦除,之后再按下复位键,发现屏幕不会再进行刷新,原因是程序已经被擦除,损毁,无法运行,此…

2024OD机试卷-查找接口成功率最优时间段 (java\python\c++)

题目:查找接口成功率最优时间段 题目描述 服务之间交换的接口成功率作为 服务调用 关键质量特性,某个时间段内的接口失败率使用一个数组表示, 数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数, 给定一个数值(minAverageLost)表示某个时间段内平均失败…

图片转word如何转换?

要将图片转换为Word文档,你可以使用以下方法之一: 以上这些方法都可以帮助你将图片中的文本转换为可编辑的Word文档,你可以根据自己的喜好和需求选择其中一种方法来操作。 使用OCR软件或在线工具:有许多OCR(Optical Ch…

【数据库】为何选择B+树作为索引?与红黑树、B树的对比

摘要: 数据库索引是数据库系统中至关重要的组成部分,影响着数据检索的效率和性能。本文将探讨为何数据库选择B树作为索引的原因,并分别分析红黑树和B树在此场景中的劣势。 介绍: 数据库索引是数据库系统中的重要组成部分&#xf…

实战LangChain(六):深入LangGraph的高级功能与最佳实践

实战LangChain(六):深入LangGraph的高级功能与最佳实践 实战LangChain(一):构建您的第一个聊天机器人_langchai 机器人 实战LangChain(二):探索RAG——为聊天机器人注入知识-CSDN博客 实战LangChain(三):深化交互——利用Neo4j提升聊天机器人的对话能力 实战La…

电子资源|基于SSM+vue的电子资源管理系统(源码+数据库+文档)​

电子资源管理系统 目录 基于SSMvue的电子资源管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 5.2.1管理员功能模块 5.2.2用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&am…

【Qt 学习笔记】Qt常用控件 | 多元素控件 | Tree Widget的说明及介绍

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 多元素控件 | Tree Widget的说明及介绍 文章编号&#x…

python代码实现TF-IDF

1、TF-IDF解释 TF-IDF(Term frequency–inverse document frequency),中文翻译就是词频 - 逆文档频率,是一种用来计算关键词的传统方法。 TF(Term Frequency):TF 的意思就是词频,是…

云计算的优势与未来发展

随着数字化转型的蓬勃发展,云计算作为信息技术应用的基础设施,逐渐成为企业的首选。云计算以其诸多优势和未来发展趋势,为企业带来了更高效、灵活和创新的IT解决方案,助力企业实现数字化转型和业务发展。 云计算的优势 首先&…

C#中的隐式类型转换和显式类型转换

在C#中,类型转换分为隐式类型转换(Implicit Type Conversion)和显式类型转换(Explicit Type Conversion),也称为隐式转换和强制转换。 隐式类型转换(Implicit Type Conversion) 隐…

SQL Server共享功能目录显示灰色无法自行选择

SQL Server共享功能目录显示灰色无法自行调整 一、 将之前安装SQL Server卸载干净 二、 清空注册表 1. 打开注册表,winR,输入regedit 2. 注册表-》编辑-》查找,输入C:\Program Files\Microsoft SQL Server\ 3. 注册表-》编辑-》查找&#x…

算法小记(二分)

题目描述: 输入 𝑛n 个不超过 109109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 𝑎1,𝑎2,…,𝑎𝑛a1​,a2​,…,an​,然后进行 𝑚m 次询问。对于每次询问&a…

docker+nginx+Jenkins自动构建

文章目录 前言一、实操记录问下AI:jenkins 配置新增一个mobilegit配置Build TriggersBuild EnvironmentBuild StepsPost-build Actions 上面一顿配置下来,构建 -- FAILURE 总结 前言 在已有docker-Jenkins-nginx 部署方案上,在另外一台测试…

C++实现一个简单的控制cpu利用率的程序

写一个程序&#xff0c;让控制cpu利用率在20%左右 思路很简单&#xff1a;每个循环控制sleep的时间占比 #include <iostream> #include <chrono> #include <unistd.h>int main() {int ratio 20;int base_time 1000;int sleeptime base_time * (100-ratio…

【计算机网络篇】数据链路层(10)在物理层扩展以太网

文章目录 &#x1f354;扩展站点与集线器之间的距离&#x1f6f8;扩展共享式以太网的覆盖范围和站点数量 &#x1f354;扩展站点与集线器之间的距离 &#x1f6f8;扩展共享式以太网的覆盖范围和站点数量 以太网集线器一般具有8~32个接口&#xff0c;如果要连接的站点数量超过了…