FGCom (before 3.0): Difference between revisions

Jump to navigation Jump to search
Switch to {{gitorious url}} and {{fgmeta url}} to fix the broken Gitorious links. This required a switch from <div> and <table> tags to <syntaxhighlight>.
m (→‎Functional test & user briefing: review chp. "Start FlightGear")
(Switch to {{gitorious url}} and {{fgmeta url}} to fix the broken Gitorious links. This required a switch from <div> and <table> tags to <syntaxhighlight>.)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{cleanup}}
{{historical
| type  = article
| tense  = is
| text  = obsolete
| reason = The new version of FGCom is much more simple to use and a clean documentation is available at [[FGCom 3.0]]
| talk  =
| date  = 1 January 2015
| nocat  =
}}


{{Infobox Software
{{Infobox Software
Line 16: Line 24:
| type                  =  
| type                  =  
| license                = [[GNU General Public License]]
| license                = [[GNU General Public License]]
| website                = http://sourceforge.net/projects/fgcom/
| website                = {{gitorious url|fg|fgcom}}
}}
}}
'''FGCom''' is an addon for [[FlightGear]]. With FGCom (and the infrastructure behind it), FlightGear has a realtime voice communication system which enriches the FlightGear capabilities, especially for [[Howto: Multiplayer|multiplayer]] events, like:
'''FGCom''' is an addon for [[FlightGear]]. With FGCom (and the infrastructure behind it), FlightGear has a realtime voice communication system which enriches the FlightGear capabilities, especially for [[Howto: Multiplayer|multiplayer]] events, like:


