Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
libnmeaparser [Le 29/02/2008, 00:27] Spomky créée |
libnmeaparser [Le 21/02/2010, 16:39] (Version actuelle) draco31.fr lien mort |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>gps programmation BROUILLON}} | ||
+ | |||
+ | ---- | ||
+ | |||
====== libNMEAParser ====== | ====== libNMEAParser ====== | ||
- | {{tag>gps nmea 0183 développement}} | + | |
La bibliothèque libNMEAParser permet à tout utilisateur de lire les trames NMEA 0183 et de récupérer les informations qu'elles contiennent. | 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. | Elle est principalement destinée aux développeurs souhaitant interfacer un GPS par exemple et afficher ou bien traiter les données reçues. | ||
Ligne 23: | Ligne 27: | ||
make | make | ||
sudo make install</code> | sudo make install</code> | ||
- | [[projets:paquets:compiler_un_programme|recompiler le code source]] | + | [[:tutoriel:compilation|recompiler le code source]] |
===== Suppression ===== | ===== Suppression ===== | ||
Ligne 34: | Ligne 38: | ||
===== Développement ===== | ===== 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 ==== | ==== 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 ==== | ==== 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 ===== | ===== Trames non-supportées ===== | ||
Ligne 41: | Ligne 81: | ||
Vous pouvez aider à la création de nouveau objets C++ permettant d'analyser ces trames inconnues. | 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. | 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.// |