Yocto-Visualization V2 pour Linux

Yocto-Visualization V2 pour Linux

Le fait d'avoir affranchi l'application Yocto-Visualization V2 de toute libraire tierce a un effet de bord assez intéressant: on peut essayer de la recompiler avec Mono et ainsi la faire tourner sur un système d'exploitation autre que Windows. On s'est attaqué à la version Linux... et ça marche !





Bon, on ne va pas vous mentir, ça ne s'est pas fait en trois clics, il a fallu faire pas mal d'adaptations et accepter quelques compromis. La version Mono de WinForm, la librairie système qui gère les fenêtres Windows, est loin d'être aussi stable que l'original. On a plus ou moins bien contourné tous les bugs qu'on a rencontré, mais ne soyez pas trop surpris si vous rencontrez quelques artéfacts un peu bizarres. Ceci dit, on pense que le résultat est tout à fait utilisable.

Yocto-Visualization sous Linux, incroyable! Merci Mono.
Yocto-Visualization sous Linux, incroyable! Merci Mono.


Installation

Vous aurez besoin d'avoir Mono installé pour que YoctoVisualization V2 fonctionne sur votre système. Vous pouvez l'installer avec la commande:

sudo apt-get install mono-devel


Ensuite vous aurez à téléchargez la version de Yocto-Visualization correspondant à votre système:

Dézippez-la où bon vous semble et lancez l'exécutable.

./YoctoVisualization


Si l'application ne vous liste aucun module Yoctopuce, n'oubliez pas de vérifier que vos règles udev sont à jour.

Le cas Raspberry PI

On vous voit venir, maintenant que ça marche sous Linux, vous allez vouloir faire tourner Yocto-Visualization sur votre Raspberry PI préféré. Le hic, c'est que notre libraire de rendu a été développée en mode "Peu importe la quantité de mémoire utilisée, pourvu que ça aille vite", malheureusement il se trouve le Raspberry PI est assez mal pourvu en la matière. Si vous lancez Yocto-Visualization sur une machine qui n'a pas beaucoup de mémoire, elle va freezer au bout de quelques heures. C'est pourquoi on a ajouté à la fenêtre de configuration globale deux petits réglages qui permettent de limiter le nombre maximum de points que l'application peu mémoriser. On vous suggère de limiter à 10000 points.

Oui, ça marche même sur Raspberry PI... moyennant quelques limitations
Oui, ça marche même sur Raspberry PI... moyennant quelques limitations


Recompilation

En cas de besoin, les sources sont disponibles sur GitHub, ce sont les même pour Windows et Linux. Pour les recompiler, vous aurez besoin, en plus de Mono, de MonoDevelop (min. Version 5). Attention! n'utilisez pas la version basée sur flatpak: elle tourne dans une sandbox qui n'a pas accès à la librairie système libusb, préférez la version qui s'installe avec apt-get.

sudo apt-get install monodevelop


Vous pouvez ouvrir le fichier YoctoVisualization.csproj avec MonoDevelop ou créer directement un exécutable pour votre plateforme en lançant le script BuildLinuxBinary.

Gestion des versions de la librairie YAPI

Le choix du bon fichier pour la librairie YAPI se fait avec des dllmap qui sont définies dans le fichier dllmap.config:

<dllmap dll="yapi.dll" os="linux" cpu="x86" target="libyapi-i386.so"/> <dllmap dll="amd64\yapi.dll" os="linux" target="libyapi-amd64.so"/> <dllmap dll="yapi.dll" os="linux" cpu="arm" target="libyapi-armhf.so"/>


Vous avez plusieurs solutions pour les intégrer. Aucune d'elles n'est vraiment idéale, mais elles marchent.

  • Editer le fichier YoctoVisualization.exe.config pour y ajouter les mappings, mais ce fichier peut potentiellement être écrasé pendant une compilation.
  • Ajouter les mappings directement dans le fichier source app.config, mais vous ne pourrez plus compiler le projet avec VisualStudio sous Windows.
  • Utiliser mkbundle pour créer un exécutable Linux qui contient, entre autres, le fichier dllmap.config, c'est ce que fait le script buidLinuxBinary.


Problèmes connus

Cette version Linux n'est pas exempte de défauts, voici ceux qu'on a déjà repérés:

  • L'éditeur de couleur a un effet de bord bizarre sur l'éditeur de propriétés si vous cliquez sur une DropDownList juste après l'avoir utilisé. Re-cliquer sur la DropDownList fait disparaître le problème. On va probablement régler ça en ré-écrivant l'éditeur de propriétés à zéro, mais ce ne sera pas pour tout de suite.
  • La capture d'écran dans le presse papier ne marche pas n'est pas supportée, mais la capture dans un fichier PNG fonctionne, pour autant qu'elle soit lancée depuis le menu et pas par la touche printScreen.
  • L'onglet Memory usage de la fenêtre de configuration n'affiche pas la mémoire disponible.
  • Le zoom à l'aide des doigts sur un écran tactile ne marche pas (mais le défilement fonctionne).
  • Le changement de style de bordures de fenêtre ne marche pas.
  • L'utilitaire mkbundle, utilisé dans le script buidLinuxBinary est censé permettre de construire un exécutable complètement autonome contenant l'application, Mono ainsi que toutes les librairies nécessaires à son bon fonctionnement, au point qu'il ne serait même pas nécessaire d'installer Mono pour utiliser Yocto-Visualization. Mais on n'a jamais réussi a obtenir un résultat aussi idéal. Si quelqu'un connaît la solution, on serait très intéressés :-)


Conclusion

Voilà, vous savez tout ce qu'il y a savoir sur cette version Linux. Elle n'est pas parfaite, mais on compte bien continuer à travailler dessus. Par conséquent si vous avez des remarques ou autre suggestions, n'hésitez pas à nous en faire part en envoyant un petit mail au support Yoctopuce.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.