L'application Yocto-Visualization qui vous permet de visualiser facilement les données issues de capteurs Yoctopuce ne s'est pas faite en un jour, son développement principal s'est étalé sur plus de deux ans. Ce qui explique que les informations à son propos soient un peu éparpillées dans ce blog. Cette semaine, on a décidé de tout rassembler dans un article. Si n'avez jamais utilisé Yocto-Visualization, vous trouverez ici tout ce qu'il y a savoir. Si vous l'avez déjà utilisé, prenez la peine de parcourir cet article, quelques détails intéressants pourraient vous avoir échappé.
L'objectif de Yocto-Visualization
En temps normal, Yoctopuce vend des modules USB et offre les librairies de programmation pour les exploiter: c'est à l'utilisateur de programmer l'application qui résoudra son problème à l'aide de modules Yoctopuce. Cependant, face à la demande pressante pour une solution permettant d'afficher facilement les données issues de nos capteurs, on a fini par accepter de faire une petite entorse à ce principe et se lancer dans le développement d'une application idoine: Yocto-Visualization.
Principales caractéristiques
Le principal scénario visé par Yocto-Visualization est la surveillance d'une expérience basée sur des modules Yoctopuce.
Yocto-Visualization
L'idée derrière Yocto-Visualization est d'afficher les données de capteurs Yoctopuce en temps réel et ce sous différentes formes: graphes, cadrans analogiques ou digital tout en autorisant une customisation extrême des afficheurs. Yocto-Visualization peut travailler avec n'importe quels capteurs Yoctopuce, qui peuvent être soit connectés directement en USB, soit accessibles à travers le réseau grâce à des YoctoHubs. Chaque afficheur est contenu dans une fenêtre indépendante. Ces fenêtres sont persistantes: si vous fermez l'application puis la ré-ouvrez plus tard, toutes les fenêtres seront restaurées dans leur dernier état.
Installation
Vous pouvez télécharger Yocto-Visualization directement depuis la page "utilitaires" de notre site web. Il est disponible pour Windows, Linux et mac-os
Windows
La version Windows est disponible sous la forme d'un simple fichier MSI. Vous n'avez qu'à le télécharger et le lancer. L'installation est des plus triviale: il n'y a pas d'option exotique. Une fois l'installation terminée, l'application est accessible dans le sous-menu "Yoctopuce" du menu "Démarrer" de Windows.
Linux
Sous Linux, vous pouvez soit télécharger un installeur au format .deb, soit utiliser apt-get pour l'installer. Une fois l'installation terminée, Yocto-Visualization est disponible dans la catégorie "accessoires" du menu principal.
Attention, la version Linux de Yocto-Visualization est basée sur Mono, vous devrez donc l'installer si ce n'est déjà fait, pour info la commande à taper est la suivante,
$ sudo apt-get install mono-complete
Veillez à installer la version "mono-complete".
D'autre part, si vous voulez que Yocto-Visualization puisse accéder à vos modules connectés directement par USB en mode "user", i.e. sans privilèges particuliers, vous devrez créer la règle udev idoine.
mac-os
Yocto-Visualization est aussi disponible pour certaines versions de mac-os. Cette version utilise aussi Mono qui devra être installé. Attention, la librairie de fenêtrage de Mono est basée sur des librairies Apple disponibles uniquement en 32bits. Malheureusement, le support 32bits a été supprimé des systèmes d'exploitation Apple à partir de Catalina, et par conséquent Yocto-Visualization ne fonctionne pas sur Catalina. A l'heure actuelle, ce problème n'a pas de solution.
Configuration globale
Lorsque vous lancez Yocto-Visualization pour la première fois, vous obtenez une fenêtre d'accueil.
La fenêtre d'accueil
La première chose à faire consiste à configurer la façon dont Yocto-Visualization va accéder aux modules Yoctopuce. Pour ce faire, cliquez sur le bouton "Configure global parameters" ce qui fait apparaître la fenêtre de configuration. Cette fenêtre a plusieurs onglets, mais le principal est "USB / Network".
Connexion
Le tab "USB / Network" vous permet de définir la façon dont Yocto-Visualization accède aux modules Yoctopuce.
Configuration USB-network
Par défaut, seuls les modules connectés directement en USB sont utilisés, mais vous pouvez choisir de passer par un VirtualHub qui tournerait en local. Notez cependant que Yocto-Visualization souffre de la même limitation technique que toutes applications basées sur l'API Yoctopuce. Il ne peut y avoir qu'une seule application a la fois qui accède aux modules Yoctopuce en mode natif. Typiquement, le VirtualHub est une application qui utilise le mode natif.
Limitation de l'API Yoctopuce
Si les deux options "USB" et "VirtualHub" sont sélectionnées, Yocto-Visualization utilisera automatiquement celle qui marche. Notez que si vous utilisez un VirtualHub pour accéder aux modules locaux, et que vous décidiez de l'arrêter, Yocto-Visualization ne re-basculera pas automatiquement en mode local USB même si cette option est activée. Vous devrez soit redémarrer l'application, soit désactiver puis réactiver l'option "use local USB devices".
Vous pouvez aussi ajouter les adresses de YoctoHubs auxquels vous voudriez que Yocto-Visualization accède, cliquez simplement sur le bouton "new" et entrez l'adresse IP du hub concerné. Le seul paramètre obligatoire est cette adresse IP, les autres sont purement optionnels.
Ajout d'un nouveau hub
Une fois le Hub ajouté, il apparait, avec son nom et l'état de la connexion, dans la liste des hubs utilisés.
Liste de hubs utilisés
Notez que vous n'êtes pas obligé d'utiliser un Yoctohub physique, vous pouvez aussi entrer l'adresse IP d'un VirtualHub tournant sur une machine distante. Vous pouvez ajouter autant de YoctoHubs que vous le désirez.
Une fois Yocto-Visualization correctement configuré, il est temps de passer aux choses sérieuses.
Les graphes
Le principal intérêt de Yocto-Visualization est de dessiner des graphes en temps réel. Cliquez simplement sur le bouton "create a new graph" dans la fenêtre d'accueil. Vous obtiendrez une fenêtre contenant un graphe tout vide et qu'il va falloir configurer. Pour cela, faites simplement un clic-droit dans la fenêtre et choisissez l'option "Configure this graph".
Configurer un graphe
Cela aura pour effet de faire apparaître l'éditeur de propriétés du graphe. Cet éditeur rassemble tous les paramètres de votre graphe, organisés en sections et sous-sections. Vous pouvez modifier à peu près n'importe quel paramètre: couleurs, textes, tailles, fontes, comportements etc....
L'éditeur de propriétés permet d'effectuer des changements de look assez radicaux
Chaque propriété est décrite par une courte phrase dans le bas de l'éditeur de propriétés. Chaque modification est appliquée en temps réel. Toutes les propriétés sont initialisées par défaut à des valeurs sensées être raisonnables pour la plupart des applications. La seule qui ne peut pas être définie automatiquement est la source des données que vous souhaitez afficher. Vous devez donc choisir dans "Data Sources / Series xxx" le ou les senseurs que vous souhaitez utiliser. Ce paramètre est un drop-down qui contient la liste de tous les senseurs que Yocto-Visualization connait.
Choisir le capteur à afficher
Les capteurs sont listés avec leur nom logique et celui de leur module s'ils sont définis, dans le cas contraire la liste utilise les numéros de série et les noms hardwares.
Si dans la liste, un capteur est marqué "OFFLINE" cela signifie, qu'à un moment ou un autre Yocto-Visualization a vu le capteur mais qu'il ne le voit plus, soit parce qu'il a été débranché, soit parce que la méthode utilisée pour y accéder n'est plus disponible. Si le capteur qui vous intéresse est marqué "OFFLINE" et que vous êtes sûr que le module est branché, vérifiez la configuration USB / Network. Vous trouverez aussi des détails dans les logs. Si un capteur est marqué "READ-ONLY", cela signifie que ce capteur est connecté à un YoctoHub qui n'autorise pas l'accès en écriture, et par conséquent la modification en écriture des paramètres liés au module vous sera interdite. Vous pouvez obtenir l'accès en écriture d'un YoctoHub protégé en spécifiant le mot de passe du hub lors de son enregistrement dans la configuration globale de Yocto-Visualization.
Une fois le capteur choisi, le graphe va automatiquement commencer à tracer les valeurs du capteur.
Le graphe commence à fonctionner dès qu'un capteur est choisi dans l'éditeur de propriétés
Vous pouvez tracer jusqu'à quatre courbes par graphe. Vous pouvez vous déplacer dans le graphe en déplaçant son contenu avec la souris, vous pouvez zoomer avec la molette de la souris. Par défaut, les échelles sont automatiques, mais vous pouvez les configurer dans la section "X/Y axes".
Autres propriétés de chaque datasource
En plus de la source proprement dit, chaque data source dispose d'une demi-douzaine de propriétés. La plupart n'ont probablement pas besoin d'explications. Par contre "sensor frequency" et "sensor recording" sont un peu spéciales parce qu'elle agissent directement sur la configuration du capteur.
- Sensor frequency définit la fréquence d'échantillonnage du capteur, ce paramètre étant lié au capteur, un changement de fréquence affecte tous les autres afficheurs ainsi que toutes les autres applications qui utilisent ce capteur.
- sensor recording active l'enregistrement automatique des donnés dans le datalogger du module qui héberge le senseur. Ce réglage est aussi spécifique au capteur physique et affecte toutes les applications qui utilisent ce capteur.
Utilisation du datalogger
Les graphes sont capables d'afficher le contenu des datalogger des capteurs pour peu que vous activiez l'option idoine dans la section "Graph". Si l'affichage du datalogger est activé et qu'un capteur passe "OFFLINE", par exemple parce que la connexion réseau qui permet de l'atteindre est tombée, Yocto-Visualization va essayer de récupérer les données manquantes dans le datalogger dès que le capteur sera à nouveau accessible.
Petits extras
Les graphes disposent, dans la section "Graph", de quelques extras qui sont désactivés par défaut:
Legend panel
La sous-section "Legend panel" permet d'afficher la légende des séries. Si une série n'a pas de légende, le nom "Series x" est utilisé.
Le panneau de légende
Notez qu'il est possible d'épaissir le trait coloré utilisé pour symboliser chaque série à l'aide du paramètre "color indicator factor".
Data tracker
La sous-section "Data tracker" permet d'afficher la valeur des différents points du graphe lorsque qu'on promène le curseur de la souris à proximité.
Le data tracker
Navigator
La section "Navigator" permet d'afficher un petit graphe avec les séries du graphe principal affichées en entier, ce qui permet naviguer facilement dans la graphe principal lorsqu'il y a beaucoup de données ou que le niveau de zoom est élevé.
The navigator
Le navigateur affiche un petit cadre coloré qui symbolise la position relative du graphe principal, ce cadre peut être déplacé à volonté.
Les zones sur les axes Y
Chaque graphe permet de définir jusqu'à trois axes Y, disponibles dans la section "X/Y axes", chaque data source peut être affectée à n'importe lequel de ces axes Y. Chaque axe peut afficher jusqu'à trois zones colorées qui vous permettront de vous rendre compte plus facilement si les valeurs de vos capteurs restent dans des limites que vous aurez prédéfinies.
Définition de zones colorées sur les axes Y
Marqueurs
Il est possible de placer des marqueurs (Markers) sur le graphe. Les marqueurs sont des points de repères ancrés sur l'axe X. Leur position peut être soit absolue, soit relative à la date de la première donnée des capteurs. Pour placer un marqueur, vous pouvez soit utiliser le menu contextuel, soit utiliser l'éditeur de propriétés: les marqueurs sont définis dans la section X/Y axes/ X Axis / Markers.
Les marqueurs
Le texte des marqueurs peut être sur plusieurs lignes (utilisez "\n") et contenir des variables:
- $MARKETIME$: horodatage du marqueur
- $LEGENDx$: légende de la série x (ex: $LEGEND1$)
- $VALUEx$: valeur de la série x à la position du marqueur (ex: $VALUE1$)
- $UNITx$: unité de la série x (ex: $UNIT1$)
Le rendu des variables des marqueurs demande pas mal de calculs, ne soyez pas surpris si l'affichage du graphe se mets à saccader lorsque que vous utilisez beaucoup de variables.
Vous pouvez définir jusqu`à huit marqueurs par graphes.
Angular gauge
Yocto-Visualization permet d'afficher les données de capteurs sous la forme de cadrans angulaires traditionnels. La sélection de la sources de données fonctionne comme les graphes. Les Angular gauges proposent comme les graphes d'afficher jusqu'à trois zones colorées. La couleur, la largeur et même le rayon de ces zones est configurable. Les autres paramètres sont assez triviaux, le plus simple est de jouer avec pour vous rendre compte de leurs effets respectifs.
Les cadrans Angular gauges
A propos des unités
Les afficheurs de Yocto-Visualization récupèrent automatiquement les unités des capteurs Yoctopuce pour l'affichage. Si vous voulez changer une unité de mesure utilisée dans Yocto-Visualization, vous devez modifier la configuration du module Yoctopuce concerné. Notez que tous les modules Yoctopuce ne permettent pas de modifier leur unités de mesure. Référez-vous à la documentation des modules en question pour en savoir plus.
Solid gauge
Les solid gauge sont un autre type de cadran avec look un peu plus moderne qu'une bête pendule, mais leur fonctionnement est très similaire aux cadrans angulaires décrits dans le paragraphe précédent. En revanche leur géométrie peut être changée:
Les cadrans Solid gauges et leur géométrie variable
Il est possible de faire changer la couleur de remplissage du cadran en fonction de la valeur du capteur en définissant une couleur pour la valeur minimale et une seconde pour la valeur maximale. La couleur de remplissage finale aura une teinte intermédiaire proportionnelle à la valeur du capteur. Les couleurs par défaut sont vert et rouge.
Affichage digital
Les afficheurs digitaux sont les plus simples des widgets proposés par Yocto-Visualization: ils se contentent d'afficher les valeurs des capteurs en mode texte.
Les afficheurs digitaux
Il est possible de faire changer la couleur du texte en fonction de la valeur du capteur. Il suffit de définir un intervalle de valeurs valides dans la section "Range control". Les autres paramètres sont triviaux.
Les annotations
Disponibles pour tous les widgets, les annotations permettent d'ajouter des textes arbitraires. Ces textes peuvent contenir des variables qui seront remplacées lors de l'affichage:
- $DAY$ : le jour dans le mois courant
- $MONTH$ : le mois courant
- $YEAR$ : l'année courante
- $HOUR$ : l'heure courante
- $MINUTE$ : Le nombre de minutes écoulées depuis le début de l'heure courante
- $SECOND$ : Le nombre de secondes écoulées depuis le début de la minute courante
- $NAME$ : Nom du capteur
- $AVGVALUE$ : La dernière valeur moyenne mesurée par le capteur
- $MINVALUE$ : La dernière valeur maximum mesurée par le capteur
- $MAXVALUE$ : La dernière valeur minimum mesurée par le capteur
- $UNIT$ : L'unité du capteur
Les variables liées aux capteurs sont légèrement différentes pour les graphes:
- $NAME1$, $AVGVALUE1$, $MINVALUE1$, $MAXVALUE1$, $UNIT1$ : pour la série 1
- $NAME2$, $AVGVALUE2$, $MINVALUE2$, $MAXVALUE2$, $UNIT2$ : pour le série 2
- etc..
Attention la valeur des variables est recalculée à chaque rafraichissement des widgets, et ces rafraichissements sont déclenchés par les capteurs à la fréquence qui leur est propre. Ainsi, si vous définissez un texte qui contient l'heure courante mais que le capteur affiché dans le widget a une fréquence de rafraichissement de 4/min, l'heure ne sera mise à jour que toutes 15 secondes.
Overlap
Il y a deux modes d'affichage pour les annotation: overlap ou non.
Non overlap vs Overlap
En mode "overlap" l'annotation est affichée par dessus le contenu du widget. Les points d'ancrage principaux sont les angles, les cotés et le centre de la fenêtre. Il est aussi possible de décaler les annotations à l'aide des paramètres " X offset" et "Y offset" qui sont des pourcentages de la place disponible.
En mode "non overlap" le contenu du widget est rétréci pour laisser de la place pour l'annotation. Dans ce mode, les paramètres " X offset" et "Y offset" sont ignorés et le centrage au milieu de la fenêtre n'est pas possible.
Pour résumer, utilisées avec un peu d'imagination les annotations offrent un large éventail d'effets visuels.
Les annotations offrent pas mal de possibilités
Les alarmes
Yocto-Visualization permet d'associer deux alarmes par capteur. Ces alarmes se déclenchent lorsque que la valeur du capteur rempli une condition prédéfinie.
Les alarmes
L'alarme est une commande système qui est exécutée dès que la condition d'alarme est remplie. La condition de déclenchement est une simple comparaison avec la valeur du paramètre "test value". La commande système à exécuter peut contenir des variables qui seront remplacées par leur valeur respective à l'exécution. Ces variables sont :
- $SENSORVALUE$ : la valeur du capteur au moment de l'alarme
- $HWDID$ : le nom matériel du capteur (n° de série , point, nom de fonction)
- $NAME$ : le "friendly name" du capteur
- $CONDITION$ : L'opérateur de condition utilisé pour définir l'alarme
- $TRIGGER$ : la valeur utilisée pour définir l'alarme
- $DATATYPE$ : le type de valeur utilisé pour déclencher l'alarme (valeur moyenne, valeur mini, valeur maxi)
- $NOW$: l'heure de déclenchement de l'alarme
Voici une commande d'alarme qui utilise Python pour faire un bip:
python -c "import winsound;winsound.Beep(1000,1000);"
Voici une commande qui utilise "Microsoft HTML Application Host" pour afficher un message à l'écran. Notez l'utilisation de variables dans le message.
mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'sensor $NAME$ $CONDITION$ $TRIGGER$', 10, 'Sensor alarm', 64 );close()"
Voici une commande qui utilise l'API en ligne de commande Yoctopuce pour basculer un relais pendant une seconde. Notez l'utilisation du VirtualHub (-r 127.0.0.1).
YRelay -r 127.0.0.1 any pulse 1000
Le paramètre "Trigger delay" des alarmes spécifie le délai minimal à respecter entre le déclenchement de la même alarme. Choisissez cette valeur avec soin si vous ne voulez pas être rapidement submergé.
Les commandes d'alarme peuvent parfois être un peu difficiles à écrire justes du premier coup. Si votre commande ne semble pas fonctionner comme prévu, vous pouvez observer son déclenchement dans les logs de Yocto-Visualization.
Les alarmes sont spécifiques aux senseurs et sont exécutées même si le senseur concerné n'est utilisé dans aucun affichage. Si vous vous trouvez confronté à des alarmes fantômes, consultez la fenêtre de log de Yocto-Visualization pour en déterminer la source.
Il est important de comprendre que les alarmes ne sont pas gérées par les modules Yoctopuce, mais par Yocto-Visualization. Si l'application s'arrête, il n'y aura plus d'alarme.
La fenêtre de Logs
La fenêtre de log permet d'observer le comportement de Yocto-Visualization. Vous pouvez la faire apparaître, en faisant un clic-droit sur n'importe laquelle des fenêtres de l'application et en choisissant l'option "Show logs".
La fenêtre de logs
Les logs sont particulièrement utiles dans le cas où Yocto-Visualization ne fonctionnerait pas comme vous l'espérez. On y trouve:
- La version des différents composants de l'application.
- L'emplacement du fichier de configuration.
- La détection des modules Yoctopuce.
- Une trace du déclenchement de chaque alarme.
- Une trace des captures d'écran.
- Les messages d'erreur de l'API Yoctopuce.
Données brutes et exportation
Yocto-Visualization permet d'exporter les données brutes des capteurs au format CSV. Choisissez l'option "Show raw data" dans la fenêtre d'accueil ou dans le menu contextuel et vous obtiendrez la fenêtre "raw data".
Le fenêtre raw data
Vous pourrez choisir les capteurs à utiliser et exporter les données correspondantes dans le fichier de votre choix.
Captures d'écran
Il est possible de faire une capture de n'importe lequel des afficheurs de Yocto-Visualization. Le comportement du système de capture est défini dans la fenêtre de configuration globale sous l'onglet "Screen capture".
La configuration du système de capture d'écran
Les captures d'écran peuvent être sauvées dans un fichier ou dans le presse-papier. La capture d'écran peut être déclenchée à l'aide du menu contextuel (option "Snapshot") ou de la touche "prnScr" si Yocto-Visualization a réussi à prendre le contrôle de cette touche lors de son démarrage.
Si nécessaire, les captures peuvent être automatiquement redimensionnées à une taille adaptée à vos besoins. Ce redimensionnement n'est pas un simple ré-échantillonnage de l'image présentée à l'écran: toute l'image est redessinée à la dimension requise.
Les captures peuvent être réalisées en deux formats: PNG qui est un format bitmap et SVG qui est un format vectoriel. L'avantage du format vectoriel est qu'il peut être redimensionné sans perte de qualité. En raison de limitations techniques du format SVG, le résultat des deux formats peut différer légèrement, en particulier au niveau de la taille et de l'alignement des textes.
A gauche un export PNG, à droite un export SVG, zoomez fortement pour voir la différence.
Notez que vous pouvez parfaitement exporter le contenu d'un afficheur dans un ficher SVG, puis éditer ce fichier SVG avec un logiciel de dessin vectoriel comme Inkscape, pour y apporter toutes les modifications que vous jugerez utiles.
Sauvegarde de la configuration
Par défaut Yocto-Visualization sauve automatiquement sa configuration lors de sa fermeture. Il est possible de forcer une sauvegarde depuis le menu contextuel de l'application (clic-droit / "Save now"). L'emplacement par défaut du fichier de configuration est:
- Sous Windows:
C:\Users\username\AppData\Roaming\Yoctopuce\YoctoVisualization\2.0.xxxx.0 - Sous Linux:
/home/username/.config/Yoctopuce/YoctoVisualization/2.0.xxxx.0
Le fichier de configuration est un fichier XML dont le contenu est relativement explicite. Il peut assez facilement être généré automatiquement si besoin est. Il est possible de lancer Yocto-Visualization avec un ficher de configuration alternatif. Par exemple, voici la ligne de commande Windows pour le lancer avec un fichier config.xml stocké dans C:\tmp
YoctoVisualization.exe -config "C:\tmp\config.xml"
Si le fichier donné en paramètre n'existe pas, il sera créé automatiquement.
Surveillance d'expériences tierces
Yocto-Visualization peut parfaitement être utilisé pour surveiller une expérience tierce. Il ne fait que lire les capteurs. Vous pouvez donc écrire le code qui gère une expérience dans le langage de votre choix et surveiller le résultat avec Yocto-Visualization. Veillez simplement à ce que:
- Le code de l'expérience et Yocto-Visualization utilisent un VirtualHub pour communiquer avec les modules Yoctopuce. Si un des deux utilise l'accès direct USB, l'autre ne pourra pas tourner.
- Les paramètres "frequency" et "recording" ne soient soit pas modifiés dans Yocto-Visualization car ils agissent directement sur la configuration des modules physiques et peuvent donc affecter le comportement de toutes les applications qui les utilisent.
Compatibilité
L'application Yocto-Visualization est essentiellement basée sur la classe YSensor, c'est pourquoi elle est compatible avec tous les senseurs Yoctopuce, passés, présents et futurs. Cependant, si vous utilisez un vieux module trouvé au fond d'un tiroir, vérifiez que la version de son firmware est au moins 31735.
Limitations
Rien n'est vraiment magique en ce bas monde. Yocto-Visualization n'échappe pas à la règle et souffre de quelques limitations.
Seulement les capteurs
Yocto-Visualization ne gère que les senseurs, il n'est pas possible de monitorer des actuateurs, comme des relais, des sorties électriques, des contrôleurs de servos, etc.. La fonction anButton, présente sur des modules comme le Yocto-Knob ou les Yocto-(Maxi)Display, n'étant pas un senseur du point de vue de l'API Yoctopuce , Yocto-Visualization ne la gère pas non plus.
Ressources mémoire
Yocto-Visualization a été optimisé pour pouvoir gérer jusqu'à un million de points de mesure sans ralentissement notable, mais pour cela il utilise une quantité significative de mémoire. Ce qui peut poser un problème sur certains bébé-ordinateurs comme le Raspberry Pi. C'est pourquoi il est possible de limiter le nombre de points mémorisables dans la fenêtre de configuration globale, sous l'onglet "Memory usage". Lorsque la limite est atteinte, Yocto-Visualization commence à "oublier" les points les plus anciens. Par défaut, il n'y a pas de limite définie mais soyez conscient que si vous laissez tourner l'application sans limite pendant suffisamment longtemps, elle finira par manquer de mémoire et crasher, quelques soient les ressources mémoire de votre ordinateur.
Ecrans tactiles
La gestion des écrans tactiles est assez limitée: il n'y a pas de gestion du multi-touch. Par contre, vous pouvez configurer l'application pour qu'un drag vertical pilote le niveau zoom dans les graphes et qu'un double-tap appelle le menu contextuel. Ces paramètres sont définis dans la fenêtre de configuration globale, sous l'onglet "User interface".
Nombre de séries par graphes
Le nombre maximum de séries par graphe est limité à 4. Cette limite peut être augmentée relativement facilement, mais cela exigera de recompiler l'application.
Code source
La totalité du code source de Yocto-Visualization est disponible sur gitHub à l'adresse github.com/yoctopuce/Yocto-Visualization. Conformément aux conditions générales de Yoctopuce, vous pouvez en faire ce que vous voulez, pour autant qu'il s'agisse d'interfacer des modules Yoctopuce.
Le cas de Windows XP
Yocto-Visualization tire parti de quelques optimisations disponibles seulement à partir du framework .NET 4.5, c'est pourquoi il est livré précompilé pour ce framework qui n'est malheureusement pas disponible sur Windows XP. Cependant, il est tout à fait possible de recompiler l'application pour un framework 3.5 au prix d'une légère perte de performances.
Conclusion
Cet article assez exhaustif est particulièrement long, mais si vous avez des questions à propos de Yocto-Visualization, n'hésitez pas à les poser: on mettra l'article à jour en conséquence, quitte à le rendre encore plus long :-)