FlightGear/Note tecniche

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Nel caso che sia necessario approfondire alcuni aspetti della configurazione del software sono state scritte alcune note la cui compressione è riservata a persone che abbiano un minimo di basi tecniche sul sistema operativo utilizzato e qualche rudimento di programmazione. Comunque le informazioni riportate in queste note non sono necessarie al funzionamento in modalità standard del programma.

Configurazione del Joystick[modifica]

Finestra delle informazioni del joystick che è stato riconosciuto dal programma.
Tale finestra si ottiene la menu Help-Joystick Information

Le configurazioni di default sono le seguenti:

  • Axis 0 = Aileron
  • Axis 1 = Elevator
  • Axis 2 = Rudder
  • Axis 3 = Throttle
  • Button 0 = All brakes
  • Button 1 = Elevator trim (up)
  • Button 2 = Elevator trim (down)

Se il joystick ha più assi (come ad esempio il WingMan della Logitech), è possibile inserirli con la seguente procedura fgjs.

La configurazione può essere eseguita tramite il comando fgjs, questo comando come prima cosa verifica il punto zero, ovvero dove il joystick viene considerato neutro rispetto ai comandi. Al termine di questo test inizia a chiedere all'operatore di eseguire alcune operazioni in modo da accoppiare agli assi del joystick ed ai suoi pulsanti alcune operazioni. Al termine del comando il programma avrà generato nella directory in cui è stato lanciato un file js<n>.xml ove n indica l'identificativo del joystick. Dalle istruzioni sembra che i file vadano copiati nella directory $FG_ROOT/Input/Joysticks/ e qui verranno caricati al momento del lancio del programma.

Le istruzioni più aggiornate per la configurazione dei joysticks sono poste nel file $FG_ROOT/Docs/README.Joystick.html

Riconoscere il proprio joystick[modifica]

FlightGear non ha una gestione della configurazione del joystick come tanti altri simulatori di volo, probabilmente perché considerata di importanza secondaria dagli sviluppatori. Questo fatto tende a frustrare uno che non ha esperienza di programmazione nel caso che qualcosa vada storto. Comunque un prima verifica può essere fatta eseguendo il programma js_demo da riga di comando. Questo programma permette di mostrare quali comandi del joystick siano attivi ed i relativi valori. Ma fate attenzione quando eseguite il programma appena lo avviate dovete bloccarlo con il comando <CTRL>+<C> in modo da poter vedere la testata che mostra i dispositivi riconosciuti.

#fgfs$ js_demo
Joystick test program.
~~~~~~~~~~~~~~~~~~~~~~
Joystick 0: "Microsoft Microsoft® Digital Media Keyboard 3000"
Joystick 1: "Logitech Inc. WingMan Force 3D"
Joystick 2 not detected
Joystick 3 not detected
Joystick 4 not detected
Joystick 5 not detected
Joystick 6 not detected
Joystick 7 not detected

Come si vede in questo caso è stato riconosciuto un dispositivo tastiera Microsoft ed un joystick Logitech Inc. WingMan Force 3D. Essendo il dispositivo riconosciuto è molto probabile che il suo funzionamento in FlightGear sia corretto.

Problemi al Throttle (Manetta)[modifica]

Qualche volta la manetta, essendo un comando di tipo proporzionale, può non essere sufficientemente esteso per fare l'escursione completa e quindi il velivolo può risultare sotto-potenziato.

Ad esempio prendiamo il file ../fgdata/Input/Joysticks/Logitech/wingman-force-3d.xml

     <axis>
	<desc>Throttle</desc>
	<number>
	        <unix>3</unix>
		<mac>2</mac>
		<windows>2</windows>
	</number>
	<binding>
		<command>nasal</command>
		<script>controls.throttleAxis()</script>
                       <!-- Inizio parte aggiunta per problemi fine-corsa manetta-->
		<factor type="double">1.0</factor>
		<dead-band type="double">0.0</dead-band>
		<power type="double">2.0</power>
                       <!-- Termine della aggiunta -->
	</binding>
     </axis>

Con questa modifica l'escursione della manetta ora è completa.
Per l'uso di questi parametri si può guardare nel seguente link, in quanto sono legati alla tecnica del bindings.

Le variabili di ambiente (Enviroment Variables)[modifica]

Le variabili d'ambiente sono dei valori, numerico o alfabetici, che il sistema operativo associa a dei nomi. Queste variabili permettono al programma di poter accedere ad alcune informazioni fondamentali per la sua esecuzione. In FlighGear possono essere presenti o no, ma se sono definite possono modificare il comportamento del programma in modo radicale. Le due variabili d'ambiente definite da FlightGear sono:

FG_ROOT[modifica]

Quando si esegue FLightGear il programma deve poter trovare le cartelle che contengono gli aeroplani, gli ADF, i VOR, le frequenze degli aeroporti etc. Ovvero tutti quei file e cartelle che sono contenute nella cartella che ha il nome /data. Normalmente questa cartella si trova sotto la cartella in cui è installato il programma, che nel caso di Linux ha il seguente percorso /usr/local/share/FlightGear/data, nel caso di Windows invece c:\Program Files\FlightGear\data. Se invece tale cartella si trova altrove in quanto ad esempio se ne vuole utilizzare differenti versioni o per superare stringenti motivi di spazio, la cartella può raggiungere anche i 10 GB di spazio occupato, è necessario assegnare a FG_ROOT il nuovo percorso. L'assegnazione è una operazione che va effettuata seguendo le regole che sono previste per ogni sistema operativo utilizzato.

FG_SCENERY[modifica]

Anche gli scenari possono essere posizionati in punti differenti dalla posizione standard che normalmente una sotto cartella di /data che ha il nome di /Scenery. Anche in questo caso i motivi di spazio sono la causa più comune di tale scelta, ma vi possono essere altri motivi, come la necessità di sviluppare nuovi scenari senza dover modificare quelli standard. Non solo, ma FlightGear può ospitare in modo contemporaneo più cartelle di scenari che possono essere elencate come percorsi una di seguito all'altro. In questo caso il programma utilizzerà il primo scenario disponibile per quella particolare localizzazione, nel caso di Linux e di MAC-OS, mentre utilizzerà l'ultimo scenario disponibile nel caso di Windows.
Quindi poniamo di inserire un nuovo scenario nella cartella /NewScenery e vogliamo che gli scenari in essa contenuti sovrascrivano gli scenari presenti nella cartella standard /Scenery, in Linux o MAC-OS avremo la variabile d'ambiente FG_SCENERY con il seguente valore: /home/tizio/NewScenery:/usr/local/share/FlightGear/data/Scenery, mentre in Windows la variabile d'ambiente FG_SCENERY avrà il seguente valore: c:\Program Files\FlightGear\data\Scenery;c:\Program Files\FlightGear\data\NewScenery.

Nota per gli ambienti MAC e Windows[modifica]

Normalmente Windows e MAC possono avviare FlighGear da un programma di lancio per il quale si possono definire tali variabili d'ambiente riempiendo due appositi campi di testo. Solo se si avvia da Windows o MAC FlightGear da linea di comando sarà necessario configurare tali variabili.