Board index FlightGear Development Aircraft

Looking for aircraft with 'paper cut' bugs

Questions and discussion about creating aircraft. Flight dynamics, 3d models, cockpits, systems, animation, textures.

Re: Looking for aircraft with 'paper cut' bugs

Postby bugman » Sun May 10, 2015 7:09 pm

Necolatis wrote in Sun May 10, 2015 7:01 pm:Remember if the files are used as <type>avionics</type> then you cannot split them into 2 sources positioned differently, as positions is ignored for this type, then you should downmix.


If you look at the file list and audit, you'll see that most that fit in this category have an 'I' at the front. This means that the content in both channels is identical. So it is easier to just drop channel 2, as I proposed.

But do you know why this is not used? I would prefer to not lose information in this case as the better solution is to fix this apparent bug. Noises come from different places in the cockpit, and this should be handled very well by the 3D sound engine and move with your view.
bugman
Moderator
 
Posts: 1808
Joined: Thu Mar 19, 2015 10:01 am
Version: next

Re: Looking for aircraft with 'paper cut' bugs

Postby Necolatis » Sun May 10, 2015 7:20 pm

Well, I guess its to simulate when pilot get sounds in the headphones, at least that's how i mostly use it.
"Airplane travel is nature's way of making you look like your passport photo."
— Al Gore
User avatar
Necolatis
 
Posts: 2233
Joined: Mon Oct 29, 2012 1:40 am
Location: EKOD
Callsign: Leto
IRC name: Neco
Version: 2020.3.19
OS: Windows 10

Re: Looking for aircraft with 'paper cut' bugs

Postby bugman » Sun May 10, 2015 7:25 pm

3D positioning of avionics is used in aircraft, for example in the MiG-15:

Code: Select all
   <radio-search-left>
      <name>radio-search-left</name>
      <path>Aircraft/MiG-15/Sounds/radio-search-left.wav</path>
      <mode>looped</mode>
      <type>avionics</type>
      <condition>
         <and>
            <equals>
               <property>sounds/radio-search-left/on</property>
               <value>1</value>
            </equals>
            <equals>
               <property>sim/current-view/internal</property>
               <value>true</value>   
            </equals>
         </and>
      </condition>
      <position>
         <x>0.0</x>
         <y>0.5</y>
         <z>0.0</z>
      </position>
      <volume>
         <property>sounds/radio-search-left/volume-norm</property>
      </volume>
   </radio-search-left>

   <radio-search-right>
      <name>radio-search-right</name>
      <path>Aircraft/MiG-15/Sounds/radio-search-right.wav</path>
      <mode>looped</mode>
      <type>avionics</type>
      <condition>
         <and>
            <equals>
               <property>sounds/radio-search-right/on</property>
               <value>1</value>
            </equals>
            <equals>
               <property>sim/current-view/internal</property>
               <value>true</value>   
            </equals>
         </and>
      </condition>
      <position>
         <x>0.0</x>
         <y>-0.5</y>
         <z>0.0</z>
      </position>
      <volume>
         <property>sounds/radio-search-right/volume-norm</property>
      </volume>
   </radio-search-right>


But I guess you are referring to this message thread by Erik Hofman:


From what I can see, the sound engine will perform the mixing for you. So for stereo sounds, we can just split it as two mono sources. This prevents information loss in case the aircraft author decides in the future to remove it from the avionics grouping, or if the sound system in the future becomes more advanced and the avionics 3D sound position is in some way restored (for example if 3D position is respected but there is no distance dependent drop-off of volume).
bugman
Moderator
 
Posts: 1808
Joined: Thu Mar 19, 2015 10:01 am
Version: next

Re: Looking for aircraft with 'paper cut' bugs

Postby bugman » Sun May 10, 2015 7:28 pm

Necolatis wrote in Sun May 10, 2015 7:20 pm:Well, I guess its to simulate when pilot get sounds in the headphones, at least that's how i mostly use it.


Sounds like it should be called the <type>headphones</type> group then :) Hmmm, how do you simulate putting the headphones on and taking them off I wonder?
bugman
Moderator
 
Posts: 1808
Joined: Thu Mar 19, 2015 10:01 am
Version: next

Re: Looking for aircraft with 'paper cut' bugs

Postby Necolatis » Sun May 10, 2015 7:34 pm

Another use for example is flaps or gears. That sound should not come directly from the component (if the plane has a cockpit), that sound propagates through the fuselage and such comes from all over the cockpit.
"Airplane travel is nature's way of making you look like your passport photo."
— Al Gore
User avatar
Necolatis
 
