SWM341系列应用(上位机应用)

SWM341系列之上位机应用

1、分级图像和PNG、JPG的应用
现象:客户使用SWM34SVET6+HMI_0.4.1版本上位机进行UI界面布局,反馈在模拟运行时(PC端)流畅,在Demo平台(设备端)运行卡顿。
分析及解决:经过交流得知,客户在分级图像中应用了大量带有透明度的png图片,而SWM34S需要做大量的混 合运算消耗大量的性能,以及客户还将两个分级图形重叠,导致性能更加受损。解决方案是告知用户调整UI布局,使用不带透明度的jpg格式的图片源。在后续评估客户素材时,需注意应用分级图像时图片源是否带有透明度,且避免分级图像的叠加应用。
客户应用UI界面如下图:

2、SWM34S系列之上位机应用      
现象:客户使用符号字体,HMI0.4.1之后已经增加对转义字符\u的支持,询问如何在代码中更换显示的字符。
分析与解决:HMI0.4.1之后已经增加对转义字符\u的支持,只需在上位机中\u <UCS16>来索引字体,代码中也可以通过此方式来改变字符。

3、UICreator 与 360工具软件兼容         
现象:客户使用的是SWM34SRE,客户反馈HMI上位机出现闪退的现象,其中装360安全卫士的打开会闪退,装360杀毒的能正常打开
分析与解决:装360安全卫士需把HMI上位机加入白名单,可以解决闪退的问题
4、UICreator 多控件的应用            
现象:客户使用SWM34SRE做越野电摩的,使用Synwit_UI_creator,目前面临装车测试遇到了以下问题。
1)控件多的界面,运行时间长之后,会有明显的卡顿。
2)开机默认休眠,休眠3~5分钟后无法唤醒。
分析与解决:
问题1,经过现场排查,发现是客户在界面定时器里面反复初始化lv_style,导致画面的内存一直在泄露          内存,后面让客户初始化style一次即可,这样解决了泄露内存的问题。
问题2,开机默认把休眠位置放在frework_ready函数接口,此时lvgl已经开始运行,由于客户复用SFC的CS脚做唤醒脚,导致GUI搬运素材时可能取指失败导致hardfault,demo板上测试,换个唤醒IO是没有问题的。所以目前建议客户在Onboot的接口,在进去LVGL初始化之前再进行休眠,客户测试后问题解决。

5、图片尺寸过小引起的图片被覆盖现象   
现象:客户多普力反馈再使用上位机控件“艺术字”时,在代码框架中修改艺术字的文本,文本直接覆盖到原来的文本上,而非更新文本。在客户提供的素材中可以100%复现。(即有对应的艺术纸没法清除旧的显示数据。) 现象如下图所示:

分析:上位机设计 协助排查发现,客户布局中有大量的控件堆叠,且有一张图片大小小于控件的最低限制16px,导致控件大小要大于实际图片大小,这样LVGL在刷新过程中可能没刷新剩余部分导致文本覆盖。
解决方法:是让客户微调控件位置,将两个控件拉远,或者将静态部分元素做在底图中。控件堆叠情况如下:

6、UI Creator 对SPI接口TFTLCD应用的支持     
现象:客户使用UICreator1.2.1版本,客户说目前屏幕没有对应画面刷新,只能刷底色,目前排除发现底层disp_flush接口有问题,只能驱动MPU和RGB,需要再Display_mode里加上SPI的判断。如下图所示。

分析与解决:需要更新到1.3.0以上版本 

7、多次执行hidden和 load scr引起的花屏     
现象:协助客户分析寄过来的板子,发现客户很多地方进行反复的hidden和load_scr,导致客户会花屏。
分析与解决:目前让客户修改逻辑,实际操作只执行hidden和load_scr一次,不要反复执行。目前客户在极高画质下已经稳定运行,没有花屏现象。

8、非法ID 引起系统的崩溃死机     
现象:客户(SWM34SRET6)在使用上位机获取控件对象指针的API时(synwit_ui_find_lv_obj)传入了非法ID,即上位机工程中并不存在的控件ID,因此返回NULL,继而在调用原生LVGL的API操作这个指针导致系统崩溃死机。
分析与解决:在传入时查表判断是否为合法ID,合法则传入;非法则退出函数。

9、图片UI素材需要注意点   
现象:恩平沃电;客户反馈上位机0.42版本仿真会出现有紫色的边框,和原图有很大差异;
分析解决:是客户的图片源出现问题,是图片的底层有边框,把背景颜色改成黑色,问题解决;

10、34S-上位机使用的定时任务不准        
问题:客户使用上位机界面定时任务事件不准确(上位机的定时任务和lvgl定时任务没有区别)  
分析和解决:好多客户都喜欢把定时任务设置很小,5ms,10ms等。Lvgl中的conf设置屏幕刷新是33ms,所以设置lvgl刷新任务再小也没用,反而使效率更低。实测如果在lvgl定时任务中设置屏幕刷新任务,时间很小的话会不准,应该使和lvgl内部任务冲突。如果在定时任务用写其他程序(比如检测ADC,IO状态)缺不影响。  

