| Versions |
 |
|
| Author |
Topic  |
|
geideon
113 Posts |
Posted - 25 août 2004 : 22:31:35
|
COYOTE PocketPC : Télécharger v2.1 (532Ko) Smartphone Windows : SmartCoyote v1.7 (304Ko) Fichier .xml contenant les radars - version standard - version PLUS (v23.0 en ligne)
Photos:
 Cliquer pour agrandir
PRESENTATION: Je livre la béta (très béta) de mon coyote (qui sera gratuit si il aboutit un jour), développé en .net (que je découvre alors soyez indulgents pour les bugs)
Vous incarnez road runner et le but du "jeu" est d'éviter de vous faire attraper par Wile E le coyote. Vous me suivez... L'écran de jeu est composé d'un sonar (d'un rayon de détection paramétrable) vous indiquant les coyotes éventuels et orienté dans le sens de la course de beep beep. Si un coyote rentre dans la visée (paramétrable), l'écran vous indique la distance et le nom de ce coyote(pour l'instant pas d'avertisseurs sonores). En haut à gauche vous avez la vitesse de beep beep, en bas à gauche le nombre de coyote estimé à une distance r paramétrable de 0,5km à 50km. En bas à doirte vous avez une indication sur l'état gps. Dès que coyote est dans la mire, vous avez la distance vous séparant de celui ci. Voilà, vous avez surement compris l'intérêt du jeu.
SUR LA TECHNIQUE: Le fichier xml de coyote est basé sur la version standard de ce merveilleux site et a été créé avec poiedit (fonction batch).
Je détermine un quadrangle de proximité, j'effecute une requete xml sur le fichier puis j'effectue un calcul d'orthomachin puis un bearing (angle entre road runner et coyote) et enfin je projette tout ça sur le sonar.(en orientant road runner vers le haut). J'ai vérifié en débug des calculs de distance et d'angle en statique mais j'attends des confirmations de terrain.
En ce qui concerne le gps, je l'utilise en 9600 en ne considérant que les trames nmea gpgga et gprmc de mémoire. Mon gps clip on me donne la vitesse en noeud et l'angle vrai sur la trame rmc.
A FAIRE: Il me reste bcp de choses à faire sur ce soft:- amélioration du nombre d'images par seconde et de la synchro avec le gps (je vais lire le post vitesse limite)
- réglage automatique de l'échelle en fonction de la vitesse
- affichage de la vitesse limite pour ne pas se faire prendre par coyote
- avertissements sonores
- en préparation une version simplifiée (sans sonar) pour smartphone.
J'oubliais, j'aimerai implémenter une fonction qui me donne du fil à retordre: vous indiquer le département dans lequel vous évoluez. J'ai mon idée pour le faire mais je seche sur la partie calibration alors si quelqu'un a une autre idée qui soit rapide en temps de calcul.
Voici l'idée: récupérer le fichier shapefile en lambert 93 ou 2 etendu sur le site igndessiner la carte (arcexplorer, script php, etc.) et remplir les départements avec un code couleur correspondant au numéro du départementcalibrer cette carte (en gros: x pixels correspondraient à 1 degré et connaitre les limites du l'image) et la sauver en bitmapcalculer approximativement le département en faisant une regle de trois (en connaissant les limites de la carte calibrée et l'échelle). il suffit alors de récupérer le code couleur et d'afficher le département.
Faut toujours surveiller les road runner locaux...
Voilà j'attends vos remarques et vos tests de cette première version (très béta).
Merci |
Edited by - DocteurN on 13 oct. 2004 16:36:36
|
|
|
Ads
|
|
|
gpspassion
93394 Posts |
Posted - 25 août 2004 : 23:03:39
|
Je crois comprendre ;-) J'ai fait un peu de formatage et je vais rajouter le lien. C'est un détail (qui compte) pas de redistribution de la base sans autorisation donc il faudra prévoir un .xml en téléchargement séparé, on pourra d'ailleurs le mettre directement dans la section qui va bien, pareil pour la version PLUS quand tu pourras afficher la vitesse.
Est-ce qu'on peut mettre un .cab en download pour une installation directe sur PocketPC, voir un .exe si possible?
___________________________________________ Discounts and Assistance/Réductions et Assistance (Club GpsPasSion) Best "GPS" PocketPC/Choisir un PDA ou un Kit "GPS" / Où commencer? |
 |
