HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移

news/2024/11/8 17:41:55/
头图

HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移

文章目录

  • HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
    • 摘要
    • 修改Pro文件
    • 设置CPU亲缘性
    • 后面的解决思路
        • 1 只用大量属性动画,替换部分效果,现在使用了定时器
        • 2 使用新的框架,就是那个QGraphics
    • ◕目前项目进展
      • Linux 实机测试
      • ▶第三阶段 液晶仪表节能模式
      • ▶第二阶段 液晶仪表运动模式
      • ▶第一阶段 HUD和液晶仪表舒适模式
  • 重大说明
    • ©说明:

关键字: MeterDisplayLinuxDebianQtArm

摘要

先说结论,虽然移植成功,但是显示效果不理想,可以直接看和面的视频。先说说做了什么吧。

修改Pro文件

因为之前我的Pro文件是自己手撸的,所以好多Qt默认的都没有写,开始在Win平台下是没有问题的,但是在Linux 下,确实可以编译,但是不可以运行,这明显就是链接不到库文件,所以应该是程序默认的路径没有搞好,于是在Linx下新建了一个工程,对比一下,需要在Pro文件中加入以下代码

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

这样可以保证程序可以编译,并且在板子上运行了。但是呢,很卡。

设置CPU亲缘性

根据之前的经验,可以尝试手动控制程序中每个线程使用对应的CPU内核,所以在这个项目中,任然直接尝试手动控制内核。代码如下,

注意,这个代码智能在Linux下编译通过,每个平台设置内核绑定的接口不一样,所以要对应平台。

    cpu_set_t mask;CPU_ZERO(&mask);CPU_SET(5,&mask);if(sched_setaffinity(0,sizeof(cpu_set_t),&mask) < 0)qDebug() << "False:" << "sched_setaffinity(0,sizeof(cpu_set_t),&mask)";

完成了以上尝试,发现还是很卡,真的很卡,可以看视频,暂时呢,无解了。

后面的解决思路

因为我的代码里面会有大量的painter函数,这会浪费大量CPU资源,所以我会尝试一下两个路子。

1 只用大量属性动画,替换部分效果,现在使用了定时器

属性动画用的基本很好,属于边写边摸索,所以进度不能保证,下一篇啥时候出来,完全看天意。

2 使用新的框架,就是那个QGraphics

据说这个可是使用GPU,从而解放CPU性能,这个也是,基本没有啥大规模使用过,也是得边摸索边写。结果看天意。

◕目前项目进展

Linux 实机测试

基于Qt的汽车仪表-Linux迁移最近进展

▶第三阶段 液晶仪表节能模式

✈B站链接:https://www.bilibili.com/video/BV1WS4y137y1/

▶第二阶段 液晶仪表运动模式

✈B站链接:https://www.bilibili.com/video/BV1aq4y1t7H7/

▶第一阶段 HUD和液晶仪表舒适模式

✈B站链接:https://www.bilibili.com/video/BV1qJ411X7Gs/

重大说明

这个项目开始的日期是在19年吧,那时的自己年少无知,也没有实际的硬件测试,在代码好多方面,都没有一个明确的构架,以及在开发过程中,尽管尽量写了笔记,但是还是不能很好的描述具体的工作。

今天做了实机移植测试,但是效果并不理想,所以目前这个项目暂停更新,感兴趣的小伙伴,可以尝试使用属性动画和QGraphics来修改测试一下。不过工作量应该不会小,所以对于我来说,这个项目的目的已经达到,后面可能会有其他相关的内容输出到这个项目专栏里面,但是界面相关的代码应该不会再更新了。

不过最新的HMI项目已经在考虑了,到时会全面拥抱QML。敬请期待吧。

©说明:

☑ 本项目中所使借鉴原型来自:[吉利] 博瑞GE | 仪表HMI设计、吉利汽车HMI项目。