11、上位机应用蒙版控制之透明度消失现象      --Liuzc    2023-11
现象:技术支持过程中,客户想通过蒙版控制速度变化,但是上位机新建的控件,跟上位机的图像控件的存储信息不完全一致,所以lvgl用lv_obj控件拷贝控件信息时,拷贝信息不完全,导致会有透明度消失的现象。
分析与解决:建议客户使用lv_obj_set_parent接口来解决,不用新建对象来操作。由于图片控件改成了父节点后,之后如果删除父节点,需要注意一下,那会导致图片控件也被连带删除,这样会出问题的。建议用下面的代码流程:
1、在切换图片父节点前,先通过lv_obj_get_parent()接口把旧的父节点保存到一个全局变量内
2、创建临时对象,调用lv_obj_set_parent()切换父节点
3、在界面stop回调中,同样通过lv_obj_set_parent()将图片原本的父节点恢复,然后删除临时对象

12、按键操作模式的上位机应用      --Liuzc    2023-11
现象:技术支持过程中,客户需要外部按键控制label事件,需要获取按键的event。
分析与解决:需要客户在事件回调判断if(e=LV_EVENT_KEY) 并进行(uint32_t*)lv_event_get_data(); 进行取值。

13、UI Creator中“图像”控件与原生LVGL差异      --WuT    2023-11
现象:客户吾小药(SWM34SxET6)使用UI Creator中创建图像控件,并调用在synwit_ui.h提供的synwit_ui_load_image_file(const char* path)加载图片,此时可以调用lv_img_set_zoom()来缩放图片的大小,但是采用LVGL原生API【lv_img_create()】,同样调用synwit_ui_load_image_file(const char* path)加载图片,此时图片可以正常显示,但无法通过调用lv_img_set_zoom()来缩放图片的大小。
分析和解决:询问SAE得知上位机创建的图像控件为“增强版”的图片控件,具有更多的属性,且在调用synwit_ui_load_image_file(const char* path)加载图片时仅是把jpg的图片加载到SDRAM,并未完成解码的动作,在UI Creator_v1.6.0之前的版本,建议客户通过在上位机中创建控件的方式来使用,在UI Creator_v1.6.0版本及之后的版本,可调用声明在widgets/imgex.h中的lv_imgex_create(lv_obj_t* par, const lv_obj_t* copy)创建。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+微信小程序的图书借阅管理系统(包运行调试)

介绍 系统介绍 是一套图书借阅管理系统&#xff0c;包括用户小程序以及后台管理系统。 前台商城系统包含用户注册登录、首页门户、图书查询、在线借阅、个人中心、我的信息、我的借阅、押金充值。 后台管理系统包含统计分析、用户管理、分类管理、图书管理、借阅管理、管理员…

Unknown redis exception; event execu tor terminated;解决

最近查看服务器日记是不是报发现有台服务器报错&#xff1a; rocessing failed; nested exception is org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.util.concurrent.RejectedExecutionException: event execu …

升降梯人数识别摄像机

升降梯人数识别摄像机是一种智能监测设备&#xff0c;主要用于实时识别和计算升降梯内乘客的数量。通过搭载先进的图像识别技术和人工智能算法&#xff0c;该设备可以准确监测乘客进出数量&#xff0c;提供重要数据支持和信息反馈&#xff0c;帮助管理人员有效管理升降梯运行&a…

经久耐用耐强腐蚀PFA材质气体洗涤瓶全氟烷氧基树脂尾气吸收瓶

PFA洗气瓶是一种常用于净化和干燥各种气体的实验室器皿&#xff0c;以去除其中的水分、油脂、颗粒物等杂质&#xff0c;从而使需要用到的气体满足实验要求。 PFA气体吸收瓶 PFA洗气瓶的工作原理&#xff1a; 主要是通过液体吸收、溶解或发生化学反应来去除气体中的杂质。在洗气…

【软件工程】详细设计(二)

这里是详细设计文档的第二部分。前一部分点这里 4. 学生端模块详细设计 学生端模块主要由几个组件构成&#xff1a;学生登录界面&#xff0c;成绩查询界面等界面。因为学生端的功能相对来说比较单一&#xff0c;因此这里只给出两个最重要的功能。 图4.1 学生端模块流程图 4.…

牛客网BC-71 三角形判断(操作符注意事项)

例题如下 这道题的编程很容易实现&#xff0c;但恰恰因为太简单导致容易忘记注意事项 代码如下 #include<stdio.h> int main() {int a 0,b 0,c 0;while(scanf("%d%d%d",&a,&b,&c)!EOF){if(ab>c&&ac>b&&bc>a){ //三…

零基础如何自学人工智能?推荐优秀的学习路径及方法

人工智能&#xff08;AI&#xff09;是一个广泛且复杂的领域&#xff0c;自学AI可能是一项艰巨的任务&#xff0c;但只要有兴趣和决心&#xff0c;这绝对是可能的。以下是一个零基础自学人工智能的学习路径&#xff0c;旨在帮助那些只有兴趣&#xff0c;但缺乏背景知识的人。 *…