Posts: 2233
Joined: Mon Oct 29, 2012 1:40 am
Location: EKOD
Callsign: Leto
IRC name: Neco
Version: 2020.3.19
OS: Windows 10

Re: Looking for aircraft with 'paper cut' bugs

Postby bugman » Sun May 10, 2015 7:42 pm

Necolatis wrote in Sun May 10, 2015 7:34 pm:Another use for example is flaps or gears. That sound should not come directly from the component (if the plane has a cockpit), that sound propagates through the fuselage and such comes from all over the cockpit.


That might need to brought up with the aircraft developers who originally created different left and right stereo channels prior to the 3D sound engine to simulate a sound difference in their speakers. That was their original intent, and I'll respect that. They are free to improve the sound system in their aircraft at a later point, or to respond to the devel list message and say that they'll look after the problem in their aircraft. I'll just fix the base problem, and preserve all sound information content for the aircraft authors to later work with.
bugman
Moderator
 
Posts: 1808
Joined: Thu Mar 19, 2015 10:01 am
Version: next

Re: Looking for aircraft with 'paper cut' bugs

Postby Thorsten » Sun May 10, 2015 7:59 pm

Having a PhD and being condescending doesn't make one an expert on fdm development that's my argument.... Not the amount of time spent.


We can agree on that one. It's about understanding what the data mean in the context of the equations of motion. Where you occasionally have... interesting... ideas :-)

'magic numbers' are rife in fdm development here, with the aim of making the plane hit the numbers.... Not fly correctly.

My opInion is that looking at the code that makes up the flight model against published data, this data being distributed with the fdm is the start of understanding the quality of a flight model.



See, we discussed that in this very thread. If you have a complete set of data, no problem. If you don't and mindlessly put in what you have, but only what you have, you invite all sorts of mistakes. JSBSim doesn't magically extrapolate your data - if you have tons of data data in the subsonic region and you push the FDM transonic in a dive, you're going to be *wrong* no matter your data - because there's wave drag. So you need to put it in.

And short of having the real data, the next best thing is understanding what the data you have means, how wavedrag parametrically scales and make the best guess based on the performance you expect / know you need to reach what to put in.

Reliance on numbers is just as bad as ignoring numbers if you don't know what the numbers really mean.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Looking for aircraft with 'paper cut' bugs

Postby Bomber » Sun May 10, 2015 8:38 pm

I can't disagree with what you've said there....But I will add this...

It's almost impossible to expect to have all the data you'll need, be it because it never existed or because of intellectual rights, so you're going to have gaps, that need filling.

The understanding of how to fill those gaps is what flight modelling is about... It's not written in text books because no one but us has ever felt the need.

Simon
"If anyone ever tells you anything about an aeroplane which is so bloody complicated you can't understand it, take it from me - it's all balls" - R J Mitchel
Bomber
 
Posts: 1933
Joined: Fri Dec 14, 2007 8:06 pm
OS: Windows XP and 10

Re: Looking for aircraft with 'paper cut' bugs

Postby clrCoda » Wed May 13, 2015 11:21 pm

Speaking to ratings...

The ranking of "best novels the world has ever read" often comes in two flavors. "Expert's lists" and popular lists.

A ranking of planes should also include an averaging of user likes.
A ranking of planes should also include an expert opinion as to reality.
The two might be quite divergent, and often the user likes may have more weight, being that users use while experts critique.
Ray St. Marie
clrCoda
 
Posts: 1225
Joined: Wed Apr 07, 2010 12:04 pm

Re: Looking for aircraft with 'paper cut' bugs

Postby Johan G » Wed May 13, 2015 11:40 pm

An interesting point. :)
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Some YouTube videos
Johan G
Moderator
 
Posts: 6629
Joined: Fri Aug 06, 2010 6:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 2020.3.4
OS: Windows 10, 64 bit

Re: Looking for aircraft with 'paper cut' bugs

Postby pommesschranke » Thu May 14, 2015 9:57 am

a way to find 'paper cut' bugs:

* install as many planes as you can
* start flightgear on a Saturday evening with this options:
Code: Select all
fgfs --multiplay=out,10,mpserver01.flightgear.org,5000  --callsign=obs-XYZ

(XYZ is any number of your choice)

then you'll see many error messages ( on the console output )from aircraft of all the other MP players like this:

