Les scripts de zakh pour aider à l'utilisation de FlightGear

J'ai écrit ces scripts pour répondre à des “lacunes” que je trouvais “autour” de FligthGear, ils sont écrit en deux langages: Perl, et bash.
Perl est multi-plateforme donc ils devraient être exploitables sous d'autres systèmes d'exploitation que le mien (Linux) moyennant certainement un brin de portage (n'ayant fait aucun effort de ce coté moi-même).
Ceux écrits en bash ne sont pas directement exploitable sous un autre OS, à moins de faire un gros effort de portage en “batch” (les .BAT de Windows), et encore je ne suis pas certain que tout soit réellement portable… Je n'ai pas de solution pour vous, utilisateurs de Windows, mais ne croyez pas que c'est de la malveillance envers les windowsiens: je n'ai cure de ces batailles autour des OS; c'est juste que je les ai fait pour moi, sur mon système… si vous vous sentez l'âme de les porter n'hésitez surtout pas!

Aucun de ces scripts n'a d'interface graphique 1).

encore un peu de patience, certains de ces scripts sont disponibles mais un peu dépassés, je mettrais en ligne très rapidement les nouvelles versions

compile (bash), à jour

Le script
Ce script permet la compilation de toutes les versions possibles de FG sur votre système. Il ne fait rien d'extraordinaire si ce n'est qu'il le fait à votre place (téléchargement, compilation, installation) ce qui peut être pratique pour lancer l'affaire avant de partir de chez soi, et de revenir en trouvant tout compilé et installé. Il sait également faire plein d'autres choses qui sortent du cadre de FG.

ballade (perl), à jour

le script
Un petit script qui permet de trouver les aéroports situés sur un cercle de rayon donné (par défaut 50km)

plandevol (perl), à jour

le script
Ce n'est pas un vrai plan de vol que propose ce script mais plutôt une feuille de route de balise en balise du départ à l'arrivée. Il intègre cependant la possibilité d'utiliser les procédures SID/STAR. Egalement possible de créer des waypoints directement utilisables avec gps.nas (nécessite quand même quelques manips pour règler l'altitude ou la vitesse étant toutes deux laissées à 0, ainsi qu'une information optionnelle sur la route)

Pour une utilisation sous Windows il y a trois lignes à modifer:

Ligne Version *NIX version Windows
1 #!/usr/bin/perl #!/Perl
80 ”/usr/share/games/FlightGear” “c:\\Program Files\\Flightgear\\data”
81 “$HOME/.fgfs” “$HOME\\Application Data\\flightgear”

je ne suis pas tout à fait certain des chemins pour les lignes 80 et 81, merci de me les confirmer ou infirmer

gps.nas (nasal), à jour

le script
C'est une classe pour créer un gps avec FG. Il comprend deux démos:
gps.demo.show();
gps.demo2.show();
Alors, créateurs d'instruments pour avions de FlightGear, n'hésitez plus zieutez dans le code des démos pour voir comment l'utiliser ;)

balises (perl)

le script
J'utilise ce script en vol pour connaître les balises et aéroports situés autour de mon appareil, nécessite FG lancé avec l'option –telnet=port, le port utilisé doit être également renseigné dans le script

my( $server ) = "localhost";
my( $port ) = 5401; # <--- ici
my( $timeout ) = 5;

vfr_map (perl)

le script
Il n'est pas encore terminé, il devra proposer de construire une carte contenant les obstacles connus de FG (et installés sur votre système) permettant une navigation à vue. Le principal obstacle à sa finalisation est que je me suis perdu dans les méandres des calculs de coordonnées… si quelqu'un y connait quelque chose je suis preneur (contact via le forum français de FlightGear)

kmlconvert (perl), à jour

le script
Si vous volez sur mpserver02.flightgear.org ou sur votre propre serveur configuré de sorte à ce que votre vol soit enregistré, vous pouvez alors télécharger un fichier qui vous permettra de voir en 3D votre vol sur GoogleEarth. Malheur! dans ce fichier l'altitude est en pieds, et googleearth croit que ce sont des mètres. Ce script effectuera la conversion.

getkml (bash), à jour

le script
petit script pour télécharger tous vos logs de vols [$ ./getkml all], ou seulement le dernier en date [$ ./getkml], pour une utilisation avec GoogleEarth, si kmlconvert est présent et renseigné

# PARAMETRES A MODIFIER
callsign="zakh" # <----- mettre ici le callsign qui vous intéresse (le vôtre par exemple ;-))
kmlconvert="$HOME/scripts/fgfs/kmlconvert" # <------- où se trouve kmlconvert (pas obligatoire)

tests.pl (perl)

le script
Il peut arriver qu'au lieu de trouver le modèle 3D de votre avion favori, vous vous retrouviez avec un planeur jaune aux allures de tank avec des ailes d'un beau bleu. En général cela arrive car une petite erreur s'est glissée dans les fichiers de configuration de l'avion ou parce qu'un des éléments contenu dans Aircraft/Instrimentation, ou Aircraft/Generic a été modifié ou déplacé et que l'avion n'a pas encore été mis à jour. Pour détecter ce genre d'erreur et les corriger, tests.pl est assez efficace. Placez-le dans le répertoire $FGROOT et lancez:

$ ./test.pl votre_avion

si il ne sort aucune erreur, relancez-le une deuxième fois avec une option supplémentaire:

$ ./test.pl votre_avion relative

si aucune erreur est détectée, alors normalement tout devrait bien se passer, le script n'a pas trouvé l'erreur. Dans le cas contraire, il indique le fichier qui contient l'erreur et la ligne de l'erreur.

pilots (bash)

tout petit script pour voir dans le terminal les joueurs présents sur les serveurs multijoueurs.

#!/bin/bash
list=`telnet mpserver01.flightgear.org 5001 2>&1`
IFS='
'
for line in $list; do 
    number=`echo -n $line | grep 'pilots online'`
    [[ "$number" != "" ]] && {
        echo `echo $number | awk '{ printf "# %s pilots online", $2 - 1 }'`
        continue
    }
    line=`echo -n $line | grep '@'`
    pilot=`echo -n $line | sed 's/@.*//'`
    model=`echo $line | sed 's:.*Aircraft/::'`
    if [[ "$pilot" != "" && "$pilot" != "mpdummy" ]]; then
	echo -e "$pilot\t--> ${model%%/*}"
    fi
done

voila c'est tout pour aujourd'hui

1) mais ils exportent des messages sur la sortie standard
 
others/les_scripts_de_zakh.txt · Dernière modification: 2011/12/27 14:06 (modification externe)
 
Recent changes RSS feed GNU General Public License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki