Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
libnmeaparser [Le 29/02/2008, 00:49] Spomkylibnmeaparser [Le 21/02/2010, 16:39] (Version actuelle) – lien mort draco31.fr
Ligne 1: Ligne 1:
 +{{tag>gps programmation BROUILLON}}
  
 +----
 +
 +====== libNMEAParser ======
 +
 +La bibliothèque libNMEAParser permet à tout utilisateur de lire les trames NMEA 0183 et de récupérer les informations qu'elles contiennent.
 +Elle est principalement destinée aux développeurs souhaitant interfacer un GPS par exemple et afficher ou bien traiter les données reçues.
 +
 +===== Pré-requis =====
 +libNMEAParser et libNMEAParser-dev sont disponibles sous forme de paquets binaires x86, x86_64 et LPIA pour Gutsy Gibbon sur le dépot de Spomky.
 +
 +Rendez-vous [[utilisateurs:spomky|sur sa page]] pour pouvoir utiliser son dépôt.
 +
 +Si vous souhaitez récupérer les sources complètes et les recompiler, installez [[:tutoriel:comment_installer_un_paquet|bzr]] version 0.95 ou supérieur ainsi que [[:tutoriel:comment_installer_un_paquet|build-essential]].
 +
 +Cette bibliothèque ne nécessite aucun autre logiciel pour fonctionner hormis libc.
 +
 +===== Installation =====
 +==== Via les paquets ====
 +Si vous utilisez Gutsy Gibbon, installez simplement le paquet [[:tutoriel:comment_installer_un_paquet|libnmeaparser]] ou [[:tutoriel:comment_installer_un_paquet|libnmeaparser-dev]]
 +
 +==== Via le code source ====
 +Depuis un terminal exécutez les lignes suivantes :
 +<code>bzr branch http://bazaar.launchpad.net/~spomky/nmeaparser/NMEAParser
 +cd NMEAParser/
 +make
 +sudo make install</code>
 +[[:tutoriel:compilation|recompiler le code source]]
 +
 +===== Suppression =====
 +==== Via les paquets ====
 +Désinstallez simplement le paquet libnmeaparser ou libnmeaparser-dev.
 +
 +==== Via le code source ====
 +Depuis un terminal placez-vous dans le répertoire du code source et exécutez les lignes suivantes :
 +<code>sudo make uninstall</code>
 +
 +===== Développement =====
 +Une fois libnmeaparser-dev ou les sources installée, vous disposerez de la bibliothèque en elle-même mais aussi des en-têtes.
 +
 +LibNMEAParser se présente sous forme d'une série d'objets C++ nommés NMEAParser_xxx où xxx représente l'identifiant de la trame.
 +Par exemple une trame GSV (identification et positionnement des satellites en vue) sera analysées par l'objet NMEAParser_GSV.
 +
 +==== Utilisation d'un objet et ses méthodes ====
 +L'ensemble des objets C++ ont les mêmes méthodes ; les voici :
 +=== NMEAParser_xxx( const std::string sentence ) ===
 +Il s'agit d'un deuxième constructeur permet de donner immédiatement la trame à analyser.
 +Par exemple pour construire un objet et analyser une trame RMC vous pouvez procéder ainsi :
 +<code>NMEAParser_RMC ma_variable( "$GPRMC,194504.000,A,4741.0590,N,00237.9215,E,0.00,0.00,200208,,,A*68" );</code>
 +Pour connaitre le statut de l'analyse, il vous suffiet de récupérer la valeur suivante :
 +<code>ma_variable.status;</code>
 +Le type STATUS est ses énumérations sont définis dans le fichier NMEAParser.h
 +
 +
 +=== STATUS parse( std::string sentence ) ===
 +Permet d'analyser une trame.
 +Exemple :
 +<code>NMEAParser_RMC ma_variable;
 +ma_variable.parse( "$GPRMC,194504.000,A,4741.0590,N,00237.9215,E,0.00,0.00,200208,,,A*68" );</code>
 +
 +
 +=== void clear( void ) ===
 +Efface l'intégralité de l'analyse et réinitialise l'objet.
 +<code>ma_variable.clear();</code>
 +
 +
 +=== L'opérateur "=" ===
 +Permet de copier un objet.
 +<code>NMEAParser_RMC ma_variable1, ma_variable2;
 +ma_variable1.parse( "$GPRMC,194504.000,A,4741.0590,N,00237.9215,E,0.00,0.00,200208,,,A*68" );
 +ma_variable2 = ma_variable1;</code>
 +
 +==== Récupération des données ====
 +La récupération des données se fait de manière identique d'un objet à l'autre. Par contre les type et noms de ces données sont différents dans la mesure où chaque trame contient des données qui lui sont propres.
 +Nous vous invitons à regarder chaque en-tête pour trouver les données proposées par un objet.
 +Dans tous les cas les variables "status" (précise si l'analyse à eu lieu et son résultat) et "sentence" (trame analysée) sont toujours disponibles.
 +
 +===== Trames non-supportées =====
 +De nombreuses trames ne sont pas encore supportées ; cela prend du temps.
 +Vous pouvez aider à la création de nouveau objets C++ permettant d'analyser ces trames inconnues.
 +Voici les fichiers de bases à créer pour y parvenir. Ces fichiers sont documentés pour vous apporter les informations nécessaires. Vous pouvez toutefois contacter le projet NMEAParser sur le site de Launchpad et poser vos questions en cas de besoin.
 +
 +----
 +
 +//Contributeurs : FIXME.//