Line 75: Line 84:
#*:: and unzip it into a directory of your choice
#*:: and unzip it into a directory of your choice
#*:: then you start fgcom in a terminal like:
#*:: then you start fgcom in a terminal like:
<div>
::::<syntaxhighlight lang="sh>
::::<table>
cd /home/YourName/fgfs/bin  
<tr><pre>
cd '/home/YourName/fgfs/bin  
./fgcom
./fgcom
</pre></tr></table></div>
</syntaxhighlight>
# '''Downloading from the “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).'''  
# '''Downloading from the “Distributor” (Debian, Ubuntu, Red Hat, Suse, etc.).'''  
#* '''Advantage:''' This is the easiest way and ensures that maintenance and services for this package and all concurrencies to it are provided automatically for a reasonable time-frame.
#* '''Advantage:''' This is the easiest way and ensures that maintenance and services for this package and all concurrencies to it are provided automatically for a reasonable time-frame.
Line 89: Line 96:
#* '''Disadvantage:''' No automated maintenance available. The handling is a little different from the standard Menu-driven practices.
#* '''Disadvantage:''' No automated maintenance available. The handling is a little different from the standard Menu-driven practices.
#* '''Installation:''' use the [[Scripted Compilation on Linux Debian/Ubuntu]]
#* '''Installation:''' use the [[Scripted Compilation on Linux Debian/Ubuntu]]
<div>
::{{#tag:syntaxhighlight|
::<table>
<tr><pre>
mkdir fgcom
mkdir fgcom
cd fgcom
cd fgcom
wget http://www.gitorious.org/fg/fgmeta/raw/download_and_compile.sh
wget {{fgmeta url|download_and_compile.sh}}
chmod +x ./download_and_compile.sh  
chmod +x ./download_and_compile.sh  
./download_and_compile.sh PLIB FGCOM
./download_and_compile.sh PLIB FGCOM
</pre></tr>
| lang = "sh"
}}
... it will ask 2 x for the root password
... it will ask 2 x for the root password
then it looks like this:
then it looks like this:
<tr><pre>
::<syntaxhighlight lang="sh">
[ 95%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom.cpp.o
[ 95%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom.cpp.o
[ 97%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom_init.cpp.o
[ 97%] Building CXX object CMakeFiles/fgcom.dir/src/fgcom_init.cpp.o
Line 116: Line 122:
Usage: ./download_and_compile.sh -h
Usage: ./download_and_compile.sh -h
for help
for help
</pre></tr>
</syntaxhighlight>
then you can start fgcom like this:
then you can start fgcom like this:
<tr><pre>
::<syntaxhighlight lang="sh">
./run_fgcom.sh -Sdelta384.server4you.de
./run_fgcom.sh -Sfgcom.flightgear.org
</pre></tr>
</syntaxhighlight>
</table></div>
 
<br>
==== Install on Mac ====
==== Install on Mac ====
# '''MacFlightGear 1.9.1/2.0.0'''<br />
# '''MacFlightGear 1.9.1/2.0.0'''<br />
Line 130: Line 135:
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!
#* '''Disadvantage:''' There may be only a engineering test version available (as of today) - use that with care!
#* '''Installation:'''You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.
#* '''Installation:'''You can download the needed "Standalone FGCOM".zip from http://fgcom.flightgear.org/download/.
<br><br>
 
==== Install on Windows ====
==== Install on Windows ====
# '''Please use the Windows installation description'''
# '''Please use the Windows installation description'''
Line 262: Line 267:


==== Start FGCom ====
==== Start FGCom ====
Open a [[Command line|command-window]] and change into the directory in which FGCom was installed (probably the same as FlightGear) and start FGCom. You must decide what server you want to use! Since Oct.2012 there are 2 FGCOM-servers available:
Open a [[Command line|command-window]] and change into the directory in which FGCom was installed (probably the same as FlightGear) and start FGCom. The server you want to use for events is '''fgcom.flightgear.org''' (fgcom.flightgear.org.uk was the originally used server and is not available any more).
# The original: '''fgcom.flightgear.org'''
# A new one: '''delta384.server4you.de'''
Due to technicalities it is not possible to speak from 1 server to the other - so try one and change if you notice that your friends are using the other.


So insert the server-address after a "-S" (watch: The "S" must be a capital!):
To start FGCom with the defined server you must insert the server address after a "-S" (watch: The "S" must be a capital!):
{|
::{| border="2" cellpadding="5"
! style="background:#efefef" |Linux  
! style="background:#efefef" |Linux||fgcom -Sfgcom.flightgear.org  
|fgcom -Sfgcom.flightgear.org  
|"-Sfgcom..." with capital "S"
|"-Sfgcom..." with capital "S"
|-
|-
! style="background:#efefef" |Linux Git
! style="background:#efefef" |Linux Git<br>
<small>(FS 3.00 or GIT 2.99)</small>
| cd ~/fgfs<br />sh ./run_fgcom.sh  
| cd ~/fgfs<br />sh ./run_fgcom.sh  
| for this “Git complete” you do not need to specify the server address, because it is embedded in the script-file.
| This is the new integrated version, which you will start and set options from inside the FGFS!
|-
|-
! style="background:#efefef" |Windows  
! style="background:#efefef" |Windows  
Line 281: Line 283:
|"-Sfgcom..." with capital "S"
|"-Sfgcom..." with capital "S"
|}
|}
For the following test position this command-window somewhere, where you can monitor it throughout the test.


The first response should be:
For the following tests, position the command-window somewhere, where you can monitor it throughout the test.
   /fgcom - a communication radio based on VoIP with IAX/Asterisk  
<br><br>
   (c)2007 by H. Wirtz <wirtz@dfn.de>  
'''''Be aware that the standard range for the FGCom is 50km, but some people have a version with a range of 100 km! So in the following description the "50 km" restriction might be replaced with 100km!!'''''
   Version 1.2.2 build 206M
<br><br>
   Using iaxclient library Version SVN 206M
'''1) The first response should be:'''
   fgcom - a communication radio based on VoIP with IAX/Asterisk
   Original (c) 2007-2011 by H. Wirtz <wirtz@dfn.de>
  OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.
   Version 3.1.0 compiled Mar  2 2014, at 00:21:19
   Using iaxclient library Version SVN 261
    
    
   Successfully parsed command-line options.  
   Successfully parsed commandline options
   Reading list of airports...done.
  Loaded file [/usr/share/flightgear/special_frequencies.txt].
   Reading airports [/usr/share/flightgear/positions.txt]
  loaded 47171 entries
   Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org
   Initializing IAX client as guest:xxxxxxxxxxx@fgcom.flightgear.org
If your printout up to that line is different go back to chapter [[FGCOM#Test the basic function|Test the basic function]]


{|
If, due to a prior flight, COM1 was set to anything else but 118.600 (e.g. to 119.650) you will see the following 2 lines added to the above shown initialization of the FGCom-window:
|+
|-
|width="300"| ||
|-
|1) If, due to a prior flight, COM1 was set to anything else but 118.600 (e.g. to 119.650) you will see the following 2 lines added to the initialization of the FGCom-window: ||
|-
|
  Selected frequency: 119.650  
  Selected frequency: 119.650  
  Call rejected by remote
  Call rejected by remote
|
Instead of  “119.650” there will be shown the last used frequency. In the above example the source of the ATC-Freq. 119.650 is more than 50km away from your actual position, so FGCom rejects a connection to it. If the last frequency used would have been within 50 km you get an indication very similar to the next item.
Instead of  “119.650” there will be shown the last used frequency. In this case the source of the nearest ATC-Freq. 119.650 is more than 50km away from your actual position of the airplane, so FGCom rejects a connection to it. If the last frequency used would have been within 50 km you get an indication very similar to the next item.
<br><br>
|-
'''2) Switch COM1 to 118.60 (as needed at Palo Alto):'''
|2) Switch COM1 to 118.60 (needed at Palo Alto):
|-
|
  Selected frequency: 118.600  
  Selected frequency: 118.600  
  Hanging up call 0  
  Hanging up call 0  
Line 316: Line 313:
  Call 0 answered  
  Call 0 answered  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.6 km)  
|This last line will be repeated according the to time span you defined in the “Input/Output” command “--generic=socket,in,'''10''',,5500,tcp”, you may change that value later according to your preferences.
This last line will be repeated according the to time span you defined in the “Input/Output” command “--generic=socket,in,'''10''',,5500,tcp” (10 means all 10 sec.), you may change that value later according to your preferences.
|-
<br><br>
|<br />3) Press your PTT (PushToTalk on space-bar and joystick, as available):
'''3) Press your PTT (PushToTalk on space-bar and joystick, as available):'''
|-
|
  [SPEAK] unmute mic, mute speaker  
  [SPEAK] unmute mic, mute speaker  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
  [SPEAK] unmute mic, mute speaker  
  [SPEAK] unmute mic, mute speaker  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|Only in between “SPEAK” and “LISTEN” you are able to talk to others.
Only in between “SPEAK” and “LISTEN” you are able to talk to others.
|-
<br><br>
|<br />Now lets set/verify the other Radios:
'''4) First let us set/verify the other Radios:'''
* COM2 = 120.50 San Francisco
COM2 = 120.50 San Francisco
* NAV1  = 114.10 San Jose
NAV1  = 114.10 San Jose
* NAV2  = 115.80 San Francisco
NAV2  = 115.80 San Francisco
4) Pressing Upper+Space will switch to the next radio: '''NAV1'''
<br>
|-
'''Then: Pressing Upper+Space will switch to the next radio: '''NAV1'''
|
  Radio-Select: NAV1  
  Radio-Select: NAV1  
  Selected frequency: 114.100  
  Selected frequency: 114.100  
Line 339: Line 333:
  Call rejected by remote  
  Call rejected by remote  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|Compare this to the NAV2 indication 2 steps later: something is wrong – and it wasn't your fault: Although this NAV is valid (see ...FGFS/data/Airports/apt.dat.gz), it is missing in the FGCom listing .../FGCom/positions.txt. I encountered this problem several times, as well for Airports as also for VOR's. If this happens with your most beloved airport you can add those missing data with a text-editor. But before changing be sure to save the original data somewhere - just in case!
Compare this to the NAV2 indication 2 steps later: something is wrong – and it wasn't your fault: Although this NAV is valid (see ...FGFS/data/Airports/apt.dat.gz), it is missing in the FGCom listing .../FGCom/positions.txt. I encountered this problem several times, as well for Airports as also for VOR's. If this happens with your most beloved airport you can add those missing data with a text-editor. But before changing be sure you know what/how you are doing and also save the original data somewhere - just in case!
|-
<br><br>
|<br />5) Pressing Upper+Space once more switches to '''COM2'''
'''5) Pressing Upper+Space once more switches to COM2'''
|-
|
  Radio-Select: COM2  
  Radio-Select: COM2  
  Selected frequency: 120.500  
  Selected frequency: 120.500  
Line 350: Line 342:
  Call 0 accepted  
  Call 0 accepted  
  Call 0 answered
  Call 0 answered
|That looks OK: San Francisco is about 29 km away<br /><br />watch the “km” instead of miles!<br />'''10 km''' = '''6.2137 mi'''
That looks OK: San Francisco is about 29 km away!<br />Watch the “km” instead of miles! '''10 km''' = '''6.2137 mi'''
|-
<br><br>
|<br />6) Pressing Upper+Space once more switches to '''NAV2'''
'''6) Pressing Upper+Space once more switches to NAV2'''
|-
|
  Radio-Select: NAV2  
  Radio-Select: NAV2  
  Selected frequency: 115.800  
  Selected frequency: 115.800  
Line 362: Line 352:
  Call 0 answered  
  Call 0 answered  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|And Yes: The SF VOR is just a little closer than the airport(center)
And Yes: The SF VOR is just a little closer than the airport-center
|-
<br><br>
|<br />7) Pressing Upper+Space once more brings back '''COM1''':
'''7) Pressing Upper+Space once more brings back '''COM1''':'''
|-
|
  Radio-Select: COM1  
  Radio-Select: COM1  
  Selected frequency: 118.600  
  Selected frequency: 118.600  
Line 374: Line 362:
  Call 0 answered  
  Call 0 answered  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|-
<br>
|<br />8) Lets us start and continue flying in the direction about 130°:
'''8) Lets us start and continue flying with a heading of about 130°:'''
|-
|
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.4 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.4 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.2 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 0.2 km)  
Line 384: Line 370:
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.9 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 1.9 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 2.4 km)  
  Airport Palo Alto (KPAO Tower at 118.600 MHz) is in range ( 2.4 km)  
|notice that you first come closer (to the center of the airport) and after that getting away
notice that you first come closer (to the center of the airport) and after that getting away
|-
<br><br>
|<br />9) Let's switch to '''COM2''' (San Francisco) and watch:  
'''9) Let's switch to '''COM2''' (San Francisco) and watch:'''
|-
|
  Radio-Select: COM2  
  Radio-Select: COM2  
  Selected frequency: 120.500  
  Selected frequency: 120.500  
Line 404: Line 388:
  Call rejected by remote  
  Call rejected by remote  
  [LISTEN] mute mic, unmute speaker  
  [LISTEN] mute mic, unmute speaker  
|That means: at about 50KM we are getting out of range and thus the on COM2 active SF getts terminated. Notice that also the inactive NAV2 gets terminated, because it exceeded the allowable range at about the same time!
That means: at about 50KM we are getting out of range and thus the on COM2 active SF getts terminated. Notice that also the inactive NAV2 gets terminated, because it exceeded the allowable range at about the same time!
|}
<br><br>
10) You could turn now and watch the opposite: At about the same distance those two will become active again (automatically, if you did not change the settings).
You could turn now and watch the opposite: At about the same distance those two will become active again (automatically, if you did not change the settings).


If you got here without any (technical) problems your FGCom is fully functional. Have fun when using it.
If you got here without any (technical) problems your FGCom is fully functional. Have fun when using it.
Line 511: Line 495:
  fgcom --help
  fgcom --help
returns the following useful info
returns the following useful info
    fgcom - a communication radio based on VoIP with IAX/Asterisk
 
    (c)2007 by H. Wirtz <wirtz@dfn.de>
  fgcom - a communication radio based on VoIP with IAX/Asterisk
    Version 1.2.2 build 163M
  Original (c) 2007-2011 by H. Wirtz <wirtz@dfn.de>
    Using iaxclient library Version SVN 163M
  OSX and Windows ports 2012-2013 by Yves Sablonier and Geoff R. McLane, resp.
  Version 3.1.0 compiled Mar  2 2014, at 00:21:19
  Using iaxclient library Version SVN 261
    
    
  OPTION                                       DESCRIPTION
    OPTION                                               DESCRIPTION
    
    
  -d, -debug, --debug=                         show debugging information
    -d, -debug, --debug=                                 show debugging information
  -S, -voipserver, --voipserver=               voip server to connect to (default: 'fgcom.flightgear.org')
    -S, -voipserver, --voipserver=                       voip server to connect to (default: 'fgcom.flightgear.org')
  -s, -fgserver, --fgserver=                   network device to connect to  (default: 'localhost')
    -s, -fgserver, --fgserver=                           fg to connect to  (default: 'localhost')
  -p, -port, --port=                           where we should listen to FG (default: '16661')
    -p, -port, --port=                                   where we should listen to FG (default: '16661')
  -a, -airport, --airport=                     airport-id (ICAO) for ATC-mode
    -a, -airport, --airport=                             airport-id (ICAO) for ATC-mode
  -f, -frequency, --frequency=                 frequency for ATC-mode
    -f, -frequency, --frequency=                         frequency for ATC-mode
  -U, -user, --user=                           username for VoIP account (default: 'guest')
    -C, -callsign, --callsign=                            callsign to use (default: 'guest')
  -P, -password, --password=                   password for VoIP account (default: 'guest')
    -U, -user, --user=                                   username for VoIP account (default: 'guest')
  -i, -mic, --mic=                             mic input level (0.0 - 1.0)
    -P, -password, --password=                           password for VoIP account (default: 'guest')
  -o, -speaker, --speaker=                     speaker output level (0.0 - 1.0)
    -i, -mic, --mic=                                     mic input level (0.0 - 1.0)
  -b, -mic-boost, --mic-boost=                 enable mic boost
    -o, -speaker, --speaker=                             speaker output level (0.0 - 1.0)
  -l, -list-audio, --list-audio=               list audio devices
    -b, -mic-boost, --mic-boost=                         enable mic boost
  -r, -set-audio-in, --set-audio-in=           use <devicename> as audio input
    -t, -silence-threshold, --silence-threshold=          set silence threshold (-60.0 - 0.0)
  -k, -set-audio-out, --set-audio-out=         use <devicename> as audio output
    -l, -list-audio, --list-audio=                       list audio devices
  -c, -codec, --codec=                         use codec <codec> as transfer codec (default: 'u')
    -r, -set-audio-in, --set-audio-in=                   use <devicename> as audio input
    -k, -set-audio-out, --set-audio-out=                 use <devicename> as audio output
    -c, -codec, --codec=                                 use codec <codec> as transfer codec (default: 'u')
    -T, -positions, --positions=                          location positions file (default: '/usr/share/flightgear/positions.txt')
    -Q, -special, --special=                              location spl. frequency file (opt) (default: '/usr/share/flightgear/special_frequencies.txt')
    
    
  Available codecs:
    Available codecs:
        u - ulaw (default and best codec because the mixing is based onto ulaw)
          u - ulaw (default and best codec because the mixing is based onto ulaw)
        a - alaw
          a - alaw
        g - gsm
          g - gsm
        s - speex
          s - speex
        7 - G.723
          7 - G.723
    
    
  Mode 1: client for COM1 of flightgear:
        $ fgcom
  - connects fgcom to fgfs at localhost:16661
        $ fgcom -sother.host.tld -p23456
  - connects fgcom to fgfs at other.host.tld:23456
    
    
  Mode 2: client for an ATC at <airport> on <frequency>:
    Mode 1: client for COM1 of flightgear:
        $ fgcom -aKSFO -f120.500
          $ fgcom
  - sets up fgcom for an ATC radio at KSFO 120.500 MHz
    - connects fgcom to fgfs at localhost:16661
          $ fgcom -sother.host.tld -p23456
    - connects fgcom to fgfs at other.host.tld:23456
    
    
     Note that /home/hcs/src/fgcom/trunk/src/fgcom starts with a guest account unless you use -U and -P!
     Mode 2: client for an ATC at <airport> on <frequency>:
          $ fgcom -aKSFO -f120.500
    - sets up fgcom for an ATC radio at KSFO 120.500 MHz
 
 
  Note that fgcom starts with a guest account unless you use -U and -P!


Also note that the current server (fgcom.flightgear.co) works with guest account, so '''do not use -U or -P'''
Also note that the current server (fgcom.flightgear.org) works with guest account, so '''do not use -U or -P'''


== Server installation ==
== Server installation ==
Line 602: Line 594:
* [[FGComGui]]
* [[FGComGui]]


[[Category:FGCom| ]]
== External link ==
* [http://sourceforge.net/projects/fgcom/ Old repository] at sourceforge
 
[[Category:FGCom]]
[[Category:Multiplayer]]
[[Category:Multiplayer]]


[[fr:FGCom]]
[[fr:FGCom]]

Navigation menu