Code: Select all
Nasal runtime error: undefined symbol: aircraft_dual_control
  at /SDB2/submodules/Aircraft/A320-family/XMLs/A320-111.xml, line 2
osgDB ac3d reader: could not find texture "Aircraft/fokker50/Models/mainpanel.rgb"

osgDB ac3d reader: could not find texture "mainpanel.rgb"

Could not find at least one of the following objects for animation: 'gmt'
Could not find at least one of the following objects for animation: 'lt'
Could not find at least one of the following objects for animation: 'ft'
Could not find at least one of the following objects for animation: 'et'
Could not find at least one of the following objects for animation: 'R.slat'
Could not find at least one of the following objects for animation: 'L.slat'
Could not find at least one of the following objects for animation: 'LHengFire.001', 'RHengFire.001'
Could not find at least one of the following objects for animation: 'Fuel.off'
Could not find at least one of the following objects for animation: 'Fire.test'
Could not find at least one of the following objects for animation: 'Indselect.toggle'
Could not find at least one of the following objects for animation: 'Lnd.toggle'
Could not find at least one of the following objects for animation: 'Taxi.toggle'
Could not find at least one of the following objects for animation: 'Nav.toggle'
Could not find at least one of the following objects for animation: 'Bcn.toggle'
Could not find at least one of the following objects for animation: 'Strb.toggle'
Could not find at least one of the following objects for animation: 'Batt.toggle'
Could not find at least one of the following objects for animation: 'LHgen.toggle'
Could not find at least one of the following objects for animation: 'RHgen.toggle'
Could not find at least one of the following objects for animation: 'Flaplever'
Could not find at least one of the following objects for animation: 'LHprop'
Could not find at least one of the following objects for animation: 'RHprop'
Could not find at least one of the following objects for animation: 'LHcondition'
Could not find at least one of the following objects for animation: 'RHcondition'
Could not find at least one of the following objects for animation: 'FLG.door'
Could not find at least one of the following objects for animation: 'Lfuel.cutoff'
Could not find at least one of the following objects for animation: 'Rfuel.cutoff'
Could not find at least one of the following objects for animation: 'Firetest.bezel'
Could not find at least one of the following objects for animation: 'LHind.select'
Could not find at least one of the following objects for animation: 'RHind.select'
Could not find at least one of the following objects for animation: 'Lnd.bezel'
Could not find at least one of the following objects for animation: 'Taxi.bezel'
Could not find at least one of the following objects for animation: 'Nav.bezel'
Could not find at least one of the following objects for animation: 'Bcn.bezel'
Could not find at least one of the following objects for animation: 'Strb.bezel'
Could not find at least one of the following objects for animation: 'Batt.bezel'
Could not find at least one of the following objects for animation: 'LHgen.bezel'
Could not find at least one of the following objects for animation: 'RHgen.bezel'
Failed to load file: "Models/Lockheed1049h_Cockpit.xml"
Failed to load file: "Models/Lockheed1049h_Antennas.xml"
Failed to load file: "Models/Lockheed1049h_Lights.xml"
Failed to load file: "Models/Lockheed1049h_Props.xml"
Failed to load file: "Models/Lockheed1049h_ParticleEffects.xml"
Failed to load file: "Models/Instruments/wiper/wiperleft.xml"
Failed to load file: "Models/Instruments/wiper/wiperright.xml"
Could not find at least one of the following objects for animation: 'Cockpit'
Could not find at least one of the following objects for animation: 'Antennas'
loadxml: Cannot find XML property file 'Aircraft/MD-11/Models/Liveries/TIK.xml'.
Failed to load file: "Models/Aircraft/strobe.xml"
loadxml: Cannot find XML property file 'Aircraft/777/Models/Liveries-200/TAY.xml'.
LOAD f-14b /ai/models/multiplayer[25]
Cannot stat file: /SDB2/fg-fgmeta/install/flightgear/fgdata/Aircraft/f-14b/Systems/mp-network.nas:
 at /SDB2/fg-fgmeta/install/flightgear/fgdata/Nasal/io.nas, line 4
  called from: /SDB2/fg-fgmeta/install/flightgear/fgdata/Nasal/io.nas, line 84
  called from: /SDB2/submodules/Aircraft/f-14b/Models/f14.ac, line 84
Nasal runtime error: No such member: mp_network_init
  at /SDB2/submodules/Aircraft/f-14b/Models/f14.ac, line 17
