flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008
-
21 avril 2008 à 23:21
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008
-
26 mai 2008 à 11:40
Bonjours à toutes et à tous,
Je developpe une petite appli avec mon gps sous visual basic 2008, mais je n'arrive pas à trouver les commandes pour lire le buffer, le segmenter, et le traiter. Quelqu'un pourrait il eclairer ma lanterne svp?
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 22 avril 2008 à 17:57
Bonjour et merci pour ta réponse. Je communique sur du COM virtuel simulé par un petit logiciel (par ailleurs trés pratique) nommée spanner. Concernant ce que j'ai déjà, je lis les trames NMEA dans une textbox, voici le code:
OptionExplicitOn<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
J'ai parcouru le site de long en large, mais aucune des solutions proposées ne fonctionnait. Je code en vb2008, depuis un mois, ce qui m'a surement empeché de trouver la solution (car je ne comprend pas tout pour l'instant). Je crois qu'il faut utiliser "mydelegate" pour appeler les données dans le buffer et aprés passer à la segmentation. Enfin bref, merci pour ton aide en tout cas
Vous n’avez pas trouvé la réponse que vous recherchez ?
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 23 avril 2008 à 15:24
Comme on peut le voir, j'ai essayé de decoder le tout avec la class nmeainterpreter. Mais je n'ai rien touché d'autre, et meme le "sentence", à mon avis, dois etre remplacé par quelquechose en raport avec Mydelegate. Enfin je ne sais pas trop...
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 24 avril 2008 à 16:39
Dans ma textbox, je peux visualer, en temps réel, l'arrivée des divers trames envoyées par le GPS.
Je reçois les types de trames suivantes:
- GPGGA
- GPRMB
- GPGSA
- GPGSV
- GPGLI
- GPBOD
- DPVTG
- PGRME
- PGRMZ
- PGRMM
- HCHDG
- GPRTE
- GPRMC
- GPRMB
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 24 avril 2008 à 18:06
Effectivement, j'ai "tenté" d'utiliser cette source, ainsi qu'un morceau d'un autre (voir SerialCommchat, je n'ai plus le lien). Je te remercie de tes eclaircissement, je vais voir ce que je peux avec le "Positionreceveid". Je te tiens au courant. Quoi qu'il en soit, merci pour ton aide ;)
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 28 avril 2008 à 15:00
Salut Nico,
Merci pour ta soluce.
Voici mon soucis suivant (ce serait trop facile sinon):
J'obtiens mes coordonnées dans deux autres textbox, cependant le format ne me convient pas et je voudrais les afficher (en plus) sous un autre format. J'ai les formules:
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 28 avril 2008 à 15:30
En fait j'ai du mal à saisir quelle variable je dois prendre et ou je dois la mettre pour que la function de conversion s'applique, et ou recuperer le resultat.
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 28 avril 2008 à 17:26
Je commence à y voir plus clair.
Dans la definition de l'event "position receveid" il y a latitude et longitude (en string), comment puis-je les gerer simultanément? (je sais ça doit te paraitre simple)
Si je veux l'afficher dans une textbox, je dois faire comment?
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 29 avril 2008 à 09:53
Bonjour Nico,
Oui Oui mais c'est plutot dans la definition que je ne sais pas trop, genre "function...byval...As..." je vais voir ce que je peux faire avec ça. Merci en tout cas pour ton aide :)
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 29 avril 2008 à 23:55
Nickel !!!! ça marche :) Merci t'assure. Par contre je n'arrive à traiter que les evenements de la trame GPMRC, les autres ne veulent pas, donc je n'ai que les infos de base. Est il possible que, utilisant un Garmin, le protocole proprietaire plante la norme NMEA ? Et par rapport aux Integer, je crois que ce n'est pas une valeur numerique pouvant etre inserer dans une textbox. Comment peux t on faire?
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 30 avril 2008 à 08:16
Bonjour
Regarde cette fonction :
PublicFunction Parse(ByVal sentence AsString) AsBoolean
' Look at the first word to decide where to go next
SelectCase GetWords(sentence)(0)
Case"$GPRMC"' A "Recommended Minimum" sentence was found!
Return ParseGPRMC(sentence)
CaseElse
' Indicate that the sentence was not recognized
ReturnFalse
EndSelect
EndFunction
Il te suffit de rajouter des "Case ""$...."""
Et ensuite de voir comment est traitée la trame GPRMC (et non GPMRC comme tu l'as écrit) et de faire ce que tu désire.
Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
flatron123
Messages postés49Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention29 juin 2008 3 mai 2008 à 22:45
Bonsoir,
Bon c'est parfait, tout marche. Pour les trames qui ne voulaient pas etre decoupées, cela venait simplement d'un caracteres en trops, dans les cases tu me parlais.
Mes problèmes suivants se situe au niveau de la trame GPGSV. Celle ci est, en theorie, divisé en 3 parties, et te donne les infos sur les satellites en vue.
<center>Satellites en vue - GPS</center>
<center>$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
</center>
2 = Nombre de trames GSV avec les données complètes.
1 = Trame 1 de 2 trames (jusqu'à 3 trames)
08 = Nombre de satellites visibles (SV).
01 = N° d'identification du 1er Satellite.
40 = Elevation en degrés du 1er Satellite.
083 = Azimuth en degrés du 1er Satellite.
46 = Force du signal du 1er Satellite (Plus grand=meilleur)
(Cette séquence se répète jusqu'à 4 satellites par trames.
On peut donc avoir jusqu'à 3 trames GSV dans une transmision (12 satellites).)
*75 = cheksum
non représentés les CR et LF
Mon soucis est que, regulierement, la trame complète n'arrive pas, et est "tronquée" dans sa troisieme partie, ce qui me fait planter mon code.
Dans mes cases, j'ai dit "si le caractere est different de zero, alors..." mais comment faire si le caractere est "vide".
Autre point d'interrogation, comment représenté les satellites (on dispose de l'azimuth, et l'elevation de chacun dans la trame aussi). Je me dirige vers une picturebox sur laquelle se disposerons mes icones en fonction de coordonnées cartesiennes, mais je n'ai pas trouvé de tuto en rapport. Tu as une idée?