MSCOMM et GPS

cs_alaintrepide Messages postés 1 Date d'inscription vendredi 12 avril 2002 Statut Membre Dernière intervention 6 mars 2003 - 6 mars 2003 à 18:58
Buzzz57 Messages postés 1 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 8 août 2005 - 8 août 2005 à 13:53
at
Je possède un GPS MLR et j'essai de décharger les points d'un parcours que j'ai effectué. Le GPS émet les coordonnées de ces points toutes les 200 milisecondes et recommence au début lorsqu'il a émis le dernier point. J'utilise MSCOMM pour récupérer ces données.
un point émis est de la forme :

$GPWPL,4548.973,N,00604.148,E,TR05220A +00708 105054 050303*02

Lorsque je scrute le tampon avec un timer, je me retrouve n'importe ou dans le fichier émis.
Exemple :
,E,TR05220A +00708 105054 050303*02
$GPWPL,4548.973,N,00604.148,E,TR05230A +00708 105058 050303*0F
$GPWPL,4548.973,N,00604.147,E,T

Comment puis-je remettre en forme le fichier
Au Secours Merci

4 réponses

NickAir Messages postés 3 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 8 juin 2005
14 mai 2003 à 14:41
-------------------------------
Réponse au message :
-------------------------------

> at
> Je possède un GPS MLR et j'essai de décharger les points d'un parcours que j'ai effectué. Le GPS émet les coordonnées de ces points toutes les 200 milisecondes et recommence au début lorsqu'il a émis le dernier point. J'utilise MSCOMM pour récupérer ces données.
> un point émis est de la forme :
>
> $GPWPL,4548.973,N,00604.148,E,TR05220A +00708 105054 050303*02
>
> Lorsque je scrute le tampon avec un timer, je me retrouve n'importe ou dans le fichier émis.
> Exemple :
> ,E,TR05220A +00708 105054 050303*02
> $GPWPL,4548.973,N,00604.148,E,TR05230A +00708 105058 050303*0F
> $GPWPL,4548.973,N,00604.147,E,T
>
> Comment puis-je remettre en forme le fichier
> Au Secours Merci
0
NickAir Messages postés 3 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 8 juin 2005
14 mai 2003 à 14:49
Salut,
En ce moment je descends mes données du MLR (VL) avec CartoNav mais c'est très long.(3 points/s si tu en a 6000...)

Je pense m'attaquer au pb d'ici qq jours
Il s'agira d'ecrire les tarces sur un fichier importable par CartoNav.

Pour le moment je n'ai donné qu'un coup d'oeuil distrait à la doc du MLR.

Est-ce qu'il ne faudrait pas temporiser les lectures?

Je te fais signe dès que je m'y attaque.

NickAir

> -------------------------------
> Réponse au message :
> -------------------------------
>
> > at
> > Je possède un GPS MLR et j'essai de décharger les points d'un parcours que j'ai effectué. Le GPS émet les coordonnées de ces points toutes les 200 milisecondes et recommence au début lorsqu'il a émis le dernier point. J'utilise MSCOMM pour récupérer ces données.
> > un point émis est de la forme :
> >
> > $GPWPL,4548.973,N,00604.148,E,TR05220A +00708 105054 050303*02
> >
> > Lorsque je scrute le tampon avec un timer, je me retrouve n'importe ou dans le fichier émis.
> > Exemple :
> > ,E,TR05220A +00708 105054 050303*02
> > $GPWPL,4548.973,N,00604.148,E,TR05230A +00708 105058 050303*0F
> > $GPWPL,4548.973,N,00604.147,E,T
> >
> > Comment puis-je remettre en forme le fichier
> > Au Secours Merci
>
0
riton27 Messages postés 7 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 28 mars 2006
11 févr. 2005 à 16:06
C'est normallllllll


le buffer que tu vient lire se rempli au fur et à mesure donc avec un timer t'est dans les choux, car tu as un pb de synchro.


il faut que tu récupere tes données à partir de l'évenement oncomm du mscomm, c'est un évenement qui se produit à chaque modifs du tampon, donc tu est synchro.


J'ai mis un exemele sur un reply d'un des messages de Stacco.


Je pense que le GPS insere un caractere de fin à la fin de la trame(d'ou son nom!)

il faut que tu insére dans l'éveneemnt oncomm ceci :

Select Case mscScanner1.CommEvent


Case comEvReceive ' Réception d'un nombre RThreshold de caractères.

'On vérifie que le convoyeur est bien en état de marche
If FrmErreurCB.Visible = False Then
If BusSorties(Adresse_Blocage) = 1 Then
BusSorties(Adresse_Blocage) = 0 'Déblocage
Changer_Etat_Sortie
End If
End If

While InStr(1, InBuffer, vbCrLf) = 0
InBuffer = InBuffer & mscScanner1.Input
Wend


et dans la ligne While tu remplace le vbCRLF par ton caractere de fin
le probleme c'est que c'est bien souvent un caractere non imprimable donc on ne les voit pas dans les bloc texte si tu envoi le buffer dans un textbox.

il faut que tu regarde dans la doc du gps

ou que tu essaye avec hyperterminal en mode view data qui te les affichera.

bon courage!

riton27
0
Buzzz57 Messages postés 1 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 8 août 2005
8 août 2005 à 13:53
Les caractères de fin sont toujours les mêmes dans une phrase NMEA :

Retour charriot CHR$(13) suivi de ligne suivante CHR$(10)
0
Rejoignez-nous