UNLOAD f-14b /ai/models/multiplayer[25]
loadxml: Cannot find XML property file 'Models/Liveries/TWA.xml'.
loadxml: Cannot find XML property file 'Aircraft/C-160-Transall/Models/Liveries/Luftwaffe_LTG_63.xml'.
loadxml: Cannot find XML property file 'Aircraft/777/Models/Liveries-200/AFR.xml'.
osgDB ac3d reader: could not find texture "overhead_switches.png"

Texture file not found: 'Aircraft/747-400/Models/Effects/lightmap_overhead_switches.png'
Could not find at least one of the following objects for animation: 'stab.trim.greenband'
Failed to load file: "Models/Aircraft/strobe.xml"
loadxml: Cannot find XML property file 'Aircraft/747-400/Models/Liveries/swordmen.xml'.
Failed to load file: "Models/Lockheed1049h_Cockpit.xml"
Failed to load file: "Models/Lockheed1049h_Antennas.xml"
Failed to load file: "Models/Lockheed1049h_Lights.xml"
Failed to load file: "Models/Lockheed1049h_Props.xml"
Failed to load file: "Models/Lockheed1049h_ParticleEffects.xml"
Failed to load file: "Models/Instruments/wiper/wiperleft.xml"
Failed to load file: "Models/Instruments/wiper/wiperright.xml"
Could not find at least one of the following objects for animation: 'Cockpit'
Could not find at least one of the following objects for animation: 'Antennas'
osgDB ac3d reader: could not find texture "Aircraft/fokker50/Models/mainpanel.rgb"

pommesschranke
 
Posts: 1117
Joined: Sat Apr 27, 2013 8:58 pm
Location: EDLM & LJCE
Callsign: d-laser
IRC name: laserman
Version: git
OS: Linux Kubuntu 22.04

Re: Looking for aircraft with 'paper cut' bugs

Postby bugman » Thu May 14, 2015 10:47 am

pommesschranke wrote in Thu May 14, 2015 9:57 am:a way to find 'paper cut' bugs:

* install as many planes as you can
* start flightgear on a Saturday evening with this options:
Code: Select all
fgfs --multiplay=out,10,mpserver01.flightgear.org,5000  --callsign=obs-XYZ

(XYZ is any number of your choice)

then you'll see many error messages ( on the console output )from aircraft of all the other MP players like this:


I've been observing this. To me it sounds like a far better solution is to tackle the source of the problem, rather forcing changes to all aircraft as is the current trend. And the source sounds like non-optimal path handing in the MP code. Or at least the path handling in this part of the code is different from the other FG model loading code. So from my programming experience, I see this as a single point failure. I am not familiar with the MP code yet, so I don't know if this is a one line fix or if it will require a large patch set.
bugman
Moderator
 
Posts: 1808
Joined: Thu Mar 19, 2015 10:01 am
Version: next

Re: Looking for aircraft with 'paper cut' bugs

Postby clrCoda » Thu May 14, 2015 11:59 am

I believe what pommesschranke was trying to demonstrate here was a way to find planes needing repair. It's kind of clever as it seems to single out planes to repair first by actual usage.

Okay, so what this is about is that when you use OBS on MP and you happen to have all the planes installed that also happen to be currently flying in the multiplayer environment, then you being OBS will suddenly get mp messages to load all of those planes from your install into memory, hence kicking off all of the errors that happen to be in the planes in your install into the console for you to see them.

hehe brilliant.

Doesn't show every plane with an error, but does show errors for every plane currently being used on a Saturday night ( most popular usage night?) that you also happen to have installed. If you install every possible plane, you get the best error return of those being used currently in MP while you are OBS the observer.

Neat.
Ray St. Marie
clrCoda
 
Posts: 1225
Joined: Wed Apr 07, 2010 12:04 pm

Re: Looking for aircraft with 'paper cut' bugs

Postby IAHM-COL » Thu May 14, 2015 3:45 pm

pommesschranke wrote in Thu May 14, 2015 9:57 am:a way to find 'paper cut' bugs:

* install as many planes as you can
* start flightgear on a Saturday evening with this options:
Code: Select all
fgfs --multiplay=out,10,mpserver01.flightgear.org,5000  --callsign=obs-XYZ

(XYZ is any number of your choice)

then you'll see many error messages ( on the console output )from aircraft of all the other MP players like this:



This is very clever D-LASER, but I see one problem.
It is complicated for me to explain the problem, so bare with me: [The CRJ700 example below is hypothetical!]

Many of these error messages you are seeing are actually missing dependencies. --as in file missing. But this files, it appears to me are missing locally, and thus the error could theoretical be corrected by installing the dependency plane, locally.

