Programmation sur ArduPilot » Historique » Révision 9
« Précédent |
Révision 9/11
(diff)
| Suivant »
Anonyme, 26/03/2013 22:19
Programmation sur ArduPilot¶
IDE et hiérarchie des dossiers.¶
Pour utiliser les bibiliothèques ArduPilot, il est nécessaire d'utiliser l'IDE Arduino patché par l'équipe de développement de l'ArduPilot.
Il est disponible ici : http://code.google.com/p/ardupilot-mega/downloads/detail?name=arduino-0100-relax-windows.zip&can=2&q
Il faudra donc copier le code nécessaire à l'ardupilot dans le dossier de l'IDE (disponible ici : https://code.google.com/p/arducopter/downloads/detail?name=ArduCopter-2.8.1.zip&can=2&q=)
Il suffit de récupérer le code du SICopter avec les bibliothèques dédiées dans les dépôts et coller le tout dans la racine de l'IDE.
On obtient alors :
Quand vous lancez l'IDE pour la première fois, il faut définir les préférences et surtout le dossier où il doit aller chercher les codes et bibliothèques.
Il suffit d'aller dans File->Preferences puis sélectionner le répertoire racine de l'IDE, comme expliqué sur la capture d'écran suivante.
Ainsi quand vous redémarrez l'IDE, dans l'onglet "File->Sketchbook", vous retrouvez le projet SICopter et les différents tests.
Dans l'onglet "File->Examples", vous avez les exemples d'utilisation des différentes bibliothèques.
Lorsqu'on est connecté en USB, on peut disposer d'un terminal permettant donc une interface sur le port UART0. Pour accéder il suffit de cliquer sur la petite loupe présente sur le schéma ci-dessous.
Lorsqu'un code est chargé sur la carte, il s'exécute automatiquement. Si on ouvre le terminal, le code est entièrement réexécuté.
Programmation Arduino¶
Un code Arduino basique se compose de 2 fonctions obligatoires: void setup() & void loop().
La première est appelée à l'initialisation du code, soit dès le chargemement du code, soit à l'ouverture du terminal, soit en rebranchant la carte.
C'est donc dans cette fonction qu'on configure les différents périphériques.
La deuxième fonction est comme son nom l'indique une boucle, c'est le main de l'Arduino.
Cette fonction est appelée en permanence.
Il n'y aura donc qu'un seul fichier (avec extension .pde ou .ino) qui contiendra ses fonctions. On pourra décomposer notre code avec l'aide des inclusions.
Du côté de la programmation, Arduino fournit des APIs pour permettre une gestion simplifiée des périphériques et des entrées/sorties.
Vous pouvez trouvez ces références sur le site officiel Arduino : http://arduino.cc/en/Reference/HomePage
On peut également utiliser du code C/C++ en se limitant à des fonctions simples puisqu'on ne peut pas embarquer la glibc complète.
Nous avons donc choisi de développer en C/C++, déjà parce que nous avions des bibliothèques ArduPilot en C++ et à terme, le code devait se porter sur le RX, le C++ permettait donc cette universalité. De plus cela permet une très bonne généricité du code, un des objectifs finaux du projet.
Implémentation réalisée.¶
//ajouter à partir du rapport
La taille du code est de 39 ko sur 256 ko disponibles, soit environ 15%.
Dernière mise à jour : 26/03/2013 22h00
Auteur : Pierre GUINAULT
Mis à jour par Anonyme il y a environ 12 ans · 9 révisions