Qt CAN
Une libraire CAN utilisable en C++ / Qt, accompagnée de plusieurs outils, graphiques ou non.
Page web du projet
Une libraire CAN utilisable en C++ / Qt, accompagnée de plusieurs outils, graphiques ou non.
Page web du projet
La base du projet
Conçu au début comme un simple wrapper C++ / Qt pour utiliser le socketCAN sous Linux, le projet a rapidement évolué, d'abord pour gérer plusieurs pilotes via des plugins, puis pour ajouter des outils et le support de protocoles plus haut niveau.
La partie CANopen
Le projet contient une implémentation complète de la norme CiA-DS301 qui définit les bases du protocole CANopen (dictionnaire d'objet, avec les index et sous-index, les trames SDO et PDO, ...)
Il fournit également une façon simple et dynamique de définir la structure du dictionnaire d'objet, en utilisant le langage QML.
Les outils additionels
Le 'sniffer'
Cet outil surveille le pilote de l'adaptateur et affiche toutes les trames qui passent dans une liste. Il peut filtrer les trames par identifiant, et également injecter manuellement des trames.
Le 'bridge'
Cet outil en apparence très simple peut s'avérer très utile lorsqu'il agit d'inter-connecter deux pilotes d'adaptateurs différents (par exemple un réseau virtuel et un adapteur USB).
Le 'node-test-ui'
Cet outils fournit une interface simple pour tester un noeud CANopen ou un OBD. Il peut envoyer des requêtes SDO depuis un simple formulaire, et il répond aux autres noeuds du réseau.
Le 'obd-exporter'
Cet outil en ligne de commande peut exporter un OBD QML vers différents formats, à destination d'autres stacks CANopen ou pour intégrer facilement dans une application Qt.
Le 'test-bench'
Cet outil est le plus complet : il simule un réseau d'entrées et sorties électroniques, avec les capteurs et actionneurs qui y sont connectés, et fournit une sorte de machine virtuelle pour éxecuter des routines en vue d'envoyer et recevoir des trames CAN, et manipuler les entrées/sorties. Une vue 3D de la machine peut également être utilisée.