Let's explain my train of thought as an example:

Lets say pilot A flies the CRJ700-Family, and this has dependencies on the 737-300 and the 777. If pilot A does not also have these aircrafts installed, his CRJ700 is failing (ie, it may be missing some instruments on the cockpit-tipically). And he gets a lot of missing files errors on the log.

the observer comes and has the 3 planes installed. The observer does not get these errors, because the observer's CRJ700 is also finding the observer's 737-300 and 777. Clearly the observer not only does not get the error, but also needs not those instruments.

Doing your test with "all aircraft installed" will have minimal finding of missing files errors. Or, probably will not find all iterations of missing dependencies.

I suggest another approach to find where aircraft dependencies exist. I say using grep to search for the text "Aircraft/" in all xmls in the aircraft directory. Then use the "basename" of the directory to grep inverse (-v), so when the line is "Aircraft/CRJ700" the line is filtered out. Then the lines left, may indicate dependencies that could or could not be missing.
The solution is to duplicate locally (to the CRJ700) those files and redirect to the CRJ700 (as oppose to the 737 or the 777). This way correcting all dependencies on the CRJ700.

then the script needs to be executed over ALL aircraft, changing the basename.

After fixing all aircrafts depending on each other (excluding Expansion Packs, such as ExpansionPack, FGUK-Loads, JPack, DavePack, etc, which are intended dependencies; and excluding dependencies to the base aircraft could be acceptable as well. Generic, ufo, c172p, Generic-3d)

then doing your clever test over a computer with all aircraft installed should be way more silent, but also, the errors found be more pertinent.

We can see below that the CRJ700 does not have dependencies anymore. except to Generic.
Note: $(basename $PWD) outputs CRJ700-family, when inside that directory
Code: Select all
israel@linux-hkow:~/local/source/fgdataNew/Aircraft/CRJ700-family> grep -h "Aircraft/" *xml  | grep -v $(basename $PWD)
         <file>Aircraft/Generic/DualControl/dual-control-tools.nas</file>
         <file>Aircraft/Generic/DualControl/copilot-dual-control.nas</file>
            <!--radar-texture-path type="string">Aircraft/777/Models/Instruments/MFD/od_wxradar.png</radar-texture-path>
            <symbol-texture-path type="string">Aircraft/777/Models/Instruments/MFD/nd_symbols.png</symbol-texture-path-->
            <file>Aircraft/Generic/DualControl/dual-control-tools.nas</file>
            <file>Aircraft/Generic/DualControl/pilot-dual-control.nas</file>


We can see the 737-100 has a potentially missing dependency to the Tu-134, in one Nasal file
Code: Select all
israel@linux-hkow:~/local/source/fgdataNew/Aircraft/737-100> grep -h "Aircraft/" *xml  | grep -v $(basename $PWD)
        <path>Aircraft/Generic/generic-electrical.xml</path>
      <file>Aircraft/Generic/Engines/generic-yasim-engine.nas</file>
      <file>Aircraft/Tu-134/Nasal/engines-yasim.nas</file>
If we gave everybody in the World free software today, but we failed to teach them about the four freedoms, five years from now, would they still have it? Probably not, because if they don’t recognise their freedoms, they’ll let their freedoms fall
User avatar
IAHM-COL
Retired
 
Posts: 4057
Joined: Wed Aug 08, 2012 6:40 pm
Location: Homey, NV (KXTA) - U.S.A
Callsign: HK-424D or ICAO4243
Version: 3.7-git
OS: Linux

Re: Looking for aircraft with 'paper cut' bugs

Postby IAHM-COL » Thu May 14, 2015 3:53 pm

As you can see here,


https://github.com/FGMEMBERS/737-100/commit/3333e0e5322da22e448e807d530d882627ef4bfc

In the case of the 737-100, solving the dependency error was extremely simple. The most challenging part was actually finding the bug
If we gave everybody in the World free software today, but we failed to teach them about the four freedoms, five years from now, would they still have it? Probably not, because if they don’t recognise their freedoms, they’ll let their freedoms fall
User avatar
IAHM-COL
Retired
 
Posts: 4057
Joined: Wed Aug 08, 2012 6:40 pm
Location: Homey, NV (KXTA) - U.S.A
Callsign: HK-424D or ICAO4243
Version: 3.7-git
OS: Linux

PreviousNext

Return to Aircraft

Who is online

Users browsing this forum: TheEagle and 16 guests