diff options
Diffstat (limited to 'facetracknoir/clientfiles/FlightGear')
3 files changed, 10 insertions, 104 deletions
diff --git a/facetracknoir/clientfiles/FlightGear/Linux/usage.txt b/facetracknoir/clientfiles/FlightGear/Linux/usage.txt index 14c77ad0..48cee837 100644 --- a/facetracknoir/clientfiles/FlightGear/Linux/usage.txt +++ b/facetracknoir/clientfiles/FlightGear/Linux/usage.txt @@ -1,4 +1,6 @@ -fgfs --generic=socket,in,25,localhost,5542,udp,headtracker ~/opt/fgdata/Nasal/headtracker.xml +Copy Protocol/headtracker.xml to fgdata/Protocol/headtracker.xml + +$ fgfs --generic=socket,in,25,localhost,5542,udp,headtracker Adjust paths as necessary. diff --git a/facetracknoir/clientfiles/FlightGear/Nasal/headtracker.xml b/facetracknoir/clientfiles/FlightGear/Nasal/headtracker.xml deleted file mode 100644 index d8bd1d0a..00000000 --- a/facetracknoir/clientfiles/FlightGear/Nasal/headtracker.xml +++ /dev/null @@ -1,83 +0,0 @@ -<?xml version="1.0"?> - -<PropertyList> - <nasal> - <headtracker> - <script> - var Value = { - new: func(prop) { - var m = { parents: [Value] }; - m.prop = props.globals.getNode(prop, 1); - m.value = 0; - return m; - }, - apply: func(value) { - me.prop.setDoubleValue(me.prop.getValue() - me.value + value); - me.value = value; - }, - }; - - - var x = Value.new("/sim/current-view/x-offset-m"); - var y = Value.new("/sim/current-view/y-offset-m"); - var z = Value.new("/sim/current-view/z-offset-m"); - var h = Value.new("/sim/current-view/heading-offset-deg"); - var p = Value.new("/sim/current-view/pitch-offset-deg"); - var r = Value.new("/sim/current-view/roll-offset-deg"); - - - var resetting = 0; - var status = nil; - - var reset = func { - if (status != 1) { - setprop("/sim/headtracker/control", 1); - resetting = 1; - view.resetViewPos(); - view.resetViewDir(); - x.value = y.value = z.value = h.value = p.value = r.value = 0; - } - } - - setlistener("/sim/headtracker/status", func(n) { - var s = n.getValue(); - if (!status and s) { - setprop("/sim/headtracker/control", 0); - resetting = 0; - } - status = s; - }, 1, 0); - - - var loop = func { - if (!view.index and !resetting) { - x.apply(getprop("/sim/headtracker/x-m")); - y.apply(getprop("/sim/headtracker/y-m")); - z.apply(getprop("/sim/headtracker/z-m")); - - h.apply(getprop("/sim/headtracker/heading-deg")); - p.apply(getprop("/sim/headtracker/pitch-deg")); - r.apply(-1 * getprop("/sim/headtracker/roll-deg")); - } - settimer(loop, 0); - } - - loop(); - - </script> - </headtracker> - </nasal> - - <sim> - <headtracker> - <x-m type="double">0</x-m> - <y-m type="double">0</y-m> - <z-m type="double">0</z-m> - <heading-deg type="double">0</heading-deg> - <pitch-deg type="double">0</pitch-deg> - <roll-deg type="double">0</roll-deg> - <status type="int">0</status> - <control type="int">0</control> - </headtracker> - </sim> -</PropertyList> diff --git a/facetracknoir/clientfiles/FlightGear/Protocol/headtracker.xml b/facetracknoir/clientfiles/FlightGear/Protocol/headtracker.xml index cd1d0dad..8c14119a 100644 --- a/facetracknoir/clientfiles/FlightGear/Protocol/headtracker.xml +++ b/facetracknoir/clientfiles/FlightGear/Protocol/headtracker.xml @@ -11,57 +11,44 @@ <chunk> <name>x</name> <type>double</type> - <node>/sim/headtracker/x-m</node> + <node>/sim/current-view/x-offset-m</node> </chunk> <chunk> <name>y</name> <type>double</type> - <node>/sim/headtracker/y-m</node> + <node>/sim/current-view/y-offset-m</node> </chunk> <chunk> <name>z</name> <type>double</type> - <node>/sim/headtracker/z-m</node> + <node>/sim/current-view/z-offset-m</node> </chunk> <chunk> <name>heading</name> <type>double</type> - <node>/sim/headtracker/heading-deg</node> + <node>/sim/current-view/heading-offset-deg</node> </chunk> <chunk> <name>pitch</name> <type>double</type> - <node>/sim/headtracker/pitch-deg</node> + <node>/sim/current-view/pitch-offset-deg</node> </chunk> <chunk> <name>roll</name> <type>double</type> - <node>/sim/headtracker/roll-deg</node> + <node>/sim/current-view/roll-offset-deg</node> </chunk> <chunk> <name>status</name> <type>int</type> - <node>/sim/headtracker/status</node> + <node>/sim/current-view/headtracker-debug-status</node> </chunk> </input> - - <output> - <binary_mode>true</binary_mode> - <binary_footer>none</binary_footer> - <byte_order>host</byte_order> - <record_length>4</record_length> - - <chunk> - <name>control</name> - <type>int</type> - <node>/sim/headtracker/control</node> - </chunk> - </output> </generic> </PropertyList> |