Dual control: Difference between revisions

3,143 bytes added ,  18 April 2016
No edit summary
(17 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[File:Dualcontrolready2.png]]
{{Affected by HLA}}
 
[[File:Dualcontrolready.png]]


'''Dual Control''' is a system for [[FlightGear]] that adds basic support for shared control of an [[aircraft]] over the FlightGear [[Multiplayer Howto|multiplayer network]].
'''Dual Control''' is a system for [[FlightGear]] that adds basic support for shared control of an [[aircraft]] over the FlightGear [[Multiplayer Howto|multiplayer network]].
Line 9: Line 9:


Currently there are a small number of aircraft with dual control support:
Currently there are a small number of aircraft with dual control support:
* [[Airbus A320 Family]], pilot and co-pilot (<tt>A3xx-xx1</tt>, <tt>A320-copilot</tt>). Available from [http://gitorious.org/airbus-aircraft/a320 Gitorious project page]. Be sure to rename the aircraft directory to "A320-family" after checking out/downloading.
* [[Airbus A320 Family]], pilot and co-pilot (<tt>A3xx-xx1</tt>, <tt>A320-copilot</tt>). Available from {{gitorious source|proj=airbus-aircraft|repo=a320|text=Gitorious project page}}. Be sure to rename the aircraft directory to "A320-family" after checking out/downloading.
* [[Airbus A340-600]], pilot and co-pilot (<tt>A340-600</tt>, <tt>A346-copilot</tt>). Available in FlightGear 2.0 or later, Latest beta versions available on the forum.
* [[Airbus A340-600]], pilot and co-pilot (<tt>A340-600</tt>, <tt>A346-copilot</tt>). Available in FlightGear 2.0 or later, Latest beta versions available on the forum.
* [[Blackburn Buccaneer]], pilot and systems officer (<tt>buccaneer</tt>, <tt>buccaneer-obs</tt>). Available in FlightGear 1.9.0 or later.
* [[Blackburn Buccaneer]], pilot and systems officer (<tt>buccaneer</tt>, <tt>buccaneer-obs</tt>). Available in FlightGear 1.9.0 or later.
* [[Boeing 747-400]], pilot flying and pilot monitoring (<tt>747-400</tt>, <tt>747-400-fo</tt>). Available in FlightGear/Git.
* [[Boeing 747-400]], pilot flying and pilot monitoring (<tt>747-400</tt>, <tt>747-400-fo</tt>). Available in FlightGear/Git.
* c172p Skyhawk, pilot and copilot (<tt>c172p-pilot</tt> and <tt>c172p-copilot</tt>). Based on David Megginson's [[Cessna C172|c172p]] single control aircraft. Available from [http://www.gidenstam.org/FlightGear/DualControl/Aircraft the dual-control aircraft hangar]. The tar.gz archive for the aircraft should be extracted in $FG_ROOT/Aircraft/.
* c172p Skyhawk, pilot and copilot (<tt>c172p-pilot</tt> and <tt>c172p-copilot</tt>). Based on David Megginson's [[Cessna C172|c172p]] single control aircraft. Available from [http://www.gidenstam.org/FlightGear/DualControl/Aircraft the dual-control aircraft hangar]. The tar.gz archive for the aircraft should be extracted in [[$FG_ROOT]]/Aircraft/.
* [[Bombardier CRJ700]] (all variants), pilot and first officer (<tt>CRJ700</tt>, et al and <tt>CRJ700-firstofficer</tt>). Copilot can control aircraft using joystick and keyboard shortcuts but not toggle any switches. Available in FlightGear 2.0.0 or later.
* [[Dornier_Do_X|Dornier Do X]], phenomenal experience, pilot and radio operator working on interactive dual coordination for navigation. Available from [http://marc-kraus.de The Lake of Constance]
* [[fr/Douglas DC-3-C47]], pilot and copilot <u>can control aircraft</u>, and passenger 1 to 4 (<tt>dc-3</tt>, <tt>dc-3-copilot</tt>, <tt>dc-3-psg1</tt>, <tt>dc-3-psg2</tt>, <tt>dc-3-psg3</tt>, <tt>dc-3-psg4</tt>). Available in GIT.
* [[fr/Douglas DC-3-C47]], pilot and copilot <u>can control aircraft</u>, and passenger 1 to 4 (<tt>dc-3</tt>, <tt>dc-3-copilot</tt>, <tt>dc-3-psg1</tt>, <tt>dc-3-psg2</tt>, <tt>dc-3-psg3</tt>, <tt>dc-3-psg4</tt>). Available in GIT.
* [[Embraer E-jets Family]], pilot and co-pilot (<tt>Embraer-17X</tt>, <tt>Embraer-17X-Copilot</tt>), Avaliable from [www.theomegahangar.yolasite.com|TheOmegaHangar]
* [[Embraer E-jets Family]], pilot and co-pilot (<tt>Embraer-17X</tt>, <tt>Embraer-17X-Copilot</tt>), Avaliable from http://theomegahangar.flymerlion.org
* [[Grumman F-14 Tomcat]], pilot and RIO (<tt>f-14b</tt>, <tt>f-14b-bs</tt>). Available in FlightGear 2.0.0 or later.
* [[Grumman F-14 Tomcat]], pilot and RIO (<tt>f-14b</tt>, <tt>f-14b-bs</tt>). Available in FlightGear 2.0.0 or later.
* [[Hughes OH-6 Cayuse]], pilot and co-pilot (<tt>OH-6</tt>, <tt>OH-6-cp</tt>). Available on [[Hughes OH-6 Cayuse|the wiki page]].
* [[Hughes OH-6 Cayuse]], pilot and co-pilot (<tt>OH-6</tt>, <tt>OH-6-cp</tt>). Available on [[Hughes OH-6 Cayuse|the wiki page]].
Line 54: Line 56:


== Developer information ==
== Developer information ==
{{Caution|
{{FGCquote
|1= Normally the only Nasal available will be loaded from the model xml. The -set is effectively a placeholder for an invisible craft as you'll be sitting inside someone else's MP aircraft. The normal -set file isn't loaded at all. All properties need to be transmitted over MP, so if /instrumentation/cdu/serviceable is missing it'll need to be sent. It's a really strange concept that all of the normal stuff isn't where it usually is. It took me a while to figure out this for the F-14 RIO which I think is done in the same way
|2= {{cite web
  | url    = http://forum.flightgear.org/viewtopic.php?p=282765#p282765
  | title  = <nowiki>Re: Dual control for Boeing 777</nowiki>
  | author = <nowiki>Richard</nowiki>
  | date  = Apr 17th, 2016
  | added  = Apr 17th, 2016
  | script_version = 0.25
  }}
}}
{{FGCquote
|1= it's roughly like this.
The nasal modules in f-14b-bs-set.xml are loaded and do the work of connecting the RIO to the pilot's aircraft. However the mp-network cannot be loaded until the model is loaded (can't remember exactly why, but it has to be done this way).
So the approach to take is to ensure that you use /sim/multiplay/generic/float or /sim/multiplay/generic/int (0..19 of each) to share the important properties over mp. This is the easiest way. If you look at the F-14 you'll see that a whole heap of animations and gauges are connected to the multiplay properties, because these will work either when flying or as an MP aircraft. If you don't want to change the animations then a nasal module inside the co-pilot to copy the multiplay/generic into the right place will work. See backseat instruments for an example of how this is done.
It gets more difficult if you need to transmit more than the permitted amount of parameters (40). Then you either have to start packing using bits, or use one of the string parameters to share the rest. Using the string parameters (as in the F-14 and the F-15) is quite inefficient and it is something that I'm working on fixing so that we have much better interaction between the front and back seats - but the first thing I'll do is to get the key properties transmitted using ints or floats, and then do the rest probably using the Emesary multiplayer bridge that I'm working on.
|2= {{cite web
  | url    = http://forum.flightgear.org/viewtopic.php?p=282793#p282793
  | title  = <nowiki>Re: Dual control for Boeing 777</nowiki>
  | author = <nowiki>Richard</nowiki>
  | date  = Apr 17th, 2016
  | added  = Apr 17th, 2016
  | script_version = 0.25
  }}
}}
<!--of caution -->
}}


The main part of the Dual Control system is a set of generic [[Nasal scripting language|Nasal]] modules and modified instrument files that form the core of the networked shared control functionality. See the link below for some more information.
The main part of the Dual Control system is a set of generic [[Nasal scripting language|Nasal]] modules and modified instrument files that form the core of the networked shared control functionality. See the link below for some more information.
Line 60: Line 91:


* [http://www.gidenstam.org/FlightGear/DualControl The main page for the Dual Control system.] Check here for the latest information.
* [http://www.gidenstam.org/FlightGear/DualControl The main page for the Dual Control system.] Check here for the latest information.
[[es:Control dual]]
[[es:Control dual]]
 
[[pt:Controle duplo]]
[[Category:Dual control aircraft| ]]
[[Category:FlightGear feature]]
[[Category:FlightGear feature]]
[[Category:Multiplayer]]