C语言第三十九弹---预处理(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 预处理 1、预定义符号 2、#define定义常量 3、#define定义宏 4、带有副作用的宏参数 5、宏替换的规则 6、宏和函数的对比 总结 在C语言中&#xff0c;预处…

宝塔面板docker管理器安装后,返回docker菜单页,提示当前未安装docker或docker-compose 未安装,再次安装后,依然提示未安装。

宝塔面板docker管理器安装后&#xff0c;返回docker菜单页&#xff0c;提示当前未安装docker或docker-compose 未安装&#xff0c;再次安装后&#xff0c;依然提示未安装。 OS: debian 11 BT: 7.9.8 解答&#xff1a; 您好&#xff0c;服务器终端执行以下命令截图看一下命令…

企业微信企业主体变更认证介绍

企业微信变更主体有什么作用&#xff1f; 说一个自己亲身经历的事情&#xff0c;当时我在一家教育公司做运营&#xff0c;公司所有客户都是通过企业微信对接的。后来行业整顿&#xff0c;公司不得不注销&#xff0c;换了营业执照打算做技能培训&#xff0c;但发现注销后原来的企…

前段之JavaScript——网页的血液!!

目录 一、JavaScript简介 二、JavaScript引入 三、声明变量 四、数据类型 五、运算符 六、函数 七、常用数据操作方法 1、字符串 2、数组 3、对象 八、BOM 九、DOM 一、JavaScript简介 JavaScript是一种用于为网页添加交互功能的脚本语言。它是一种轻量级的、解释…

氟化氢冷凝装置配套PFA烧瓶PFA冷凝管PFA接收瓶等

一、装置清单及说明&#xff1a; 1. PFA烧瓶 材质为PFA&#xff0c;半透明&#xff0c;耐受强酸强碱&#xff0c;常用500ml 1000ml&#xff0c;其他规格等可自行选择&#xff0c;若需要3颈及以上建议选择500ml以上规格&#xff0c;可根据要求选择有液位计&#xff0c;可看出瓶…

3D人脸扫描技术与数字人深度定制服务:赋能打造超写实3D数字分身

在数字时代&#xff0c;3D数字分身有着广泛的应用场景&#xff0c;在动画视频、广告宣传片、大型活动主持人、AI交互数字人等领域&#xff0c;发挥着重要的商业价值。其中&#xff0c;3D人脸扫描技术&#xff0c;推动了超写实3D数字分身的诞生。 公司案例 2023海心沙元宇宙音乐…

酒吧酒馆微信小程序设计基于Java,SpringBoot,Vue和UniApp

摘要 该设计目标是创建一个集成了Java, SpringBoot, Vue和UniApp技术的酒吧微信小程序&#xff0c;为用户提供一个功能全面、操作便捷的服务体验。通过利用SpringBoot的高效微服务架构&#xff0c;后端能够快速处理用户请求&#xff0c;实现酒品浏览、订单管理等核心功能&…

大话设计模式之外观模式

外观模式&#xff08;Facade Pattern&#xff09;是一种软件设计模式&#xff0c;旨在提供一个简单的接口&#xff0c;隐藏系统复杂性&#xff0c;使得客户端能够更容易地使用系统。这种模式属于结构型模式&#xff0c;它通过为多个子系统提供一个统一的接口&#xff0c;简化了…

华为OD机试 - 最大社交距离(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

央视315推荐的护眼灯有哪些?护眼灯十大品牌推荐

台灯作为家居类不可或缺的一种照明灯具&#xff0c;在我们的日常生活中发挥着重要作用&#xff0c;尤其是对于经常需要在夜晚长时间用眼学习的孩子而言&#xff0c;能够提供充足、明亮的照明&#xff0c;对学习帮助是非常大的。然而台灯的选择也是有讲究的&#xff0c;市面上很…

MongoDB 6.1 及以上版本使用配置文件的方式启动报错 Unrecognized option: storage.journal.enabled

如果你使用的 MongoDB 的版本大于等于 6.1&#xff0c;并且在 MongoDB 的配置文件中编写了如下内容 storage:journal:# 启用或禁用持久性日志以确保数据文件保持有效和可恢复# true 启用&#xff1b;false 不启用# 64 位系统默认启用&#xff0c;启用后 MongoDB 可以在宕机后根…

黄金票据的复现

实验环境以及工具 服务器&#xff1a;Windows server 2003 用户&#xff1a;Windows 7旗舰版 工具&#xff1a;mimikatz 搭建服务器环境 参考&#xff1a;内网横向——域渗透之黄金票据复现-CSDN博客 创建用户 使用gpupdate刷新策略&#xff1b; 搭建win7环境 设置ip ‘…

SpringBoot实现邮箱验证

目录 1、开启邮箱IMAP/SMTP服务&#xff0c;获取授权码 2、相关代码 1、使用配置Redis&#xff08;用于存储验证码&#xff0c;具有时效性&#xff09; 2、邮箱依赖和hutool&#xff08;用于随机生成验证码&#xff09; 3、配置Redis和邮箱信息 4、开启Redis服务 5、编写发送…
最新文章