User Tools

Site Tools


librairies_sous_arduino

Table of Contents

Une librairie est définie avec la structure suivante :

Un dossier MaLibrairie contenue dans le dossier Arduino libraries, celui contenant lui même différents éléments :

* un fichier header MaLibrairie.h, qui contient en quelque sorte la structure du code source

* un fichier source MaLibrairie.cpp, qui contient le code source

* un dossier 'examples', qui contient plusieurs dossiers de sketches Arduino (chaque sketch devant être contenu dans un dossier éponyme pour Arduino).

Exemples :

.h

/*	Le fichier header liste, en gros, tout ce que la librairie
	contient en matière de fonctions, variables, etc.	*/

/*
	Il est d'usage d'usage de mettre en commentaires
	quelques précisions sur la librairie :
	nom, usage, auteur, licence. Ex :
	MaLibrairie.h - Template de librairie.
	Créée by L.M., 26/03/2015.
	Domaine publique
*/

/*	La structure de contrôle #ifndef
	qui englobe le code permet d'éviter
	que la librairie ne soit déclarée de multiples fois	*/
#ifndef MaLibrairie_h
#define MaLibrairie_h

/*	Inclure Arduino.h n'est pas obligatoire mais permet
	d'accéder aux fonctionnalitées habituelles d'Arduino.
	Il est possibles d'inclure d'autres librairies utiles,
	ex: #include <stdint.h> */
#include "Arduino.h"

/*	On inclue en quelque sorte la structure du code contenue dans le .cpp ici */
class MaLibrairie {
	public: /* tout ce qui est publique */
		Morse(int arg); /* le constructeur avec ici un argument */
		void MaFonction(); /* une fonction qui ne retourne rien */
	private:
		int _arg; /*	une variable privée de type int.
						La présence de l'underscore est une convention :
						il s'agit de dissocier les arguments
						des propriétés de l'objets, qui peuvent avoir des noms
						très similaires. */
};

#endif

.cpp

/*  Le fichier source contient le code source
    de la MaLibrairie */

/*
  Il est d'usage d'usage de mettre en commentaires
  quelques précisions sur la librairie :
  nom, usage, auteur, licence. Ex :
  MaLibrairie.cpp - Template de librairie.
  Créée by L.M., 26/03/2015.
  Domaine publique
*/

/*  On peut inclure Arduino.h pour utiliser les fonctions communes d'Arduino
    On inclue le header de la MaLibrairie */
#include "Arduino.h"
#include "MaLibrairie.h"

/*  On ajoute des fonctions, dont le constructeur */
MaLibrairie::MaLibrairie(int arg){
  _arg = arg;
  /*  On aurait aussi pu utiliser
  MaFonction(int arg){
    this->arg = arg;
  }
  Si la propriété avait eu le même nom arg sans _. */
}

void MaLibrairie::MaFonction(){
  _arg = 0;
}
librairies_sous_arduino.txt · Last modified: 2015/03/26 02:00 by 78.250.207.234