☑ 多媒体部分是来自吉利博瑞2017旗舰版界面所有权和解释权都归吉利汽车所有。

☑ 设计图的所有权和解释权都归吉利汽车所有。

☑ 本项目所有资源文件均由**打不死的小海**复刻制作。

☑ 本项目代码暂时不会开源,有需要的源码的可与我联系(博文结尾有我微信)。

☑ 本项目仅限学习交流、禁止商业使用。


博客签名2021

http://www.ppmy.cn/news/381760.html

相关文章

嗨,这里有一个满足ISO 26262 ASIL-D功能安全的整车控制器,你不了解一下吗?

背景介绍 为了保证汽车电子电气的可靠性设计&#xff0c;在2011年发布了ISO 26262&#xff08;道路车辆功能安全标准&#xff09;&#xff0c;ISO 26262标准横向视角来看&#xff0c;解决的问题是&#xff1a;减少汽车电子电气系统发生系统性失效的可能性&#xff0c;采用的方…

汇川H5U和三菱Q系列内置以太网做MODBUS通讯

汇川H5U和三菱Q系列内置以太网做MODBUS通讯 PLC型号&#xff1a; 汇川H5U-1614MTD&#xff0c;三菱Q03UDV 主从方式&#xff1a; 汇川做modbus/tcp从站&#xff0c;三菱做主站读取。 3配置方式&#xff1b; 1、汇川做modbus/tcp从站&#xff0c;H5U默认开启modbus/tcp从站服…

M65

算起来等这部手机也等了我半年了&#xff0c;先等着它上市&#xff0c;再等着它降价。不知道西门子搞什么鬼&#xff0c;大陆就是不降。只好上澳门买了&#xff0c;两地差价最少500RMB&#xff0c;算上来回路费&#xff0c;还是赚了。可惜没有买到数据线还有耳机&#xff0c;还…

网络安全|渗透测试入门学习,从零基础入门到精通—收集信息篇

目录 前面的话 1、收集域名信息 1.1、Whois查询 ​编辑1.2、备案信息查询 2、收集敏感信息 3、收集子域名信息 3.1、子域名检测工具 3.2、搜索引擎枚举 3.3、第三方聚合应用枚举 3.4、证书透明度公开日志枚举 本章小结 前面的话 本人喜欢网络完全的一些知识&#xff…

java的转换流、压缩流、序列化流、打印流

一、转换流 转换流属于字符流&#xff0c;也是一种高级流&#xff0c;用来包装Reader和Writer。转化流是字符流和字节流之间的桥梁。转换输入流为InputStreamReader&#xff0c;把把字节流转化为字符流&#xff1b;转化输出流为OutputStreamWriter&#xff0c;把字符流转化为字…

快速入门教程:神经常微分方程 (Neural ODE)

神经常微分方程(Neural Ordinary Differential Equations,简称 Neural ODE)是一种基于常微分方程(Ordinary Differential Equations,ODEs)的深度学习方法,它结合了传统的ODE数值求解技术和神经网络模型。通过使用ODE来建模数据的演化过程,Neural ODE可以自动地学习数据…

深入探究生成对抗网络(GAN):原理与代码分析

文章目录 1. 应用领域1.1 图像生成1.2 图像编辑和重建1.3 视频生成1.4 文本生成1.5 音乐生成1.1 虚拟现实增强 2. GAN的原理2.1 核心概念2.2 网络结构2.3 损失函数2.4 训练过程 3. GAN图像生成任务应用 生成对抗网络&#xff08;Generative Adversarial Network, GAN&#xff0…

超pd925

只为学习提高&#xff01;&#xff01; 我的配置&#xff0c;PD 925 &#xff0c;技嘉945的主板&#xff0c;x1300的显卡&#xff0c;长城230w的电源&#xff01; 都说PD是Intel最失败的CPU&#xff0c;原因很简单&#xff0c;就是功耗大&#xff0c;发热厉害&#xff0c;确实…