Modifications

1 121 octets ajoutés ,  27 mars 2020 à 18:01
Ligne 1 : Ligne 1 : −
Afin de lancer ou modifier le superiseur, il faut avoir installer Qt au préalable. (Voir Guide Qt)
+
Afin d'utiliser ou modifier le Superviseur, il faut avoir installé Qt au préalable (voir [[Guide_QT|Guide Qt]]).
   −
=Importer, compiler et éxécuter le projet=
+
=Importer, compiler et exécuter le projet=
* Télécharger le projet ''supervisor'' depuis Github : https://github.com/polybot-grenoble/supervisor
+
[[Fichier:OpeningQt.png | 800px |Ouverture Qt]]
 +
* Télécharger le projet ''supervisor'' depuis Github : <br> https://github.com/polybot-grenoble/supervisor
 
* Ouvrir Qt Creator
 
* Ouvrir Qt Creator
* Accéder à ''File/Open file or projet''
+
* Accéder à ''File/Open file or projet'' (1)
* Ouvrir ''Supervisor/supervisor.pro''
+
* Ouvrir ''Supervisor/supervisor.pro'' (2)
* Cliquer sur ''build/run Qmake'' puis sur ''Run'' (petit triangle vert en bas à gauche)
+
* Cliquer sur ''build/run Qmake'' '''PUIS''' sur ''Run'' (3)
 
Et hop, ca se lance. -WHOAH-
 
Et hop, ca se lance. -WHOAH-
 +
 +
=Aperçu du Superviseur=
 +
 +
[[Fichier:Superviseur.png|800px|Screenshot du Superviseur]]
 +
 +
* Console :
 +
Permet d'afficher les messages émis par la STM.
 +
 +
 +
* Bouton ''Stop/Start'' :
 +
Permet d'envoyer la commande ''Start/stop'' au Robot.
 +
 +
 +
* Bouton ''Manual/Auto'' :
 +
En mode ''manual'', le superviseur peut controler le robot grâce aux touches "ZQSD" ou aux flèches. En mode ''auto'', le
 +
superviseur affiche juste les messages de log dans la console (sur la droite de l'interface) et positionne le robot sur
 +
la carte.
 +
 +
 +
* Checkbox ''Save log'' :
 +
Elle n'est pas cochée par défaut. Une fois cochée, cela permet de sauver les messages logs dans un fichier externe placé dans le
 +
dossier ''logs'' (situé dans le dossier où est l'exécutable).
 +
 +
 +
* Bouton ''Connect'' :
 +
Permet de connecter le superviseur au serveur ou de le reconnecter si besoin. L'état de connexion est affiché juste dessous.
 +
 +
 +
Pour modifier l'adresse IP utilisée, il suffit de cliquer sur la zone de saisie prévue à cet effet. Elle n'accepte que les
 +
chiffres et les points. L'adresse est remplacée une fois la touche ''Enter'' du clavier pressée.
    
=Organisation du code=
 
=Organisation du code=
Ligne 13 : Ligne 44 :  
* mainwindow.hpp : Déclaration de la classe ''mainwindow''
 
* mainwindow.hpp : Déclaration de la classe ''mainwindow''
 
* mainwindow.cpp : Implémentation de la classe ''mainwindow''
 
* mainwindow.cpp : Implémentation de la classe ''mainwindow''
* main.cpp : Petit bout de code ou y'a rien besoin de faire mais qui instancie un objet de la classe''mainwindow'' et qui l'affiche.
+
* main.cpp : Petit bout de code ou il n'y a rien besoin de faire mais qui instancie un objet de la classe''mainwindow'' et qui l'affiche.
   −
Avec quelques fichiers spécifique à Qt
+
Avec quelques fichiers spécifiques à Qt
* mainwindow.ui : Fichier définissant toute la partie interface utilisateur (frontend). Il ouvre automatiquement la partie ''Design'' de Qt.
+
* mainwindow.ui : Fichier définissant toute la partie interface utilisateur (front-end). Il ouvre automatiquement la partie ''Design'' de Qt.  
* supervisor.pro : une sorte de makefile ou sont répertoriés les différents fichiers liés au projet.
+
* supervisor.pro : une sorte de Makefile ou sont répertoriés les différents fichiers liés au projet.
 
* ressources.qrc : répertorie les différentes ressources du projet (typiquement les images).
 
* ressources.qrc : répertorie les différentes ressources du projet (typiquement les images).
    
Si des modifications sont à apporter, elles interviendront sûrement dans ''mainwindow.cpp'' et ''mainwindow.ui''.
 
Si des modifications sont à apporter, elles interviendront sûrement dans ''mainwindow.cpp'' et ''mainwindow.ui''.
Le code est généreusement commenté et se suffit donc à lui même pour comprendre le fonctionnement global du projet.
     −
Si vous n'avez jamais utilisé Qt auparavant, il est conseillé de lire le tutoriel d'initiation de OpenclassRoom (https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1898935-initiez-vous-a-qt).
+
Le code est généreusement commenté et se suffit donc à lui-même pour comprendre le fonctionnement global du projet.
Il est très bien pour comprendre les principes de base propres à Qt, surtout les notions de ''signaux'' et ''slots''.
+
 
 +
=Améliorations possibles=
 +
 
 +
* Pouvoir distribuer des exécutables du Superviseur.
 +
* Pouvoir ''court-circuiter'' la gateway Raspberry Pi avec un bouton, c'est à dire pouvoir connecter et communiquer directement avec la STM32 branchée à l'ordinateur exécutant le Superviseur.