网站文件怎么做,大连网站建设方案,淘宝上的网站怎么做,护肤品 网站建设策划本文翻译自#xff1a;Qt for MCUs 2.7 released
原文作者#xff1a;Qt Group高级产品经理Yoann Lopes
翻译#xff1a;Macsen Wang Qt for MCUs的新版本已发布#xff0c;为Qt Quick Ultralite引擎带来了新功能#xff0c;增加了更多MCU平台的支持#xff0c;并且我们…
本文翻译自Qt for MCUs 2.7 released
原文作者Qt Group高级产品经理Yoann Lopes
翻译Macsen Wang Qt for MCUs的新版本已发布为Qt Quick Ultralite引擎带来了新功能增加了更多MCU平台的支持并且我们对GUI框架进行了多项改进以适应资源受限的嵌入式系统。
您可以在变更日志中找到此版本的完整变更列表。接下来我们将介绍此版本的亮点。 更便捷的2D形状处理
我们添加了新的QML API到Qt Quick Ultralite这些API从传统Qt中进行了适配并可直接兼容以简化在应用程序中实现两种常见UI元素弧形和渐变的过程。
ArcItem
为了在Qt for MCUs应用程序中绘制弧形Qt Quick Ultralite已经拥有了来自Shapes模块的PathArc QML类型它提供了一种灵活且通用的方式来实现任何类型的椭圆弧但是在只需要绘制两个角度起始和结束之间的圆弧时缺乏便利性。新的ArcItem类型从Qt Design Studio适用于传统Qt的组件进行了调整满足了这一需求并提供了一种快速实现诸如仪表或圆形进度指示器等UI组件的方法。
您可以自行查看并尝试新的studio_components示例以了解如何使用它。
渐变
在此版本之前Qt for MCUs中添加渐变的主要选项要么是将渐变预先渲染为图像要么是使用PaintedItem进行基于自定义C绘制的实现。为了提供更多便利性和灵活性我们将传统Qt Quick中的Gradient类型适配到Qt Quick Ultralite中可用。它可以用于填充Rectangle、Shape和ArcItem使用任意数量的颜色停止点进行线性渐变。
现有的shapes示例和watch demo已经更新演示了如何使用这种新类型。
集成任意格式的资源
我们增加了对自定义图像格式支持以提高使用的灵活性。到目前为止Qt Quick Ultralite资源编译器在进行编译时预处理图像时解码并在需要的时候重新进行压缩。这导致用户无法启用自定义格式的图像的即时解码例如在运行时从远程服务器下载的图像或某些格式可能在特定MCU上具有硬件加速例如JPEG解码。为了克服这个限制我们添加了一个新的ImageDecoder API用于注册自定义图像格式和匹配解码器。这使得可以在应用程序中包含自定义解码器接口硬件或软件并利用硬件提供的特有的解码能力或使用特定用途的图像格式。
您可以在相关指南中阅读有关集成新图像格式所需步骤的更多信息。
即时JPEG解码
作为新的ImageDecoder API的示例实现我们添加了对某些STM32硬件平台上可用的硬件加速JPEG解码器的支持。该实现演示了如何将JPEG解码器注册为自定义格式并为其提供了硬件解码接口。在支持的STM32平台上使用这种方法可以节省大量的用于存储的非易失性存储器资源并避免在运行时解压缩它们时所造成的性能开销。这对于由许多必须存储在flash中并按需解码的帧组成的复杂动画特别有帮助例如启动动画、视频或类似GIF的动画。
我们已更新我们的Sprite_Animation示例以利用支持的STM32 F7和H7平台上的HW JPEG解码器。
轻松针对不同的显示方向旋转GUI技术预览版
我们添加了一个新的项目属性可以在几乎没有运行时性能损耗的情况下轻松对GUI内容应用静态旋转。
当设备的显示不处于其自然方向时这个功能可以提供极大的便利例如在纵向显示面板例如480x800上显示横向UI例如800x480。这中情况可能是基于多个显示屏之间的成本考虑、组装限制或其他各种原因导致的。在这种情况下除非显示屏控制器能够直接处理所需的旋转否则您需要根据设置将GUI内容旋转90度、180度或270度。
现有的一些解决方案包括对GUI应用运行时旋转这可能会显著降低大多数MCU的应用帧率或者设计具有内置旋转的布局和资源以避免运行时性能损失但这意味着工作流程非常繁琐。我们设计的解决方案既简单——只需设置一个项目属性无需更改QML代码或GUI资源——又高效同时可以避免运行时的性能损失。
这个功能在Qt for MCUs 2.7中作为技术预览版发布并计划在Qt for MCUs 2.8 LTS中升级为稳定版。虽然在下一个版本中不希望更改API但当前版本存在一些限制尚未实现所有优化这意味着在该版本中应用旋转可能会对帧率和CPU使用率产生影响。
您可以在配置显示旋转文档页面上获取更多关于此功能的信息。
新设备的支持
作为这个版本的一部分我们已经添加了一些新的MCU供您尝试
Renesas RA系列的新旗舰MCU——基于Cortex M85的RA8D1——现在作为Tier-2技术预览平台启用。稳定版本会在即将发布的版本中推出。适用于可穿戴设备的超低功耗MCU Ambiq Apollo4 Plus带显示屏扩展板现在作为Tier-3平台推出。
Infineon TRAVEO™ T2G CYT4EN是一款提供MPU级性能和图形能力的MCU支持高分辨率显示最高可达2880 x 1080现在作为Tier-2技术预览平台可用。 更多内容
我们不断努力使Qt Quick Ultralite尽可能轻量。在之前的版本中我们已经发布了相关的优化措施进一步优化了从QML生成的C代码使大多数应用的.text节的大小减少了3%7%。
改进了FreeRTOS多任务示例以演示多个线程之间的双向通信更加贴近实际使用场景。这使得在Qt Quick Ultralite和后端线程之间的数据同步更加容易。
在Qt Design Studio 4.4中进行了许多提升重点是提供一个仅限于Qt for MCUs可用功能的GUI设计环境以防止误生成仅对传统Qt有效的QML代码。
当为qmlproject属性分配的值无效时改进了qmlprojectexporter工具的错误报告。
后续计划
Qt for MCU 2.8 长周期支持版(LTS) 将于 2024 年 5 月底发布。您可以一如既往地期待一系列新功能和改进从而更快地创建用于 MCU 的高级图形用户界面。在下一版本中我们计划包含的一些亮点如下
为了极大地简化创建可调整大小的用户界面的流程我们为Qt Quick Ultralite提供了Qt Quick Layouts的子集。新增了TextInput QML类型这是一个功能齐全的虚拟键盘具有与智能手机上一致的用户体验。支持CMSIS-packs方便将Qt for MCUs与第三方嵌入式IDE项目进行集成。支持Zephyr RTOS和构建系统。
这还不是全部我们计划在今年和以后进行更多开发旨在提高您的生产力并将嵌入式处理器的上所能实现的效果推向极限。请持续关注更多更新。