|
|
geideon
113 Posts |
Posted - 25 août 2004 : 23:35:19
|
merci.
J'enlèverai le fichier xml de l'installeur (désolé, je n'avais pas pensé à la redistribution) Je peux donner la méthode pour le construire depuis poiedit ?
Pour le cab, je le posterai demain (je ne l'ai pas à portée de click)
J'oubliais, les préférences s'obtiennent en cliquant sur l'écran de Coyote.
|
 |
|
|
gpspassion
93394 Posts |
|
|
geideon
113 Posts |
Posted - 26 août 2004 : 10:32:59
|
Bonjour, J'ai posté la version 0.1 de coyote sous forme de cab avec le fichier xml séparé et un fichier d'explications LisezMoi.txt.
J'ai amélioré le "framerate". Coyote ne devrait plus ramer comme dans la version précédente où j'utilisais à gogo des évènements.
J'utilise la trame GPRMC pour l'état du fix, la vitesse et l'angle. La vitesse est prise sur l'information en noeuds(knots). La latitude et la longitude sont prises sur la trame GPGGA.
Tech: j'utilise les expressions régulières (bien pratiques) pour extraire ces infos. En ce qui concerne le xml vs binaire, j'ai voulu faire au plus vite et au plus pratique pour mon niveau. Le framework .net permet de charger le xml en mémoire et d'exécuter des requetes type sql dessus... bien pratique pour déterminer le quadrangle en deux lignes de code.
Encore merci.
|
 |
|
|
gpspassion
93394 Posts |
|
|
Boris
France
76 Posts |
Posted - 26 août 2004 : 13:12:19
|
Excellent ça ! Je viens de le mettre sur mon Pocket PC, je teste tout à l'heure... C'est un des avantages de dot net, ça marche sur tout les environnements windows (j'ai dû extraire à la main du.cab) Mais sur le Windows de base... ça génère un "System.OutOfMemoryException" ??? Bizarre.
Je suis en train de faire le "même genre" de programme justement  Je me permets de mettre un screenshot, si ça permet d'échanger de bonnes idées ! (image supprimée) En haut à gauche, l'heure gps, à droite, la vitesse, sur la gauche c'est l'altitude, au centre du sonar/radar, le véhicule (rouge, orange ou vert en fonction du fix), le N/S/E/O tourne en fonction de la "course nmea", en bas, un curseur "à la K2000" à chaque réception de trame nmea du gps, l'étape suivante est justement de faire apparaitre les POIs... Promis, je ne polluerais plus ce post avec ça ! C'est juste pour faire un échange d'idées.
Comme c'est en .net, perso j'utilise OpenNETCF pour la gestion du port com, et pour la partie graphique, je me suis basé sur le tutorial microsoft Lien. Je me permet de te l'indiquer, car je trouve que c'est trés propre et efficace comme approche. Peut-être que tu connais déjà.
Boris |
Edited by - Boris on 16 mars 2007 21:25:19 |
 |
|
|
geideon
113 Posts |
Posted - 26 août 2004 : 14:11:20
|
Bonjour,
J'utilise également la classe port de opennetcf et le tutorial microsoft sur les jeux. Les calculs sont basés en partie sur les formules de ce site http://williams.best.vwh.net/avform.html (à 2pi près de mémoire)
Je posterai la version 0.2 qui apporte des corrections de bug sur la partie analyse trames nmea dans la soirée(j'utilise ce lien pour cette norme : http://vancouver-webpages.com/peter/nmeafaq.txt). En effet, je ne prenais pas la bonne info pour le fix. J'ai rajouté en plus l'information sur le nombre de satellites utilisés.
La formule qui m'a donné le plus de fil à retordre est celle de la rotation pour afficher les paramètres dans le sens de la marche. Pour vérifier les calculs, il existe des formulaires qui te donnent le bearing et la distance. J'utilise ozi explorer en version démo qui permet également de vérifier ça sur des cartes (tu créés les waypoints et il y a une option pour calculer les distances et le bearing). Après c'est le casse tête trigonométrique.
Actuellement j'ai des problèmes de coordination, c'est à dire que le gps à 9600 bauds (dois je le mettre en paramètre?) soit 1200 octets par seconde provoque chez moi (buffer de 512) quatre évènements par seconde en théorie. Je ne maitrise pas le rapport entre la boucle principale (réglée à 4 images par seconde pour le calculs/affichage) et ces évènements d'où un certain "scotch" ou retard par rapport à la réalité. Faut que je me documente si une form .net est monothreadé ou pas ?
Pour le son, j'ai trouvé une classe sound.cs sur le net.
Pour les cabs, plusieurs sont générés (ARM,ARMV4,MIP,SH3, etc..), j'ai uploadé (égoistement) celui qui marche pour ma machine (ARM, asus a620bt), peut être faut-il en mettre d'autres ?
Bon courage également! Si les infos précédentes peuvent t'aider.
Je débute en programmation .net et c'est parfois fastidieux pour moi(surtout le déboggage car je n'ai pas encore trouvé comment logger des infos sur la console de sortie de visual studio).
|
 |
|
|
Boris
France
76 Posts |
Posted - 26 août 2004 : 15:38:06
|
Pour l'optimisation de la vitesse d'affichage, j'ai pris le principe suivant : la boucle d'affichage... elle ne fait rien Juste le Doevents qui va bien, suivi d'un thread.sleep, car la boucle, je la démarre en thread. Quand j'analyse une trame nmea, prenons le cas de la vitesse... si je suis en analyse de la trame vitesse, je récupère la vitesse, si il y a changement par rapport à la vitesse que j'ai mémorisée, je redessine juste cette partie de l'écran. J'ai essayé de faire ça un peu proprement, avec des delegate/event, genre "onChangementVitesse(int valeur)". Comme ça, mon "moteur" graphique s'abonne aux changements qui l'interesse, et n'affiche que les bouts d'écran qui changent au moment où ils changent. La seule contrainte : il ne doit pas y avoir de recouvrement de ces zones d'affichages.
Boris |
 |
|
|
christian71
6 Posts |
Posted - 26 août 2004 : 16:15:00
|
je viens d'installer coyote sur un axim c'est excellent ce programme , BRAVO et félicitations |
 |
|
|
Ancien Palmeur
France
504 Posts |
Posted - 26 août 2004 : 17:14:20
|
Boris, il n'y pas un risque d'avoir un empilement d'évenements et un retard d'affichage si les demandes de mise à jour de l'écran vont plus vite que la mise à jour elle-même ?
Ipaq h1940 + Holux GR-230 PocketGPS : logiciels gratuits pour PocketPC et GPS |
 |
|
|
Boris
France
76 Posts |
Posted - 26 août 2004 : 18:50:59
|
Euh, il y a erreur sur le screenshot. J'en suis désolé, c'est peut-être un peu ma faute. Mais ce screenshot (avec le sonar bleu et les chiffres en vert) ne correspond pas à COYOTE, le programme de geideon, mais à un programme que je suis en train d'écrire. L'écran de COYOTE, contient en son milieu... LE coyote 
Dans l'absolu, oui il y a risque d'empilement. Mais il faut prendre en compte que le Pocket PC va vite (même le mien). Il suffit de voir les jeux existant comme ceux de chez JimmySoftware. En plus, les trames nmea arrive lentement, genre les coordonnées ne changent qu'une fois par seconde, encore plus long pour la trame contenant l'altitude. Pour le moment, mon ch'ti programme arrive à suivre sans aucun souci mais... mais... je ne fais encore aucun calcul type "quadrangle de proximité" (je ne savais pas que ça s'appelait comme ça) comme le fait COYOTE. Le seul calcul trigonométrique que je fait, c'est pour positionner le nord/sud/est/ouest (et afficher les 4 petites boules verdatre) par rapport à la direction du véhicule.
Ces processeurs n'ont pas de coprocesseur arithmétique...
Pour COYOTE : je n'ai pas encore fait le fichier xml. Est-ce qu'il y a quelque chose qui doit bouger/afficher à l'écran ? Pour l'instant j'ai bien l'affichage du véhicule avec son angle de "vision", le fix sat qui passe au vert, et c'est tout.
Boris |
 |
|
|
geideon
113 Posts |
Posted - 26 août 2004 : 19:38:21
|
Bonsoir, Je viens de poster la version v0.2 Maintenant vous pouvez sauvegarder les préférences. La détermination du fix a été revu. Affichage du nombre de sats. Corrections pour essayer d'accélérer Coyote.
Je plancherai sur l'effet "glue" du programme qui vient surement de l'empilement des évènements provenant du gps et de la boucle de calcul/dessin pas assez rapide. Merci pour vos remarques.
|
 |
|
|
gpspassion
93394 Posts |
|
|
Boris
France
76 Posts |
Posted - 27 août 2004 : 10:07:56
|
Oui, je me suis rendu compte que j'ai dérivé, je ferais plus attention.
J'ai essayé avec un lecteur de log nmea sur port com virtuel, et c'est pas mal du tout. Par contre, il ne voit manifestement pas les infos de mon Gps. c'est un Haicom 204S sur COM1: 4800 8N1. Oui, je viens de relire ton premier message, c'est ça, la vitesse, moi en 4800 et le soft en 9600.
Boris |
 |
|
|
geideon
113 Posts |
Posted - 27 août 2004 : 10:27:37
|
Merci boris, je vais me coller définitivement à la norme nmea183v2. Je mettrai 4800 bauds dans la prochaine version (ce soir) pour que ça commence à marcher chez plus de personnes. Port com virtuel, lecteur nmea merci pour l'info.
|
 |
|
Topic  |
|
|
|
| This page was generated in 2,5 seconds. |
 |
|