La première version de Qt pour les microcontrôleurs avec support à long terme (LTS) est disponible

Qt for MCU

[EMBEDDED WORLD] Quelques jours avant la tenue d'Embedded World, The Qt Company, l’éditeur de l’environnement de développement d’applications et d’interfaces utilisateur graphiques pour produits informatiques, mobiles et embarqués Qt, a annoncé la disponibilité de la version Qt for MCUs 2.2 LTS (Long Term Support). On se souviendra que, depuis la fin 2019, avec Qt for MCUs (Microcontrollers), la société nordique a l’ambition d’offrir des expériences utilisateur fluides, voire immersives, aux équipements dotés d’un écran et bâtis sur des microcontrôleurs bas coût sur les marchés de la voiture connectée (systèmes d’infodivertissement et tableaux de bord), des dispositifs électroniques portés sur soi (montres connectées, traceurs d’activités sportives), des appareils électroménagers, de l’industriel et du médical.

Comme le symbole LTS accolé à son nom l’indique, Qt for MCUs 2.2 LTS est la première version de cet environnement qui sera prise en charge à long terme avec des corrections de bogues qui seront publiées sur une période de 18 mois.

Selon Yohann Lopes, Senior Technical Product Manager à The Qt Company, cette version ajoute des améliorations au rendu de texte, de nouvelles API pour gérer les erreurs dans le code de l'interface graphique, ainsi que de nouveaux outils pour générer du C++ à partir du langage déclaratif QML, indépendamment des outils de construction logicielle multiplateforme CMake.

« Nous avons déployé beaucoup d'efforts dans les versions précédentes de Qt for MCUs pour apporter des améliorations et de nouvelles fonctionnalités au moteur de rendu de texte dans Qt Quick Ultralite, précise Yohann Lopes dans un blog accessible sur le site de The Qt Company. La version Qt for MCUs 2.0, par exemple, a ajouté la prise en charge d’écritures complexes telles que l'arabe ou le thaï, tandis que Qt for MCUs 2.1 a ajouté la troncature automatique du texte débordant. La version 2.2 ajoute une autre fonctionnalité utile et essentielle pour les cas où les éléments de texte peuvent avoir une longueur variable : le saut à la ligne automatique, également appelé retour à la ligne. »

Du côté de la gestion des erreurs, Qt for MCUs dispose désormais d'un nouveau mécanisme de rapport d'erreurs pour permettre à l'application de réagir de manière appropriée aux erreurs se produisant dans Qt Quick Ultralite, telles qu'une erreur d'allocation de mémoire ou une opération GPU invalide. Les actions peuvent être une notification à l'utilisateur ou un redémarrage automatique de l'appareil. Les API peuvent également être utilisées pour implémenter des mécanismes de journalisation personnalisés à des fins de débogage ou de diagnostic.

Enfin, côté génération de code, Qt for MCUs 2.2 LTS n’impose plus que toute application Qt for MCUs ait un fichier de projet CMake valide (comme il est de coutume dans l'environnement Qt) et une chaîne d'outils de compilation fonctionnelle pour générer du code C++ à partir du code QML et des fichiers de ressources graphiques.

Pour permettre une intégration facile des interfaces graphiques Qt for MCUs dans n'importe quel projet, The Qt Company a donc ajouté un nouveau générateur de code autonome du nom de qmlprojectexporter. Le code qu'il génère peut être importé dans un environnement de développement tiers ou dans un système de construction logicielle (build) différent de CMake. Cette fonctionnalité est pour l’heure proposée en tant que Technology Preview et n’est donc pas encore considérée comme stable.

Qt for MCUs 2.2 propose également un nouveau guide donnant des conseils et astuces pour créer des applications compactes et performantes, ainsi que la prise en charge du compilateur IAR pour les puces Infineon Traveo II.

A noter que la prochaine mise à jour des fonctionnalités est prévue pour novembre 2022 avec la version Qt for MCUs 2.3.