IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windev Mobile Discussion :

[WM17] Problème Port COM GPS


Sujet :

Windev Mobile

  1. #1
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut [WM17] Problème Port COM GPS
    Bonjour,
    je viens d'acquérir un PDA WorkAbout PRO TEKLOGIX ( formidable!!)
    Il a Windows Mobile installé dessus.
    Mon client me demande, pour localiser certains poteaux électriques dans une ville,de recupérer les coorddonnées GPS de chaque poteau.J'ai ainsi pensé à développer un programme GPS qui devrait le faire.Je me suis tout de suite rendu compte que seule la plate forme android me permettait de bien utiliser les constantes de Géolocalisation fournie par WINDEV.

    J'ai pris alors l'exemple Pocket PC de windev.Après avoir reglé sur mon PDA les ports logique et physique sur lequel le GPS externe va communiquer, j'ai lancé le test et hop erreur:precisez le port avec lequel le GPS va communiquer!! Pourtant je viens e le faire à linstant.

    voici les codes:


    PROCEDURE bInitConnexionGPS(pnNumPort, psProcédure="")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sablier(Vrai)
     
    FinTimerSys(55)
     
    // fermeture de l'éventuel port ouvert
    SI gnNumPort>0 ALORS
    	sFerme(gnNumPort)
    FIN
     
    // Numéro de port
    gnNumPort = pnNumPort
     
    // Nom de la callback
    gsCallBack = psProcédure
     
    // Ouverture du port spécifié
    SI PAS sOuvre(gnNumPort, 5000, 5000, 2000) ALORS
    	Erreur("La connexion avec le GPS a échoué.", ErreurInfo(errMessageSystème))
    	Sablier(Faux)
    	RENVOYER Faux
    FIN
     
    // Initialise les paramètres du port série
    sFixeParamètre(gnNumPort, 9600, 0, 8, 1, Faux , Faux , Faux)
     
    // Initialisation du GPS
    // Active les messages GPMRC toutes les 2 secondes
    sEcrit(gnNumPort,"$PRWIILOG,RMC,A,T,2,0"+CRLF)
    // Active les messages GPGGA toutes les 2 secondes
    sEcrit(gnNumPort,"$PRWIILOG,GGA,A,T,2,0"+CRLF)
    // Désactive les messages PRWIZCH
    sEcrit(gnNumPort,"$PRWIILOG,ZCH,V,,,"+CRLF)
     
    Multitâche(-20)
     
    // Lecture des données sur le port 
    LitDonnéesGPS()
    TimerSys(LitDonnéesGPS, 100,55)
     
    Sablier(Faux)

    Initialisation de la fenêtre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    // gnNumPort (valeur par défaut=-1) : < indiquez ici le rôle de gnNumPort >
     
    PROCEDURE FenGPS(gnNumPort=-1)
     
     
    // aucun port n'est ouvert
    SI gnNumPort=-1 ET pGPS.gnNumPort=0 ALORS
    	Info("Veuillez préciser le numéro de port où est connecté votre GPS.")
    	//ferme()
    FIN
     
    // utilisation du port actuellement ouvert
    SI gnNumPort=-1 ET pGPS.gnNumPort>0 ALORS
    	AfficheRésultat()
    	TimerSys(AfficheRésultat,100)
    	RETOUR
    FIN
     
    // utilisation du port actuellement ouvert
    SI gnNumPort>0 ET gnNumPort=pGPS.gnNumPort ALORS
    	AfficheRésultat()
    	TimerSys(AfficheRésultat,100)
    	RETOUR
    FIN
     
    // fermeture du port actuellement ouvert puis ouverture du  nouveau
    SI gnNumPort>0 ET gnNumPort<>pGPS.gnNumPort ALORS
    	// Ouverture du port et initialisation du GPS 
    	SI bInitConnexionGPS(gnNumPort)=Faux ALORS
    		Ferme()
    	FIN
    FIN
     
    // Pour tous les autres cas
    SI bInitConnexionGPS(gnNumPort)=Faux ALORS
    	Ferme()
    FIN

    Et bien d'autres encore...
    Quelqu'un a reussi à tester cet exemple et récupérer les coordonnées GPS?


    cordialement
    Cordialement,
    J'ose espérer que m'a contribution vous a été d'une grande aide.
    Pensez tout de Même à dire MERCI et marquer RESOLU en cas de satisfaction.
    Paul

  2. #2
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Je te reponds demain

  3. #3
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    J'avais oublié de te répondre .... désolé

    En bref :
    - j'ai effectivement comme toi commencer à essayer d'utiliser l'exemple, mais cela fait plus de trois ans que je ne l'ai pas regardé ....
    - car très vite, j'ai fait mes propres procédures, en réutilisant le composant intégré dans l'exemple
    - MAIS, après plusieurs plantages incompréhensibles et inmaitrisables sur plusieurs GPS WINCE .... et d'ailleurs en WM6, cela ne marchait pas non plus ....
    - j'ai modifié le composant avec MODIFICATION PRINCIPALE, le fait de NE PAS UTILISER LES TIMERS !!!!! et en utilisant plutôt des procédures avec des timers automatiques ... j'ai l'impression que l'utilisation de timers est trop dangereuse car on ne sais pas si ce numéro de timer est utilisé par une autre application.

Discussions similaires

  1. BV6: Problème Port Com
    Par Luc Lejeune dans le forum Composants
    Réponses: 0
    Dernier message: 22/02/2010, 13h19
  2. Problème de lecture du port Com
    Par zoheir13 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 26/04/2008, 13h49
  3. TComport et problème de disparition d'un port com
    Par Akeon dans le forum C++Builder
    Réponses: 0
    Dernier message: 26/02/2008, 09h55
  4. Problème de lecture sur port COM
    Par Marthym dans le forum MFC
    Réponses: 10
    Dernier message: 11/04/2006, 15h36
  5. Problème de reception sur Port COM
    Par Revan777 dans le forum C
    Réponses: 9
    Dernier message: 19/04/2005, 21h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo